Как создать комплексный рабочий процесс в области науки о данных с машинным обучением, интерпретируемостью и помощью Gemini AI?

В этом руководстве мы рассмотрим продвинутый комплексный рабочий процесс в области науки о данных, в котором мы объединяем традиционное машинное обучение с возможностями Gemini.

Подготовка и моделирование набора данных по диабету

Мы начнём с подготовки и моделирования набора данных по диабету, затем углубимся в оценку, важность признаков и частичную зависимость. На этом пути мы будем использовать Gemini в качестве специалиста по данным, чтобы объяснять результаты, отвечать на исследовательские вопросы и выявлять риски.

Импорт библиотек и настройка Gemini:

«`python
!pip -qU google-generativeai scikit-learn matplotlib pandas numpy
from getpass import getpass
import os, json, numpy as np, pandas as pd, matplotlib.pyplot as plt

if not os.environ.get(«GOOGLEAPIKEY»):
os.environ[«GOOGLEAPIKEY»] = getpass(» Введите ваш ключ API Gemini (скрыто): «)

import google.generativeai as genai
genai.configure(apikey=os.environ[«GOOGLEAPI_KEY»])
LLM = genai.GenerativeModel(«gemini-1.5-flash»)
«`

Загрузка и подготовка набора данных:

«`python
from sklearn.datasets import load_diabetes
raw = loaddiabetes(asframe=True)
df = raw.frame.rename(columns={«target»:»disease_progression»})
print(«Shape:», df.shape); display(df.head())
«`

Создание модели:

«`python
from sklearn.modelselection import traintestsplit, KFold, crossval_score
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import StandardScaler, QuantileTransformer
from sklearn.ensemble import HistGradientBoostingRegressor
from sklearn.pipeline import Pipeline

X = df.drop(columns=[«diseaseprogression»]); y = df[«diseaseprogression»]
num_cols = X.columns.tolist()
pre = ColumnTransformer(
[(«scale», StandardScaler(), num_cols),
(«rank», QuantileTransformer(nquantiles=min(200, len(X)), outputdistribution=»normal»), num_cols)],
remainder=»drop», verbosefeaturenames_out=False)
model = HistGradientBoostingRegressor(maxdepth=3, learningrate=0.07,
l2regularization=0.0, maxiter=500,
earlystopping=True, validationfraction=0.15)
pipe = Pipeline([(«prep», pre), («hgbt», model)])
«`

Оценка модели:

«`python
Xtr, Xte, ytr, yte = traintestsplit(X, y, testsize=0.20, randomstate=42)
cv = KFold(nsplits=5, shuffle=True, randomstate=42)
cvmse = -crossvalscore(pipe, Xtr, ytr, scoring=»negmeansquarederror», cv=cv).mean()
cvrmse = float(cvmse 0.5)
pipe.fit(Xtr, ytr)
«`

Взаимодействие с Gemini для интерпретации результатов

Мы используем Gemini для объяснения результатов, ответа на исследовательские вопросы и выявления рисков. Это помогает нам интерпретировать поведение модели более чётко.

Оценка модели и визуализация остатков:

«`python
predtr = pipe.predict(Xtr); predte = pipe.predict(Xte)
rmsetr = meansquarederror(ytr, predtr) 0.5
rmsete = meansquarederror(yte, predte) 0.5
maete = meanabsoluteerror(yte, predte)
r2te = r2score(yte, pred_te)
print(f»CV RMSE={cvrmse:.2f} | Train RMSE={rmsetr:.2f} | Test RMSE={rmsete:.2f} | Test MAE={maete:.2f} | R²={r2_te:.3f}»)
«`

Визуализация остатков:

«`python
plt.figure(figsize=(5,4))
plt.scatter(predte, yte — predte, s=12)
plt.axhline(0, lw=1); plt.xlabel(«Predicted»); plt.ylabel(«Residual»); plt.title(«Residuals (Test)»)
plt.show()
«`

Выводы

Мы видим, как плавно мы можем объединить конвейеры машинного обучения с рассуждениями Gemini, чтобы сделать науку о данных более интерактивной и информативной. Мы тренируем, оцениваем и интерпретируем модель, затем просим Gemini обобщить результаты, предложить улучшения и провести критический анализ рисков.

Этот рабочий процесс позволяет нам достичь как прогнозирующей производительности, так и интерпретируемости, одновременно получая выгоду от сотрудничества с ИИ в процессе анализа данных.

1. Какие инструменты и библиотеки используются для создания комплексного рабочего процесса в области науки о данных с машинным обучением и интерпретируемостью?

В статье используются следующие инструменты и библиотеки:
* Google Generative AI (Gemini);
* scikit-learn;
* matplotlib;
* pandas;
* numpy;
* StandardScaler;
* QuantileTransformer;
* HistGradientBoostingRegressor;
* Pipeline;
* ColumnTransformer.

2. Как в статье предлагается использовать Gemini для интерпретации результатов моделирования?

В статье предлагается использовать Gemini для объяснения результатов, ответа на исследовательские вопросы и выявления рисков. Это помогает интерпретировать поведение модели более чётко.

3. Какие метрики используются для оценки модели в статье?

Для оценки модели в статье используются следующие метрики:
* RMSE (Root Mean Squared Error);
* MAE (Mean Absolute Error);
* R² (коэффициент детерминации).

4. Какие шаги включает в себя подготовка и моделирование набора данных по диабету в статье?

Подготовка и моделирование набора данных по диабету включают в себя следующие шаги:
* импорт библиотек и настройка Gemini;
* загрузка и подготовка набора данных;
* создание модели;
* оценка модели;
* визуализация остатков.

5. Какие преимущества даёт использование комплексного рабочего процесса с машинным обучением и интерпретируемостью в науке о данных?

Использование комплексного рабочего процесса с машинным обучением и интерпретируемостью в науке о данных позволяет достичь как прогнозирующей производительности, так и интерпретируемости, одновременно получая выгоду от сотрудничества с ИИ в процессе анализа данных.

Источник