Abijith's picture
Update app.py
a1c4ba9
raw history blame
No virus
1.86 kB
import os
import pickle
import tensorflow as tf
import gradio as gr
import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
data_heading = ['longitude', 'latitude', 'housing_median_age', 'total_rooms',
'total_bedrooms', 'population', 'households', 'median_income',
'median_house_value']
# Model and scaler loading
with open("./model/scaler_sklearn.pkl", "rb") as f:
scaler = pickle.load(f)
loaded_model = tf.keras.saving.load_model('./model/house_value_model.keras')
def test_ml_model(longitude, latitude, housing_median_age, total_rooms, total_bedrooms, population, households, median_income, median_house_value):
df_test = pd.DataFrame(data=[[longitude, latitude, housing_median_age,
total_rooms, total_bedrooms, population,
households, median_income, median_house_value]], columns=data_heading)
df_test_norm = pd.DataFrame(scaler.fit_transform(df_test), columns=data_heading)
features = {name:np.array(value) for name, value in df_test_norm.items()}
result = loaded_model.predict(features)
if result['dense'][0][0] > 0.5:
return 'Prediction: Houses in this neighborhood are above average price.'
return 'Prediction: Houses in this neighborhood are below average price.'
demo = gr.Interface(fn=test_ml_model,
inputs=[gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0),
gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0),
gr.Number(value=0.0), gr.Number(value=0.0), gr.Number(value=0.0)],
outputs="text",
description="It will help to classifiy the houses in this neighborhood above a avaerage price or not.",
title='Classifier')
demo.launch()