# -*- coding: utf-8 -*- """Gradio-regression.ipynb Automatically generated by Colaboratory. Original file is located at https://colab.research.google.com/drive/1qmfhcPafAIfczazACroyAYyRohdQbklK """ import numpy as np import matplotlib.pyplot as plt import gradio as gr from sklearn.linear_model import Ridge from sklearn.model_selection import train_test_split np.random.seed(2) X = 2 * np.random.rand(100, 1) y = 4 + 3 * X X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.1, random_state=42) def build_model(alpha): r_reg = Ridge(alpha=alpha) r_reg.fit(X_train, y_train) return r_reg def predict(alpha): ridge_reg = build_model(alpha) preds = ridge_reg.predict(X_test) fig = plt.figure() plt.plot(X_test, y_test, "r-") plt.plot(X_test, preds, "b--") plt.title("Effect of regularization parameter on Ridge regression") plt.ylabel("Y") plt.xlabel("X") return plt inputs = gr.Number() outputs = gr.Plot() gr.Interface(fn = predict, inputs = inputs, outputs = outputs).launch()