Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| import pandas as pd | |
| from sklearn.linear_model import LinearRegression | |
| from sklearn.model_selection import train_test_split | |
| from sklearn.datasets import fetch_california_housing | |
| import pickle | |
| # Load the data | |
| california = fetch_california_housing() | |
| df = pd.DataFrame(california.data, columns=california.feature_names) | |
| df['MedHouseVal'] = california.target | |
| # Prepare the data for the model | |
| X = df[['MedInc']] | |
| y = df['MedHouseVal'] | |
| # Split the data into training and testing sets | |
| X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) | |
| # Train the model | |
| model = LinearRegression() | |
| model.fit(X_train, y_train) | |
| # Save the model | |
| with open("linear_regression_model.pkl", "wb") as file: | |
| pickle.dump(model, file) | |
| # Load the model | |
| with open("linear_regression_model.pkl", "rb") as file: | |
| model = pickle.load(file) | |
| # Define prediction function | |
| def predict(med_inc): | |
| X_new = np.array([[med_inc]]) | |
| prediction = model.predict(X_new) | |
| return prediction[0] | |
| # Create Gradio interface | |
| iface = gr.Interface(fn=predict, inputs="number", outputs="number", title="California Housing Price Prediction") | |
| iface.launch() | |