← Назад к вопросам

Какими пользовался библиотеками для машинного обучения

1.6 Junior🔥 161 комментариев
#Машинное обучение

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Библиотеки для машинного обучения

1. Scikit-learn (sklearn)

Основная библиотека для классических алгоритмов ML.

from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split, cross_val_score

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

rf = RandomForestClassifier(n_estimators=100)
rf.fit(X_train, y_train)
print(rf.score(X_test, y_test))

Используется для: классификация, регрессия, кластеризация, feature selection.

2. Pandas

Для работы с табличными данными и EDA.

import pandas as pd

df = pd.read_csv("data.csv")
print(df.head())
print(df.describe())
print(df.isnull().sum())

df["new_col"] = df["col1"] + df["col2"]
df_filtered = df[df["age"] > 30]

Используется для: загрузка данных, очистка, трансформация, EDA.

3. NumPy

Для численных вычислений и работы с массивами.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
mean = np.mean(arr)
std = np.std(arr)
matrix = np.random.randn(100, 20)
result = np.dot(matrix, weights)

Используется для: матричные операции, численные расчеты.

4. TensorFlow / Keras

Для глубокого обучения и нейронных сетей.

import tensorflow as tf
from tensorflow import keras

model = keras.Sequential([
    keras.layers.Dense(128, activation="relu"),
    keras.layers.Dropout(0.3),
    keras.layers.Dense(10, activation="softmax")
])

model.compile(optimizer="adam", loss="categorical_crossentropy")
model.fit(X_train, y_train, epochs=10, validation_split=0.2)

Используется для: нейронные сети, CNN, RNN, Трансформеры.

5. PyTorch

Альтернатива TensorFlow, популярна в research.

import torch
import torch.nn as nn

class MyModel(nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(784, 128)
        self.fc2 = nn.Linear(128, 10)
    
    def forward(self, x):
        x = torch.relu(self.fc1(x))
        return self.fc2(x)

model = MyModel()
optimizer = torch.optim.Adam(model.parameters())

Используется для: динамичные вычисления, research, NLP модели.

6. XGBoost

Быстрый и мощный градиентный бустинг.

import xgboost as xgb

model = xgb.XGBClassifier(n_estimators=100, learning_rate=0.1)
model.fit(X_train, y_train)
predictions = model.predict(X_test)

feature_importance = model.feature_importances_

Используется для: классификация, регрессия, kaggle соревнования.

7. LightGBM

Еще более быстрый бустинг, работает с большими данными.

import lightgbm as lgb

model = lgb.LGBMClassifier(num_leaves=31, learning_rate=0.1)
model.fit(X_train, y_train)

Используется для: большие датасеты, production системы.

8. CatBoost

Бустинг, хорошо работает с категориальными признаками.

from catboost import CatBoostClassifier

model = CatBoostClassifier(iterations=100, categorical_features=[0, 1])
model.fit(X_train, y_train)

9. Matplotlib и Seaborn

Для визуализации данных.

import matplotlib.pyplot as plt
import seaborn as sns

plt.figure(figsize=(10, 6))
sns.scatterplot(x="age", y="salary", data=df)
plt.show()

sns.heatmap(df.corr(), annot=True)
plt.show()

10. Plotly

Интерактивные графики.

import plotly.express as px

fig = px.scatter(df, x="age", y="salary", color="category")
fig.show()

11. SHAP

Для интерпретации моделей.

import shap

explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
shap.summary_plot(shap_values, X)

12. Hugging Face Transformers

Для работы с большими языковыми моделями.

from transformers import AutoTokenizer, AutoModelForSequenceClassification

tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased")

Дополнительные библиотеки

Для временных рядов:

  • statsmodels
  • prophet
  • pmdarima

Для NLP:

  • NLTK
  • spaCy
  • TextBlob

Для оптимизации:

  • scipy
  • optuna
  • hyperopt

Мой набор инструментов (типичный стек)

# Загрузка и обработка
import pandas as pd
import numpy as np

# ML модели
from sklearn import ensemble, linear_model, preprocessing
import xgboost as xgb

# Глубокое обучение
import tensorflow as tf

# Визуализация
import matplotlib.pyplot as plt
import seaborn as sns

# Интерпретация
import shap

# Валидация
from sklearn.model_selection import cross_val_score, cross_validate

Практический совет

  1. Начни с scikit-learn для понимания классических методов
  2. Добавь XGBoost для больших данных и соревнований
  3. Учи TensorFlow/PyTorch для глубокого обучения
  4. Используй SHAP для интерпретации моделей
  5. Практикуйся на Kaggle с реальными данными

Заключение

Нет одной универсальной библиотеки. Хороший Data Scientist владеет несколькими инструментами и выбирает правильный для каждой задачи. Вышеперечисленные библиотеки — это стандартный набор для работы с машинным обучением в Python.

Какими пользовался библиотеками для машинного обучения | PrepBro