Kaunas_Aruodas / app.py
alinaL's picture
return price in eur
99dfc6f
import gradio as gr
from sklearn.ensemble import RandomForestRegressor
import xgboost
from xgboost import XGBRegressor
import pickle
import pandas as pd
import numpy as np
# filename = 'xgboost_model_all.pickle'
# xgb = pickle.load(open(filename, 'rb'))
print(xgboost.__version__)
xgb = XGBRegressor(n_estimators=1000, learning_rate=0.04, objective='reg:squarederror') #xgboost. # or which ever sklearn booster you're are using
xgb.load_model("xgboost_model_all.ubj")
def predict_price(area, year, rooms, floor_number, distance_from_center, alarm_system,
security_system, terrasse, parking, high_ceiling, multy_storey_apartment, private_yard,
kitchen_plus_livingroom):
x = pd.DataFrame([{'details__Plotas': area, 'details__Metai': year,
'details__Kambarių sk.': rooms,
'details__Aukštas':floor_number,
'dist_from_cntr': distance_from_center,
'details__Apsauga__Signalizacija': alarm_system,
'details__Apsauga__Vaizdo kameros': security_system,
# 'details__Papildoma įranga__Indaplovė',
# 'details__Papildoma įranga__Rekuperacinė sistema',
# 'details__Papildoma įranga__Šildomos grindys',
# 'details__Papildoma įranga__Židinys',
'details__Papildomos patalpos__Terasa': terrasse,
'details__Papildomos patalpos__Vieta automobiliui': parking,
'details__Ypatybės__Aukštos lubos': high_ceiling,
'details__Ypatybės__Butas per kelis aukštus': multy_storey_apartment,
'details__Ypatybės__Uždaras kiemas': private_yard,
'details__Ypatybės__Virtuvė sujungta su kambariu': kitchen_plus_livingroom
}])
print(x)
return int(xgb.predict(x))
iface = gr.Interface(fn=predict_price, inputs=[gr.inputs.Slider(10, 180, 1, 80),
gr.inputs.Slider(1900, 2023, 1, 2010),
gr.inputs.Slider(1, 8, 1, 2),
gr.inputs.Slider(1, 15, 1, 2),
gr.inputs.Slider(0, 10, 0.5, 0.5),
"checkbox",
"checkbox",
"checkbox",
"checkbox",
"checkbox",
"checkbox",
"checkbox",
"checkbox",
], outputs="text")
iface.launch()
# filename = 'simple_rf_model.pickle'
# rf = pickle.load(open(filename, 'rb'))
#
# def predict_price(area, year, if_center, if_senamiestis, rooms):
# x = pd.DataFrame([{'details__Plotas': area, 'details__Metai': year, 'seniunija__Centras': int(if_center),
# 'seniunija__Senamiestis': int(if_senamiestis), 'details__Kambarių sk.': rooms}])
# print(x)
# return float(rf.predict(x))
#
#
# iface = gr.Interface(fn=predict_price, inputs=[gr.inputs.Slider(10, 200, 1, 80), gr.inputs.Slider(1950, 2022, 1, 2010),
# "checkbox", "checkbox", gr.inputs.Slider(1, 5, 1, 2)], outputs="text")
# iface.launch()