Spaces:
Runtime error
Runtime error
cleanup
Browse files
app.py
CHANGED
@@ -5,26 +5,10 @@ from sklearn.datasets import make_regression
|
|
5 |
import pandas as pd
|
6 |
from sklearn.linear_model import ARDRegression, LinearRegression, BayesianRidge
|
7 |
import matplotlib.pyplot as plt
|
8 |
-
import seaborn as sns
|
9 |
from matplotlib.colors import SymLogNorm
|
10 |
import gradio as gr
|
11 |
|
12 |
|
13 |
-
# def make_regression_data(n_samples=100,
|
14 |
-
# n_features=100,
|
15 |
-
# n_informative=10,
|
16 |
-
# noise=8,
|
17 |
-
# coef=True,
|
18 |
-
# random_state=42,):
|
19 |
-
# X, y, true_weights = make_regression(
|
20 |
-
# n_samples=n_samples,
|
21 |
-
# n_features=n_features,
|
22 |
-
# n_informative=n_informative,
|
23 |
-
# noise=noise,
|
24 |
-
# coef=coef,
|
25 |
-
# random_state=random_state,
|
26 |
-
# )
|
27 |
-
# return X, y, true_weights
|
28 |
|
29 |
X, y, true_weights = make_regression(
|
30 |
n_samples=100,
|
@@ -41,17 +25,6 @@ X, y, true_weights = make_regression(
|
|
41 |
# We now fit both Bayesian models and the OLS to later compare the models'
|
42 |
# coefficients.
|
43 |
|
44 |
-
# olr = LinearRegression().fit(X, y)
|
45 |
-
# brr = BayesianRidge(compute_score=True, n_iter=30).fit(X, y)
|
46 |
-
# ard = ARDRegression(compute_score=True, n_iter=30).fit(X, y)
|
47 |
-
# df = pd.DataFrame(
|
48 |
-
# {
|
49 |
-
# "Weights of true generative process": true_weights,
|
50 |
-
# "ARDRegression": ard.coef_,
|
51 |
-
# "BayesianRidge": brr.coef_,
|
52 |
-
# "LinearRegression": olr.coef_,
|
53 |
-
# }
|
54 |
-
# )
|
55 |
|
56 |
def fit_regression_models(n_iter=30, X=X, y=y, true_weights=true_weights):
|
57 |
olr = LinearRegression().fit(X, y)
|
@@ -77,19 +50,6 @@ def fit_regression_models(n_iter=30, X=X, y=y, true_weights=true_weights):
|
|
77 |
# Now we compare the coefficients of each model with the weights of
|
78 |
# the true generative model.
|
79 |
|
80 |
-
|
81 |
-
# plt.figure(figsize=(10, 6))
|
82 |
-
# ax = sns.heatmap(
|
83 |
-
# df.T,
|
84 |
-
# norm=SymLogNorm(linthresh=10e-4, vmin=-80, vmax=80),
|
85 |
-
# cbar_kws={"label": "coefficients' values"},
|
86 |
-
# cmap="seismic_r",
|
87 |
-
# )
|
88 |
-
# plt.ylabel("linear model")
|
89 |
-
# plt.xlabel("coefficients")
|
90 |
-
# plt.tight_layout(rect=(0, 0, 1, 0.95))
|
91 |
-
# _ = plt.title("Models' coefficients")
|
92 |
-
|
93 |
def visualize_coefficients(df=None):
|
94 |
fig = plt.figure(figsize=(10, 6))
|
95 |
ax = sns.heatmap(
|
@@ -119,16 +79,6 @@ def visualize_coefficients(df=None):
|
|
119 |
# --------------------------------
|
120 |
|
121 |
|
122 |
-
# ard_scores = -np.array(ard.scores_)
|
123 |
-
# brr_scores = -np.array(brr.scores_)
|
124 |
-
# plt.plot(ard_scores, color="navy", label="ARD")
|
125 |
-
# plt.plot(brr_scores, color="red", label="BayesianRidge")
|
126 |
-
# plt.ylabel("Log-likelihood")
|
127 |
-
# plt.xlabel("Iterations")
|
128 |
-
# plt.xlim(1, 30)
|
129 |
-
# plt.legend()
|
130 |
-
# _ = plt.title("Models log-likelihood")
|
131 |
-
|
132 |
def plot_marginal_log_likelihood(ard=None, brr=None, n_iter=30):
|
133 |
|
134 |
fig = plt.figure(figsize=(10, 6))
|
@@ -240,28 +190,6 @@ def generate_polynomial_dataset(degree = 10):
|
|
240 |
# Plotting polynomial regressions with std errors of the scores
|
241 |
# -------------------------------------------------------------
|
242 |
|
243 |
-
# ax = sns.scatterplot(
|
244 |
-
# data=full_data, x="input_feature", y="target", color="black", alpha=0.75
|
245 |
-
# )
|
246 |
-
# ax.plot(X_plot, y_plot, color="black", label="Ground Truth")
|
247 |
-
# ax.plot(X_plot, y_brr, color="red", label="BayesianRidge with polynomial features")
|
248 |
-
# ax.plot(X_plot, y_ard, color="navy", label="ARD with polynomial features")
|
249 |
-
# ax.fill_between(
|
250 |
-
# X_plot.ravel(),
|
251 |
-
# y_ard - y_ard_std,
|
252 |
-
# y_ard + y_ard_std,
|
253 |
-
# color="navy",
|
254 |
-
# alpha=0.3,
|
255 |
-
# )
|
256 |
-
# ax.fill_between(
|
257 |
-
# X_plot.ravel(),
|
258 |
-
# y_brr - y_brr_std,
|
259 |
-
# y_brr + y_brr_std,
|
260 |
-
# color="red",
|
261 |
-
# alpha=0.3,
|
262 |
-
# )
|
263 |
-
# ax.legend()
|
264 |
-
# _ = ax.set_title("Polynomial fit of a non-linear feature")
|
265 |
|
266 |
|
267 |
def visualize_bayes_regressions_polynomial_features(degree = 10):
|
|
|
5 |
import pandas as pd
|
6 |
from sklearn.linear_model import ARDRegression, LinearRegression, BayesianRidge
|
7 |
import matplotlib.pyplot as plt
|
|
|
8 |
from matplotlib.colors import SymLogNorm
|
9 |
import gradio as gr
|
10 |
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
X, y, true_weights = make_regression(
|
14 |
n_samples=100,
|
|
|
25 |
# We now fit both Bayesian models and the OLS to later compare the models'
|
26 |
# coefficients.
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
def fit_regression_models(n_iter=30, X=X, y=y, true_weights=true_weights):
|
30 |
olr = LinearRegression().fit(X, y)
|
|
|
50 |
# Now we compare the coefficients of each model with the weights of
|
51 |
# the true generative model.
|
52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
def visualize_coefficients(df=None):
|
54 |
fig = plt.figure(figsize=(10, 6))
|
55 |
ax = sns.heatmap(
|
|
|
79 |
# --------------------------------
|
80 |
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
def plot_marginal_log_likelihood(ard=None, brr=None, n_iter=30):
|
83 |
|
84 |
fig = plt.figure(figsize=(10, 6))
|
|
|
190 |
# Plotting polynomial regressions with std errors of the scores
|
191 |
# -------------------------------------------------------------
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
|
194 |
|
195 |
def visualize_bayes_regressions_polynomial_features(degree = 10):
|