En este tutorial, pasamos por un flujo de trabajo de ciencia de datos de extremo a extremo avanzado donde combinamos el aprendizaje automático tradicional con el poder de Géminis. Comenzamos preparando y modelando el conjunto de datos de la diabetes, luego nos sumergimos en la evaluación, la importancia de las características y la dependencia parcial. En el camino, traemos a Gemini como nuestro científico de datos de IA para explicar los resultados, responder preguntas exploratorias y resaltar los riesgos. Al hacer esto, construimos un modelo predictivo al tiempo que mejoramos nuestras ideas y la toma de decisiones a través de la interacción del lenguaje natural. Mira los códigos completos aquí.
num_cols = x.columns.tolist () pre = columnTransformer (
[(“scale”, StandardScaler(), num_cols),
(“rank”, QuantileTransformer(n_quantiles=min(200, len(X)), output_distribution=”normal”), num_cols)]remainder=”drop”, verbose_feature_names_out=False) model = HistGradientBoostingRegressor(max_depth=3, learning_rate=0.07, l2_regularization=0.0, max_iter=500, early_stopping=True, validation_fraction=0.15) pipe = Pipeline([(“prep”, pre), (“hgbt”, model)]) Xtr, xte, ytr, yte = Train_test_split (x, y, test_size = 0.20, random_state = 42) cv = kfold (n_splits = 5, shuffle = true, random_state = 42) cv_mse = –cross_val_score (tubip cv = cv) .mean () cv_rmse = float (cv_mse ** 0.5) pipe.fit (Xtr, ytr)
Cargamos el conjunto de datos de diabetes, preprocesamos las características y construimos una tubería robusta utilizando escala, transformación cuantil y impulso de gradiente. Dividimos los datos, realizamos validación cruzada para estimar RMSE y luego ajustamos el modelo final para ver qué tan bien se generaliza. Mira los códigos completos aquí.
Plt.Barh (Top10[“feature”]Top10[“importance”]) plt.title (“Importancia de permutación (Top 10)”); plt.xlabel (“δ (MSE)”); plt.tight_layout (); plt.show ()
Evaluamos nuestro modelo al calcular el tren, la prueba y las métricas de validación cruzada, y visualizamos los residuos para verificar los errores de predicción. Luego calculamos la importancia de la permutación para identificar qué características impulsan el modelo más, y mostramos los principales contribuyentes utilizando una gráfica de barra clara. Mira los códigos completos aquí.
Para V en xs: XTMP[feat] = v ys.append (pipe.predict (xtmp) .mean ()) return xs, np.array (ys) top_feats = imp_df[“feature”].head (3) .tolist () plt.figure (figsize = (6,4)) para F en top_feats: xs, ys = compute_pdp (pipe, xte.copy (), f, grid = 40) plt.plot (xs, ys, etiqueta = f) plt.ulgend (); plt.xlabel (“Valor de características”); plt.ylabel (“objetivo predicho”); plt.title (“manual pdp (top 3)”) plt.tight_layout (); plt.show () report_obj = {“dataSet”: {“filas”: int (df.shape[0]), “cols”: int (df.sape[1]-1), “objetivo”: “enfermedad_progresion”}, “métricas”: {“cv_rmse”: float (cv_rmse), “train_rmse”: float (rmse_tr), “test_rmse”: float (rmse_te), “test_mae”: float (mae_te), “r2”: float (R2). “top_importances”: imp_df.head (10) .to_dict (orient = “registros”)} imprime (json.dumps (report_obj, sandent = 2)) sys_msg = (“Usted es un científico de datos senior. Retorno: (1) ≤120 Summares ejecutivos,” (2) Riesgos clave/ balas de supuestos, (3) 5 Priorizados Priorizados. “(4) Ideas de ingeniería de características de recuperación rápida como python pseudocode.”) Resumen = Ask_llm (f “DataSet + Metrics + Importance: \ n {json.dumps (report_obj)}”, sys = sys_msg) imprime (“\ n📊 gemini resumen ejecutivo \ n” + “-“*80 + f “\ n {sumario} \ n”)
Calculamos la dependencia parcial manual para las tres características principales y visualizamos cómo el cambio de cada uno afecta las predicciones. Luego reunimos un informe compacto de JSON de estadísticas de conjunto de datos, métricas e importancias, y le pedimos a Gemini que genere un resumen ejecutivo que incluya riesgos, próximos experimentos e ideas de ingeniería de características de recuperación rápida. Mira los códigos completos aquí.
si alguno (b en código para b en prohibido): recaude valueError (“código inseguro rechazado.”) loc = {“df”: df_local.copy ()} exec (code, safe_globals, loc) return {k: v para k, v en loc.items () si k no está en (“df”,)} defera_qa (pregunta: str): str): shat = f “” “” “”. Python+Pandas Analyst. prosa. “) Prueba: OUT = Run_Generated_Pandas (código, df) código de retorno, out.get (” respuesta “, ninguna) excepto la excepción como e: código de retorno, f”[Execution error: {e}]”Preguntas = [
“What is the Pearson correlation between BMI and disease_progression?”,
“Show mean target by tertiles of BMI (low/med/high).”,
“Which single feature correlates most with the target (absolute value)?”
]
Para Q en preguntas: código, Ans = eda_qa (q) print (“\ nq:”, q, “\ ncode: \ n”, código, “\ nanswer: \ n”, ans)
Construimos una caja de arena segura para ejecutar el código PANDAS que Gemini genera para el análisis de datos exploratorios. Luego hacemos preguntas de lenguaje natural sobre correlaciones y relaciones de características, dejamos que Gemini escriba los fragmentos de pandas y los ejecute automáticamente para obtener respuestas directas del conjunto de datos. Mira los códigos completos aquí.
Le pedimos a Gemini que revise nuestro modelo en busca de riesgos como fugas, sobreajuste y justicia, y obtenga controles rápidos de Python como sugerencias. Luego ejecutamos análisis simples de “si si” para ver cómo los pequeños cambios en las características principales afectan las predicciones, ayudándonos a interpretar el comportamiento del modelo más claramente.
En conclusión, vemos cuán sin problemas podemos combinar tuberías de aprendizaje automático con el razonamiento de Gemini para hacer que la ciencia de datos sea más interactiva y perspicaz. Entrenamos, evaluamos e interpretamos un modelo, luego le pedimos a Gemini que resume los hallazgos, sugiera mejoras y critique los riesgos. A través de este viaje, establecemos un flujo de trabajo que nos permite lograr un rendimiento predictivo e interpretabilidad, al tiempo que beneficiamos de tener un colaborador de IA en nuestro proceso de análisis de datos.
Mira los códigos completos aquí. No dude en consultar nuestra página de GitHub para obtener tutoriales, códigos y cuadernos. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro subreddit de 100k+ ml y suscribirse a nuestro boletín.
Asif Razzaq es el CEO de MarktechPost Media Inc .. Como empresario e ingeniero visionario, ASIF se compromete a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, MarktechPost, que se destaca por su cobertura profunda de noticias de aprendizaje automático y de aprendizaje profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el público.
🔥[Recommended Read] NVIDIA AI Open-Sources Vipe (motor de pose de video): una herramienta de anotación de video 3D potente y versátil para AI espacial