15. Машинное обучение и анализ данных #
Машинное обучение (ML) и анализ данных — одни из самых востребованных областей в программировании. Python предоставляет широкий спектр библиотек для работы с данными, их визуализации и построения моделей машинного обучения.
15.1. Введение в библиотеки NumPy и Pandas #
NumPy #
NumPy — библиотека для работы с многомерными массивами и математическими операциями.
Установка #
pip install numpy
Основные возможности #
import numpy as np
# Создание массивов
array = np.array([1, 2, 3])
matrix = np.array([[1, 2], [3, 4]])
# Операции
print(array + 5) # [6 7 8]
print(matrix.T) # Транспонирование матрицы
# Генерация данных
zeros = np.zeros((2, 3)) # Массив из нулей
random = np.random.rand(3) # Случайные числа
Pandas #
Pandas — библиотека для работы с табличными данными.
Установка #
pip install pandas
Основные структуры данных #
- Series: одномерные данные.
- DataFrame: двумерные таблицы.
Пример работы #
import pandas as pd
# Создание DataFrame
data = {"Name": ["Alice", "Bob", "Charlie"], "Age": [25, 30, 35]}
df = pd.DataFrame(data)
# Доступ к данным
print(df["Name"]) # Series с именами
print(df.loc[0]) # Данные первой строки
# Анализ данных
print(df.describe()) # Статистическое описание
print(df[df["Age"] > 28]) # Фильтрация
15.2. Визуализация данных (matplotlib, seaborn) #
Matplotlib #
Matplotlib — библиотека для создания графиков.
Установка #
pip install matplotlib
Пример #
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y, label="Linear Growth")
plt.xlabel("X-axis")
plt.ylabel("Y-axis")
plt.title("Example Plot")
plt.legend()
plt.show()
Seaborn #
Seaborn — библиотека для статистической визуализации, основанная на Matplotlib.
Установка #
pip install seaborn
Пример #
import seaborn as sns
import matplotlib.pyplot as plt
# Генерация данных
tips = sns.load_dataset("tips")
# График распределения
sns.histplot(tips["total_bill"], kde=True)
plt.show()
# Взаимосвязь между параметрами
sns.scatterplot(data=tips, x="total_bill", y="tip", hue="day")
plt.show()
15.3. Основы машинного обучения с scikit-learn #
Scikit-learn — библиотека для реализации алгоритмов машинного обучения.
Установка #
pip install scikit-learn
Пример: линейная регрессия #
from sklearn.linear_model import LinearRegression
import numpy as np
# Данные
X = np.array([[1], [2], [3], [4]]) # Признаки
y = np.array([2, 4, 6, 8]) # Целевая переменная
# Создание модели
model = LinearRegression()
model.fit(X, y)
# Предсказания
print(model.predict([[5]])) # [10.]
Пример: классификация (SVM) #
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# Загрузка данных
iris = datasets.load_iris()
X, y = iris.data, iris.target
# Разделение на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
# Обучение модели
model = SVC()
model.fit(X_train, y_train)
# Оценка модели
y_pred = model.predict(X_test)
print(f"Accuracy: {accuracy_score(y_test, y_pred)}")
Рекомендации #
- NumPy используйте для работы с массивами и матрицами.
- Pandas отлично подходит для анализа табличных данных и предобработки.
- Для визуализации данных комбинируйте возможности Matplotlib и Seaborn.
- Начинайте изучение машинного обучения с простых моделей в Scikit-learn (линейная регрессия, SVM).