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