ccastro344's picture
Update app.py
37aa292 verified
# -*- coding: utf-8 -*-
"""Prueba 1 con RF.ipynb
Automatically generated by Colab.
Original file is located at
https://colab.research.google.com/drive/1uLC6Z9l_iiLNQSpLQ8srEj6ziSJ6sPxs
"""
# Instalar librer铆as necesarias
#!pip install gradio scikit-learn openpyxl pandas
# dependencias se instalan v铆a requirements.txt
import gradio as gr
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
# 馃敼 Funci贸n que encapsula TODO tu flujo
def ejecutar_modelo():
# 1. Cargar datos (simulamos con dataset de sklearn o podr铆as leer desde tu Drive)
from sklearn.datasets import load_diabetes
data = load_diabetes(as_frame=True)
X, y = data.data, data.target
# 2. Split train/test
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 3. Entrenar modelo
model = RandomForestRegressor(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
# 4. Predicciones
y_pred = model.predict(X_test)
# 5. Guardar resultados en Excel
df_resultados = pd.DataFrame({
"Real": y_test.values,
"Predicho": y_pred
})
output_path = "resultados.xlsx"
df_resultados.to_excel(output_path, index=False)
return output_path
# Interfaz: un bot贸n para correr el modelo y un bot贸n para descargar Excel
with gr.Blocks() as demo:
gr.Markdown("## Random Forest Predictor 馃搳")
gr.Markdown("Haz clic en el bot贸n para entrenar el modelo y obtener resultados")
boton = gr.Button("Ejecutar modelo")
salida = gr.File(label="Descargar Excel de resultados")
boton.click(fn=ejecutar_modelo, inputs=None, outputs=salida)
demo.launch()