TheCodeHere's picture
Update app.py
79843b0 verified
from statsmodels.regression.linear_model import OLSResults
import statsmodels.api as sm
from sklearn.preprocessing import PolynomialFeatures
import pandas as pd
import gradio as gr
import tempfile
def procesar_csv(archivo):
if archivo is None:
return "No se subi贸 ning煤n archivo", None
try:
df = pd.read_csv(archivo.name)
modelo_cargado = OLSResults.load('modelo_ols_guardado.pkl')
considered_features_ols = ['feature_2','feature_9','feature_13','feature_11','feature_18']
X_blind = df[considered_features_ols]
blind_poly_features = PolynomialFeatures(degree = 3, include_bias=False).set_output(transform="pandas")
X_blind_poly = blind_poly_features.fit_transform(X_blind)
df_procesado = modelo_cargado.predict( sm.add_constant(X_blind_poly) ).to_frame(name="target_pred")
# Guardar temporalmente para descarga
temp = tempfile.NamedTemporaryFile(delete=False, suffix=".csv", prefix="Resultados_")
df_procesado.to_csv(temp.name, index=False)
return df_procesado, temp.name
except Exception as e:
return f"Error al leer el CSV: {e}", None
# Interfaz
interface = gr.Interface(
fn=procesar_csv,
inputs=gr.File(file_types=[".csv"], label="Sube el archivo CSV"),
outputs=[gr.Dataframe(label="Resultado de regresion lineal"), gr.File(label="Descargar datos procesados")],
title="Problema de regresi贸n multivariante",
description="Sube los datos de entrada (.CSV) y te mostrar茅 el resultado."
)
interface.launch()