Как создать комплексный рабочий процесс в области науки о данных с машинным обучением, интерпретируемостью и помощью 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. Какие преимущества даёт использование комплексного рабочего процесса с машинным обучением и интерпретируемостью в науке о данных?

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

Источник