Spaces:
Sleeping
Sleeping
EduardoPach
commited on
Commit
·
f4448ff
1
Parent(s):
6f11e8c
Proposed changes
Browse files
app.py
CHANGED
|
@@ -8,10 +8,10 @@ import plotly.graph_objects as go
|
|
| 8 |
def plot_decision(
|
| 9 |
clf: SVC,
|
| 10 |
X: np.ndarray,
|
|
|
|
| 11 |
x_range: np.array,
|
| 12 |
y_range: np.array,
|
| 13 |
weights: np.array,
|
| 14 |
-
colors: list[str],
|
| 15 |
title: str
|
| 16 |
):
|
| 17 |
# plot the decision function
|
|
@@ -28,7 +28,7 @@ def plot_decision(
|
|
| 28 |
x=x_range,
|
| 29 |
y=y_range,
|
| 30 |
z=Z,
|
| 31 |
-
colorscale="
|
| 32 |
opacity=0.75,
|
| 33 |
showscale=False,
|
| 34 |
)
|
|
@@ -40,7 +40,8 @@ def plot_decision(
|
|
| 40 |
y=X[:, 1],
|
| 41 |
mode="markers",
|
| 42 |
marker=dict(
|
| 43 |
-
color=
|
|
|
|
| 44 |
size=(weights + 5) * 2
|
| 45 |
),
|
| 46 |
)
|
|
@@ -76,25 +77,24 @@ def app_fn(seed: int, weight_1: int, weight_2: int):
|
|
| 76 |
|
| 77 |
# Plotting
|
| 78 |
x_range = np.arange(-4, 5, 0.1)
|
| 79 |
-
colors = np.where(np.array(y)==1, "white", "black")
|
| 80 |
|
| 81 |
fig_no_weights = plot_decision(
|
| 82 |
clf_no_weights,
|
| 83 |
X,
|
|
|
|
| 84 |
x_range,
|
| 85 |
x_range,
|
| 86 |
-
sample_weight_constant,
|
| 87 |
-
colors,
|
| 88 |
"SVM without Weights"
|
| 89 |
)
|
| 90 |
|
| 91 |
fig_weights = plot_decision(
|
| 92 |
clf_weights,
|
| 93 |
X,
|
|
|
|
| 94 |
x_range,
|
| 95 |
x_range,
|
| 96 |
sample_weight_last_ten,
|
| 97 |
-
colors,
|
| 98 |
"SVM with Weights"
|
| 99 |
)
|
| 100 |
|
|
@@ -122,12 +122,14 @@ with gr.Blocks(title=title) as demo:
|
|
| 122 |
seed = gr.inputs.Slider(0, 100, 1, default=0, label="Seed")
|
| 123 |
weight_1 = gr.inputs.Slider(0, 20, 1, default=5, label="Weight for last 5 Samples")
|
| 124 |
weight_2 = gr.inputs.Slider(0, 20, 1, default=15, label="Weight for Sample 10")
|
| 125 |
-
btn = gr.Button("Run")
|
| 126 |
with gr.Row():
|
| 127 |
fig_no_weights = gr.Plot(label="SVM without Weights")
|
| 128 |
fig_weights = gr.Plot(label="SVM with Weights")
|
| 129 |
|
| 130 |
-
|
|
|
|
|
|
|
| 131 |
demo.load(fn=app_fn, outputs=[fig_no_weights, fig_weights], inputs=[seed, weight_1, weight_2])
|
| 132 |
|
| 133 |
demo.launch()
|
|
|
|
| 8 |
def plot_decision(
|
| 9 |
clf: SVC,
|
| 10 |
X: np.ndarray,
|
| 11 |
+
y: np.array,
|
| 12 |
x_range: np.array,
|
| 13 |
y_range: np.array,
|
| 14 |
weights: np.array,
|
|
|
|
| 15 |
title: str
|
| 16 |
):
|
| 17 |
# plot the decision function
|
|
|
|
| 28 |
x=x_range,
|
| 29 |
y=y_range,
|
| 30 |
z=Z,
|
| 31 |
+
colorscale="Viridis",
|
| 32 |
opacity=0.75,
|
| 33 |
showscale=False,
|
| 34 |
)
|
|
|
|
| 40 |
y=X[:, 1],
|
| 41 |
mode="markers",
|
| 42 |
marker=dict(
|
| 43 |
+
color=y,
|
| 44 |
+
colorscale="viridis",
|
| 45 |
size=(weights + 5) * 2
|
| 46 |
),
|
| 47 |
)
|
|
|
|
| 77 |
|
| 78 |
# Plotting
|
| 79 |
x_range = np.arange(-4, 5, 0.1)
|
|
|
|
| 80 |
|
| 81 |
fig_no_weights = plot_decision(
|
| 82 |
clf_no_weights,
|
| 83 |
X,
|
| 84 |
+
y,
|
| 85 |
x_range,
|
| 86 |
x_range,
|
| 87 |
+
sample_weight_constant,
|
|
|
|
| 88 |
"SVM without Weights"
|
| 89 |
)
|
| 90 |
|
| 91 |
fig_weights = plot_decision(
|
| 92 |
clf_weights,
|
| 93 |
X,
|
| 94 |
+
y,
|
| 95 |
x_range,
|
| 96 |
x_range,
|
| 97 |
sample_weight_last_ten,
|
|
|
|
| 98 |
"SVM with Weights"
|
| 99 |
)
|
| 100 |
|
|
|
|
| 122 |
seed = gr.inputs.Slider(0, 100, 1, default=0, label="Seed")
|
| 123 |
weight_1 = gr.inputs.Slider(0, 20, 1, default=5, label="Weight for last 5 Samples")
|
| 124 |
weight_2 = gr.inputs.Slider(0, 20, 1, default=15, label="Weight for Sample 10")
|
| 125 |
+
# btn = gr.Button("Run")
|
| 126 |
with gr.Row():
|
| 127 |
fig_no_weights = gr.Plot(label="SVM without Weights")
|
| 128 |
fig_weights = gr.Plot(label="SVM with Weights")
|
| 129 |
|
| 130 |
+
seed.change(fn=app_fn, outputs=[fig_no_weights, fig_weights], inputs=[seed, weight_1, weight_2])
|
| 131 |
+
weight_1.change(fn=app_fn, outputs=[fig_no_weights, fig_weights], inputs=[seed, weight_1, weight_2])
|
| 132 |
+
weight_2.change(fn=app_fn, outputs=[fig_no_weights, fig_weights], inputs=[seed, weight_1, weight_2])
|
| 133 |
demo.load(fn=app_fn, outputs=[fig_no_weights, fig_weights], inputs=[seed, weight_1, weight_2])
|
| 134 |
|
| 135 |
demo.launch()
|