File size: 1,686 Bytes
0d729fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import pandas as pd
import numpy as np

def process_csv(file):
    if file is None:
        return gr.Markdown("Por favor, sube un archivo CSV.")

    try:
        df = pd.read_csv(file.name)
        overview = f"### Vista Previa de los Datos\n\n{df.head().to_markdown(index=False)}\n\n### Información del DataFrame\n\n```\n{df.info()}\n```\n\n### Descripción Estadística\n\n{df.describe().to_markdown()}\n"
        return gr.Markdown(overview)
    except Exception as e:
        return gr.Markdown(f"Error al procesar el archivo: {e}")

with gr.Blocks(title="Mini AutoML Studio") as demo:
    gr.HTML("<h1 style='text-align: center;'>🤖 Mini AutoML Studio: Tu DataRobot en un clic 🚀</h1>")
    gr.Markdown(
        "<p style='text-align: center; font-size: 1.1em; color: #555;'>"+
        "Sube tu archivo CSV y esta plataforma detectará el tipo de problema, limpiará los datos, "+
        "hará ingeniería de características, entrenará múltiples modelos, generará un leaderboard "+
        "y explicará los resultados. ¡Ideal para mostrar tus habilidades en ML!"+
        "</p>"
    )

    with gr.TabbedInterface(
        [
            gr.Interface(
                fn=process_csv,
                inputs=gr.File(label="Sube tu archivo CSV", file_types=[".csv"]),
                outputs=gr.Markdown(label="Análisis Preliminar de Datos"),
                title="1. Carga de Datos y Exploración",
                live=False
            )
        ]
    ) as tabs:
        # More tabs for problem detection, preprocessing, models, leaderboard, explainability will be added here
        pass

if __name__ == "__main__":
    demo.launch(share=True)