mertkarabacak commited on
Commit
4cb6ee4
·
1 Parent(s): dcc0c48

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +91 -31
app.py CHANGED
@@ -67,16 +67,16 @@ g2_y4_valid = g2_x4_valid.pop('OUTCOME')
67
 
68
 
69
  #Assign hyperparameters (g2).
70
- g2_y1_params = {'objective': 'binary:logistic', 'booster': 'gbtree', 'lambda': 0.009931126321758296, 'alpha': 1.5117729868865979e-05, 'max_depth': 4, 'eta': 0.00026829123048597897, 'gamma': 5.2949738366436485e-05, 'grow_policy': 'depthwise', 'eval_metric': 'auc', 'verbosity': 0, 'seed': 31}
71
  g2_y2_params = {'objective': 'binary', 'boosting_type': 'gbdt', 'lambda_l1': 6.121600211393574e-07, 'lambda_l2': 0.0028998418721597743, 'num_leaves': 2, 'feature_fraction': 0.6798107660641116, 'bagging_fraction': 0.42950125330169564, 'bagging_freq': 7, 'min_child_samples': 87, 'metric': 'binary_logloss', 'verbosity': -1, 'random_state': 31}
72
  g2_y3_params = {'objective': 'binary', 'boosting_type': 'gbdt', 'lambda_l1': 6.806711570427862e-07, 'lambda_l2': 0.003064768550805565, 'num_leaves': 2, 'feature_fraction': 0.6780931825384188, 'bagging_fraction': 0.5046150209604292, 'bagging_freq': 3, 'min_child_samples': 69, 'metric': 'binary_logloss', 'verbosity': -1, 'random_state': 31}
73
  g2_y4_params = {'criterion': 'gini', 'max_features': 'log2', 'max_depth': 5, 'n_estimators': 800, 'min_samples_leaf': 3, 'min_samples_split': 2, 'random_state': 31}
74
 
75
  #Training models (g2).
76
 
77
- from xgboost import XGBClassifier
78
- xgb = XGBClassifier(**g2_y1_params)
79
- g2_y1_model = xgb
80
  g2_y1_model = g2_y1_model.fit(g2_x1, g2_y1)
81
  g2_y1_explainer = shap.Explainer(g2_y1_model.predict, g2_x1)
82
  g2_y1_calib_probs = g2_y1_model.predict_proba(g2_x1_valid)
@@ -523,7 +523,7 @@ with gr.Blocks(title = "NCDB-G2G3 Glioma") as demo:
523
 
524
  gr.Markdown(
525
  """
526
- <center><h3>Model Performances</h3></center>
527
  <div style="text-align:center;">
528
  <table style="width:100%;">
529
  <tr>
@@ -538,43 +538,103 @@ with gr.Blocks(title = "NCDB-G2G3 Glioma") as demo:
538
  </tr>
539
  <tr>
540
  <td>12-Month Mortality</td>
541
- <td>LightGBM</td>
542
- <td>0.758 (0.745 - 0.771)</td>
543
- <td>0.836 (0.825 - 0.847)</td>
544
- <td>0.821 (0.810 - 0.832)</td>
545
- <td>0.649 (0.635 - 0.663)</td>
546
- <td>0.889 (0.865 - 0.890)</td>
547
- <td>0.101 (0.092 - 0.110)</td>
548
  </tr>
549
  <tr>
550
  <td>24-Month Mortality</td>
551
  <td>LightGBM</td>
552
- <td>0.771 (0.758 - 0.784)</td>
553
- <td>0.844 (0.833 - 0.855)</td>
554
- <td>0.822 (0.811 - 0.833)</td>
555
- <td>0.783 (0.771 - 0.795)</td>
556
- <td>0.892 (0.873 - 0.894)</td>
557
- <td>0.123 (0.113 - 0.133)</td>
558
  </tr>
559
  <tr>
560
  <td>36-Month Mortality</td>
561
  <td>LightGBM</td>
562
- <td>0.771 (0.758 - 0.784)</td>
563
- <td>0.825 (0.813 - 0.837)</td>
564
- <td>0.803 (0.791 - 0.815)</td>
565
- <td>0.834 (0.823 - 0.845)</td>
566
- <td>0.884 (0.865 - 0.886)</td>
567
- <td>0.139 (0.128 - 0.150)</td>
568
  </tr>
569
  <tr>
570
  <td>60-Month Mortality</td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
571
  <td>LightGBM</td>
572
- <td>0.789 (0.775 - 0.803)</td>
573
- <td>0.819 (0.806 - 0.832)</td>
574
- <td>0.802 (0.789 - 0.815)</td>
575
- <td>0.905 (0.895 - 0.915)</td>
576
- <td>0.870 (0.864 - 0.887)</td>
577
- <td>0.142 (0.130 - 0.154)</td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
578
  </tr>
579
  </table>
580
  </div>
@@ -638,7 +698,7 @@ with gr.Blocks(title = "NCDB-G2G3 Glioma") as demo:
638
  """
639
  <center> <h2>12-Month Survival</h2> </center>
640
  <br/>
641
- <center> This model uses the XGBoost algorithm.</center>
642
  <br/>
643
  """
644
  )
 
67
 
68
 
69
  #Assign hyperparameters (g2).
70
+ g2_y1_params = {'criterion': 'gini', 'max_features': 'log2', 'max_depth': 4, 'n_estimators': 900, 'min_samples_leaf': 3, 'min_samples_split': 3, 'random_state': 31}
71
  g2_y2_params = {'objective': 'binary', 'boosting_type': 'gbdt', 'lambda_l1': 6.121600211393574e-07, 'lambda_l2': 0.0028998418721597743, 'num_leaves': 2, 'feature_fraction': 0.6798107660641116, 'bagging_fraction': 0.42950125330169564, 'bagging_freq': 7, 'min_child_samples': 87, 'metric': 'binary_logloss', 'verbosity': -1, 'random_state': 31}
72
  g2_y3_params = {'objective': 'binary', 'boosting_type': 'gbdt', 'lambda_l1': 6.806711570427862e-07, 'lambda_l2': 0.003064768550805565, 'num_leaves': 2, 'feature_fraction': 0.6780931825384188, 'bagging_fraction': 0.5046150209604292, 'bagging_freq': 3, 'min_child_samples': 69, 'metric': 'binary_logloss', 'verbosity': -1, 'random_state': 31}
73
  g2_y4_params = {'criterion': 'gini', 'max_features': 'log2', 'max_depth': 5, 'n_estimators': 800, 'min_samples_leaf': 3, 'min_samples_split': 2, 'random_state': 31}
74
 
75
  #Training models (g2).
76
 
77
+ from sklearn.ensemble import RandomForestClassifier
78
+ rf = RandomForestClassifier(**g2_y1_params)
79
+ g2_y1_model = rf
80
  g2_y1_model = g2_y1_model.fit(g2_x1, g2_y1)
81
  g2_y1_explainer = shap.Explainer(g2_y1_model.predict, g2_x1)
82
  g2_y1_calib_probs = g2_y1_model.predict_proba(g2_x1_valid)
 
523
 
524
  gr.Markdown(
525
  """
526
+ <center><h3>Model Performances for Grade II Gliomas</h3></center>
527
  <div style="text-align:center;">
528
  <table style="width:100%;">
529
  <tr>
 
538
  </tr>
539
  <tr>
540
  <td>12-Month Mortality</td>
541
+ <td>Random Forest</td>
542
+ <td>0.838 (0.822 - 0.854)</td>
543
+ <td>0.814 (0.797 - 0.831)</td>
544
+ <td>0.816 (0.799 - 0.833)</td>
545
+ <td>0.383 (0.361 - 0.405)</td>
546
+ <td>0.888 (0.856 - 0.912)</td>
547
+ <td>0.054 (0.044 - 0.064)</td>
548
  </tr>
549
  <tr>
550
  <td>24-Month Mortality</td>
551
  <td>LightGBM</td>
552
+ <td>0.712 (0.692 - 0.732)</td>
553
+ <td>0.839 (0.822 - 0.856)</td>
554
+ <td>0.823 (0.806 - 0.840)</td>
555
+ <td>0.523 (0.500 - 0.546)</td>
556
+ <td>0.859 (0.804 - 0.867)</td>
557
+ <td>0.054 (0.044 - 0.064)</td>
558
  </tr>
559
  <tr>
560
  <td>36-Month Mortality</td>
561
  <td>LightGBM</td>
562
+ <td>0.653 (0.631 - 0.675)</td>
563
+ <td>0.836 (0.819 - 0.853)</td>
564
+ <td>0.803 (0.785 - 0.821)</td>
565
+ <td>0.564 (0.541 - 0.587)</td>
566
+ <td>0.813 (0.777 - 0.835)</td>
567
+ <td>0.111 (0.096 - 0.126)</td>
568
  </tr>
569
  <tr>
570
  <td>60-Month Mortality</td>
571
+ <td>Random Forest</td>
572
+ <td>0.838 (0.822 - 0.854)</td>
573
+ <td>0.814 (0.797 - 0.831)</td>
574
+ <td>0.816 (0.799 - 0.833)</td>
575
+ <td>0.383 (0.361 - 0.405)</td>
576
+ <td>0.888 (0.856 - 0.912)</td>
577
+ <td>0.054 (0.044 - 0.064)</td>
578
+ </tr>
579
+ </table>
580
+ </div>
581
+ """
582
+ )
583
+
584
+ gr.Markdown(
585
+ """
586
+ <center><h3>Model Performances for Grade III Gliomas</h3></center>
587
+ <div style="text-align:center;">
588
+ <table style="width:100%;">
589
+ <tr>
590
+ <th>Outcome</th>
591
+ <th>Algorithm</th>
592
+ <th>Sensitivity</th>
593
+ <th>Specificity</th>
594
+ <th>Accuracy</th>
595
+ <th>AUPRC</th>
596
+ <th>AUROC</th>
597
+ <th>Brier Score</th>
598
+ </tr>
599
+ <tr>
600
+ <td>12-Month Mortality</td>
601
  <td>LightGBM</td>
602
+ <td>0.768 (0.750 - 0.786)</td>
603
+ <td>0.811 (0.795 - 0.827)</td>
604
+ <td>0.800 (0.783 - 0.817)</td>
605
+ <td>0.725 (0.706 - 0.744)</td>
606
+ <td>0.876 (0.857 - 0.889)</td>
607
+ <td>0.119 (0.106 - 0.132)</td>
608
+ </tr>
609
+ <tr>
610
+ <td>24-Month Mortality</td>
611
+ <td>Random Forest</td>
612
+ <td>0.722 (0.703 - 0.741)</td>
613
+ <td>0.810 (0.794 - 0.826)</td>
614
+ <td>0.796 (0.779 - 0.813)</td>
615
+ <td>0.775 (0.758 - 0.792)</td>
616
+ <td>0.855 (0.839 - 0.870)</td>
617
+ <td>0.153 (0.138 - 0.168)</td>
618
+ </tr>
619
+ <tr>
620
+ <td>36-Month Mortality</td>
621
+ <td>Random Forest</td>
622
+ <td>0.763 (0.745 - 0.781)</td>
623
+ <td>0.827 (0.811 - 0.843)</td>
624
+ <td>0.874 (0.860 - 0.888)</td>
625
+ <td>0.794 (0.777 - 0.811)</td>
626
+ <td>0.878 (0.857 - 0.885)</td>
627
+ <td>0.146 (0.131 - 0.161)</td>
628
+ </tr>
629
+ <tr>
630
+ <td>60-Month Mortality</td>
631
+ <td>LightGBM</td>
632
+ <td>0.816 (0.798 - 0.834)</td>
633
+ <td>0.748 (0.728 - 0.768)</td>
634
+ <td>0.930 (0.918 - 0.942)</td>
635
+ <td>0.795 (0.776 - 0.814)</td>
636
+ <td>0.860 (0.834 - 0.870)</td>
637
+ <td>0.142 (0.126 - 0.158)</td>
638
  </tr>
639
  </table>
640
  </div>
 
698
  """
699
  <center> <h2>12-Month Survival</h2> </center>
700
  <br/>
701
+ <center> This model uses the Random Forest algorithm.</center>
702
  <br/>
703
  """
704
  )