Spaces:
Sleeping
Sleeping
File size: 2,151 Bytes
19584c8 492d537 4ba3f04 492d537 19584c8 5b77048 19584c8 5b77048 19584c8 46128e4 5b77048 4ba3f04 46128e4 5b77048 492d537 4ba3f04 492d537 4ba3f04 492d537 4ba3f04 492d537 4ba3f04 5b77048 4ba3f04 19584c8 4ba3f04 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
import gradio as gr
from gradio import components
import pandas as pd
import numpy as np
from datasets import load_dataset
from sklearn.model_selection import train_test_split
from sklearn.metrics import r2_score
from xgboost import XGBRegressor
import datetime
# Carga del CSV desde huggingface
dataset = load_dataset("animonte/train_house_price")
# Lectura del CSV desde un data set
df = pd.DataFrame(dataset["train"])
# Selecci贸n de variables para el modelo
columns = ['GrLivArea', 'TotalBsmtSF', 'MoSold', 'YearBuilt', 'YearRemodAdd', 'LotFrontage', 'YrSold', 'BsmtFinSF1','OverallQual']
X = df.loc[:, columns ] # Variables predictoras
y = df['SalePrice'] # Variable objetivo
# Divisi贸n del dataframe para evitar el sobreajuste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
#Creamos una instancia con XGBClassifier
model_XGB = XGBRegressor(n_estimators=30, max_depth=2, learning_rate=.2, random_state=42)
#Entrenamos el modelo con los datos de entrenamiento
model_XGB.fit(X_train,y_train)
#Creamos el conjunto de entrenamiento
# prediction_XGB = model_XGB.predict(X_test)
# Interfaz gr谩fica del demo
def ui_predict(Superficie_casa, Superficie_sotano, Anio_construccion, Anio_remodelacion, Frente_terreno, Superficie_construida_terminada, calidad_construccion):
# Obtener la fecha y hora actual
fecha_actual = datetime.datetime.now()
# Obtener el mes y el a帽o de la fecha actual
Mes_venta = fecha_actual.month
Anio_venta = fecha_actual.year
inputs = [[Superficie_casa, Superficie_sotano, Mes_venta, Anio_construccion, Anio_remodelacion, Frente_terreno, Anio_venta, Superficie_construida_terminada, calidad_construccion]]
inputs = pd.DataFrame(inputs, columns= columns)
# Predicci贸n
predicciones = model_XGB.predict(inputs)
return predicciones[0]
output = components.Textbox(label='Precio obtenido con el XG BOOST Regressor')
demo = gr.Interface(
fn=ui_predict,
inputs=['number', "number","number","number", "number","number", gr.Slider(1, 10, step=1)],
outputs=output,
allow_flagging="never"
)
demo.launch() |