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()