СПРАВОЧНИК
scikit-learn
Модели, метрики и инструменты машинного обучения
Справочник по библиотеке scikit-learn — основному инструменту классического машинного обучения в Python. Здесь собраны самые востребованные классы и функции: подготовка данных, модели регрессии и классификации, метрики качества, кластеризация, снижение размерности и подбор гиперпараметров.
Импорты делаются из подмодулей, например: from sklearn.model_selection import train_test_split, from sklearn.linear_model import LinearRegression, from sklearn.metrics import accuracy_score. Почти все оценщики (estimators) следуют единому интерфейсу: fit, predict, transform.
Валидация и подбор 3
cross_val_score()
cross_val_score(estimator, X, y, cv=5, scoring=None)Оценка модели кросс-валидацией.GridSearchCV
GridSearchCV(estimator, param_grid, cv=5, scoring=None)Полный перебор гиперпараметров с кросс-валидацией.Pipeline
Pipeline(steps=[('name', estimator), ...])Конвейер из последовательных шагов обработки и модели.Кластеризация 3
Метрики классификации 7
accuracy_score()
accuracy_score(y_true, y_pred)Доля правильных предсказаний.classification_report()
classification_report(y_true, y_pred)Сводный отчёт по precision, recall и f1.confusion_matrix()
confusion_matrix(y_true, y_pred)Матрица ошибок классификации.f1_score()
f1_score(y_true, y_pred, average='binary')Гармоническое среднее точности и полноты.precision_score()
precision_score(y_true, y_pred, average='binary')Точность: доля верных среди предсказанных положительных.recall_score()
recall_score(y_true, y_pred, average='binary')Полнота: доля найденных положительных объектов.roc_auc_score()
roc_auc_score(y_true, y_score)Площадь под ROC-кривой.Метрики регрессии 3
Модели классификации 7
DecisionTreeClassifier
DecisionTreeClassifier(max_depth=None, criterion='gini', random_state=None)Дерево решений для классификации.GaussianNB
GaussianNB()Наивный байесовский классификатор (гауссовский).GradientBoostingClassifier
GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3)Градиентный бустинг над деревьями.KNeighborsClassifier
KNeighborsClassifier(n_neighbors=5, weights='uniform')Классификатор по k ближайшим соседям.LogisticRegression
LogisticRegression(C=1.0, penalty='l2', max_iter=100)Логистическая регрессия для классификации.RandomForestClassifier
RandomForestClassifier(n_estimators=100, max_depth=None, random_state=None)Ансамбль деревьев решений для классификации.SVC
SVC(C=1.0, kernel='rbf', probability=False)Классификатор на опорных векторах.Модели регрессии 6
DecisionTreeRegressor
DecisionTreeRegressor(max_depth=None, random_state=None)Дерево решений для регрессии.Lasso
Lasso(alpha=1.0)Линейная регрессия с L1-регуляризацией.LinearRegression
LinearRegression(fit_intercept=True)Обычная линейная регрессия методом наименьших квадратов.RandomForestRegressor
RandomForestRegressor(n_estimators=100, max_depth=None, random_state=None)Ансамбль деревьев решений для регрессии.Ridge
Ridge(alpha=1.0)Линейная регрессия с L2-регуляризацией.SVR
SVR(kernel='rbf', C=1.0, epsilon=0.1)Регрессия на опорных векторах.Общий интерфейс моделей 6
fit()
estimator.fit(X, y=None)Обучает модель на данных.fit_transform()
transformer.fit_transform(X, y=None)Обучает преобразование и сразу применяет его.predict()
estimator.predict(X)Возвращает предсказания для новых данных.predict_proba()
classifier.predict_proba(X)Возвращает вероятности классов.score()
estimator.score(X, y)Быстрая оценка качества модели.transform()
transformer.transform(X)Применяет обученное преобразование к данным.Подготовка данных 7
LabelEncoder
LabelEncoder()Кодирует категориальные метки целыми числами.MinMaxScaler
MinMaxScaler(feature_range=(0, 1))Масштабирует признаки в заданный диапазон, обычно [0, 1].OneHotEncoder
OneHotEncoder(sparse_output=True, handle_unknown='error')One-hot кодирование категориальных признаков.PolynomialFeatures
PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)Генерирует полиномиальные признаки и их взаимодействия.SimpleImputer
SimpleImputer(strategy='mean', fill_value=None)Заполняет пропуски в данных.StandardScaler
StandardScaler(with_mean=True, with_std=True)Стандартизация признаков: среднее 0, дисперсия 1.train_test_split()
train_test_split(X, y, test_size=0.25, random_state=None, stratify=None)Разбивает выборку на обучающую и тестовую части.