CoolFace
Apppublic

mepripri/Predict_Housing_Price

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py80 linesDownload Raw Back to root
1import gradio as gr2import pandas as pd3from sklearn.model_selection import train_test_split4from sklearn.preprocessing import StandardScaler5from sklearn.neighbors import KNeighborsRegressor6from sklearn.model_selection import GridSearchCV7 8housing = pd.read_csv('housing.csv')9housing.head()10 11train_set, test_set = train_test_split(housing, test_size=0.2, random_state=8)12 13train_set_clean = train_set.dropna(subset=["total_bedrooms"])14train_labels = train_set_clean["median_house_value"].copy()15train_features = train_set_clean.drop("median_house_value", axis=1)16 17test_set_clean = test_set.dropna(subset=["total_bedrooms"])18test_labels = test_set_clean["median_house_value"].copy()19test_features = test_set_clean.drop("median_house_value", axis=1)20 21scaler = StandardScaler()22train_features_normalized = scaler.fit_transform(train_features)23test_features_normalized = scaler.transform(test_features)24 25 26lin_reg = KNeighborsRegressor(n_neighbors=10, metric='manhattan')27lin_reg.fit(train_features_normalized, train_labels)28 29training_predictions = lin_reg.predict(train_features_normalized)30testing_predictions = lin_reg.predict(test_features_normalized)31 32test_features_normalized_2 = pd.DataFrame(test_features_normalized, columns=housing.columns[:-1])33testing_predictions = pd.DataFrame(testing_predictions, columns=['housing_value'])34 35def multi_inputs(input1):36    import numpy as np37    import matplotlib.pyplot as plt38 39    if input1 == 1.2196:40      test_features_normalized_3 = test_features_normalized_2.iloc[15]41      testing_pred = lin_reg.predict(test_features_normalized[15].reshape(1,-1))42      testing_pred = pd.DataFrame(testing_pred, columns=['housing_value'])43    elif input1 == 0.6516:44      test_features_normalized_3 = test_features_normalized_2.iloc[4]45      testing_pred = lin_reg.predict(test_features_normalized[4].reshape(1,-1))46      testing_pred = pd.DataFrame(testing_pred, columns=['housing_value'])47    elif input1 == -1.6751:48      test_features_normalized_3 = test_features_normalized_2.iloc[23]49      testing_pred = lin_reg.predict(test_features_normalized[23].reshape(1,-1))50      testing_pred = pd.DataFrame(testing_pred, columns=['housing_value'])51 52    plt.figure(figsize=(18,6))53    plt.subplot(1,2,1)54    plt.scatter(housing['longitude'], housing['latitude'], alpha=0.5, s=housing['population']/100, c=housing["median_house_value"]*10, label='Population')55    plt.xlabel('Longitude', size=18)56    plt.ylabel('Latitude', size=18)57    plt.title('Location, Population & Prices of house in California', size=18)58    plt.legend()59    plt.colorbar()60    plt.show()61 62    plt.subplot(1,2,2)63    plt.scatter(test_features_normalized_3['longitude'], test_features_normalized_3['latitude'], alpha=0.5, s=100, c=testing_pred["housing_value"]*10, label='Population')64    plt.xlabel('Longitude', size=18)65    plt.ylabel('Latitude', size=18)66    plt.title('Location, Population & Prices of house in California', size=18)67    plt.legend()68    plt.colorbar()69    plt.show()70    output1 = "housing.png"71    plt.savefig(output1)72    plt.close()73 74    return output175    76input = gr.components.Radio([round(test_features_normalized_2['longitude'].iloc[15],4), round(test_features_normalized_2['longitude'].iloc[4],4), round(test_features_normalized_2['longitude'].iloc[23],4)], label = "Select Longitude Input Value")77 78output = gr.components.Image(label = "Output Image")79 80gr.Interface(fn=multi_inputs, inputs=input, outputs=output).launch()