Какими пользовался библиотеками для машинного обучения
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Библиотеки для машинного обучения
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
Практический совет
- Начни с scikit-learn для понимания классических методов
- Добавь XGBoost для больших данных и соревнований
- Учи TensorFlow/PyTorch для глубокого обучения
- Используй SHAP для интерпретации моделей
- Практикуйся на Kaggle с реальными данными
Заключение
Нет одной универсальной библиотеки. Хороший Data Scientist владеет несколькими инструментами и выбирает правильный для каждой задачи. Вышеперечисленные библиотеки — это стандартный набор для работы с машинным обучением в Python.