Урок 27: Машинное обучение для начинающих с scikit-learn

Машинное обучение для начинающих с scikit-learn

Краткое введение

Scikit-learn — это библиотека для Python, предоставляющая простые и эффективные инструменты для анализа данных и машинного обучения. В этом уроке мы рассмотрим основные понятия машинного обучения и научимся использовать scikit-learn для создания и оценки моделей.

Теоретическая часть

Основные понятия

Машинное обучение — это раздел искусственного интеллекта, целью которого является разработка алгоритмов, способных учиться и делать прогнозы на основе данных. Основные типы машинного обучения: обучение с учителем, без учителя и с подкреплением.

Scikit-learn

Scikit-learn предлагает множество алгоритмов для классификации, регрессии, кластеризации и уменьшения размерности, а также удобные инструменты для выбора модели, обработки данных и оценки моделей.

Примеры кода

# Пример классификации с использованием scikit-learn
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# Загрузка и подготовка данных
iris = datasets.load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# Нормализация данных
sc = StandardScaler()
sc.fit(X_train)
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)

# Обучение классификатора
classifier = KNeighborsClassifier(n_neighbors=5, p=2, metric='minkowski')
classifier.fit(X_train_std, y_train)

# Оценка модели
y_pred = classifier.predict(X_test_std)
print('Accuracy: %.2f' % accuracy_score(y_test, y_pred))

Практические задания

1. Используя набор данных о домах в Бостоне, создайте модель линейной регрессии для прогнозирования стоимости домов.
2. Примените алгоритм кластеризации KMeans для группировки ирисов по их характеристикам.

Решение задания

# Модель линейной регрессии для набора данных о домах в Бостоне
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Загрузка и подготовка данных
boston = datasets.load_boston()
X = boston.data
y = boston.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# Нормализация данных
sc = StandardScaler()
X_train_std = sc.fit_transform(X_train)
X_test_std = sc.transform(X_test)

# Обучение модели
lr = LinearRegression()
lr.fit(X_train_std, y_train)

# Оценка модели
y_pred = lr.predict(X_test_std)
print('MSE: %.2f' % mean_squared_error(y_test, y_pred))

# Кластеризация ирисов с использованием KMeans
from sklearn.cluster import KMeans
from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data

kmeans = KMeans(n_clusters=3, random_state=0)
y_kmeans = kmeans.fit_predict(X)

# Визуализация результатов кластеризации опущена для краткости

© 2024 realschule.ru

Категория: Python с нуля | Добавил: Admin (08.03.2024)
Просмотров: 148 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: