cmpatino commited on
Commit
9d640ed
1 Parent(s): fc66475

Add better description of the space

Browse files
Files changed (1) hide show
  1. app.py +30 -8
app.py CHANGED
@@ -87,13 +87,29 @@ def get_proba_plots(
87
 
88
 
89
  with gr.Blocks() as demo:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  with gr.Row():
91
  with gr.Column(scale=3):
92
- gr.Markdown(
93
- "Choose the type of model and the weight of each model in the final vote." # noqa: E501
94
- + " For example if you set weights to 1, 1, 5 for the three models,"
95
- + " the third model will have 5 times more weight than the other two models." # noqa: E501
96
- )
97
  with gr.Row():
98
  model_1 = gr.Dropdown(
99
  [
@@ -104,7 +120,9 @@ with gr.Blocks() as demo:
104
  label="Model 1",
105
  value="Logistic Regression",
106
  )
107
- model_1_weight = gr.Number(value=1, label="Model 1 Weight", precision=0)
 
 
108
  with gr.Row():
109
  model_2 = gr.Dropdown(
110
  [
@@ -115,7 +133,9 @@ with gr.Blocks() as demo:
115
  label="Model 2",
116
  value="Random Forest",
117
  )
118
- model_2_weight = gr.Number(value=1, label="Model 2 Weight", precision=0)
 
 
119
  with gr.Row():
120
  model_3 = gr.Dropdown(
121
  [
@@ -127,7 +147,9 @@ with gr.Blocks() as demo:
127
  value="Gaussian Naive Bayes",
128
  )
129
 
130
- model_3_weight = gr.Number(value=5, label="Model 3 Weight", precision=0)
 
 
131
  with gr.Column(scale=4):
132
  proba_plots = gr.Plot()
133
 
 
87
 
88
 
89
  with gr.Blocks() as demo:
90
+ gr.Markdown(
91
+ """
92
+ # Class probabilities by the `VotingClassifier`
93
+
94
+ This space shows the effect of the weight of different classifiers when using sklearn's [VotingClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.VotingClassifier.html#sklearn.ensemble.VotingClassifier).
95
+
96
+ For example, suppose you set the weights as in the table below, and the models have the following predicted probabilities:
97
+
98
+ | | Weights | Predicted Probabilities |
99
+ |---------|:-------:|:----------------:|
100
+ | Model 1 | 1 | 0.5 |
101
+ | Model 2 | 2 | 0.8 |
102
+ | Model 3 | 5 | 0.9 |
103
+
104
+ The predicted probability by the `VotingClassifier` will be $(1*0.5 + 2*0.8 + 5*0.9) / (1 + 2 + 5)$
105
+
106
+ You can experiment with different model types and weights and see their effect on the VotingClassifier's prediction.
107
+
108
+ This space is based on [sklearn’s original demo](https://scikit-learn.org/stable/auto_examples/ensemble/plot_voting_probas.html#sphx-glr-auto-examples-ensemble-plot-voting-probas-py).
109
+ """
110
+ )
111
  with gr.Row():
112
  with gr.Column(scale=3):
 
 
 
 
 
113
  with gr.Row():
114
  model_1 = gr.Dropdown(
115
  [
 
120
  label="Model 1",
121
  value="Logistic Regression",
122
  )
123
+ model_1_weight = gr.Slider(
124
+ value=1, label="Model 1 Weight", max=10, step=1
125
+ )
126
  with gr.Row():
127
  model_2 = gr.Dropdown(
128
  [
 
133
  label="Model 2",
134
  value="Random Forest",
135
  )
136
+ model_2_weight = gr.Slider(
137
+ value=1, label="Model 2 Weight", max=10, step=1
138
+ )
139
  with gr.Row():
140
  model_3 = gr.Dropdown(
141
  [
 
147
  value="Gaussian Naive Bayes",
148
  )
149
 
150
+ model_3_weight = gr.Slider(
151
+ value=5, label="Model 3 Weight", max=10, step=1
152
+ )
153
  with gr.Column(scale=4):
154
  proba_plots = gr.Plot()
155