| |
|
|
| import gradio as gr |
| import numpy as np |
| import pandas as pd |
| from sklearn.model_selection import train_test_split |
| |
| from xgboost import XGBRegressor |
| from sklearn.metrics import r2_score |
|
|
| |
|
|
| df=pd.read_csv("housing.csv") |
|
|
| df.head() |
|
|
| df.tail() |
|
|
| df.info() |
|
|
| df.describe() |
|
|
| df.isnull().sum() |
|
|
| df["ocean_proximity"].unique() |
| df.replace({"ocean_proximity":{"NEAR BAY":0,"<1H OCEAN":1,"INLAND":2,"NEAR OCEAN":3,"ISLAND":4}},inplace=True) |
|
|
| |
| x=df.drop("median_house_value",axis=1) |
| y=df["median_house_value"] |
|
|
| |
| x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0) |
| model=XGBRegressor() |
|
|
| model.fit(x_train,y_train) |
| model.fit(x_test,y_test) |
|
|
| x_predict=model.predict(x_train) |
| x_accuracy=r2_score(x_predict,y_train) |
|
|
| y_predict=model.predict(x_test) |
| y_accuracy=r2_score(y_predict,y_test) |
|
|
| |
|
|
| |
| def predict_house_value(longitude, latitude, housing_median_age, total_rooms, total_bedrooms, population, households, median_income, ocean_proximity): |
| input_data = np.array([longitude, latitude, housing_median_age, total_rooms, total_bedrooms, population, households, median_income, ocean_proximity]).reshape(1, -1) |
| prediction = model.predict(input_data) |
| return prediction[0] |
|
|
| |
| inputs = [ |
| gr.Slider(label="Longitude", minimum=-124.35, maximum=-114.31), |
| gr.Slider(label="Latitude", minimum=32.54, maximum=41.95), |
| gr.Slider(label="Housing Median Age", minimum=1, maximum=52), |
| gr.Slider(label="Total Rooms", minimum=2, maximum=39320), |
| gr.Slider(label="Total Bedrooms", minimum=1, maximum=6445), |
| gr.Slider(label="Population", minimum=3, maximum=35682), |
| gr.Slider(label="Households", minimum=1, maximum=6082), |
| gr.Slider(label="Median Income", minimum=0.4999, maximum=15.0001), |
| gr.Dropdown([0,1,2,3,4], label="Ocean Proximity( 0=NEAR BAY, 1=<1H OCEAN, 2=INLAND, 3=NEAR OCEAN, 4=ISLAND)") |
| ] |
|
|
| outputs = gr.Textbox(label="Predicted House Value") |
|
|
| gr.Interface(fn=predict_house_value, inputs=inputs, outputs=outputs, live=True).launch() |
|
|
|
|