View in Telegram
Для нас конец года и последний рабочий день в году — ещё не повод не делиться интересным и полезным😎 Сегодня мы обсудим основные типы обучения в машинном обучении: обучение с учителем, обучение без учителя и обучение с подкреплением. На примерах разберем их отличия и применения в реальных задачах. Давайте начнем! 1. Обучение с учителем При обучении с учителем алгоритм обучается на размеченных данных, где каждая запись имеет соответствующий выходной результат. Задача алгоритма — научиться предсказывать этот результат на новых данных. Пример: Регрессия
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Генерация данных
X = np.array([[1], [2], [3], [4], [5]])
y = np.array([3, 4, 2, 5, 6])

# Обучение модели
model = LinearRegression()
model.fit(X, y)

# Предсказание
X_new = np.array([[6]])
y_pred = model.predict(X_new)

# Визуализация
plt.scatter(X, y, color='blue')
plt.plot(X, model.predict(X), color='red')  # Линия регрессии по всем данным
plt.scatter(X_new, y_pred, color='green', label='Предсказание для X=6')  # Предсказанное значение
plt.title("Линейная регрессия")
plt.xlabel("X")
plt.ylabel("y")
plt.legend()
plt.show()
В результате выполнения этого кода вы получите график с точками исходных данных и линией регрессии, которая показывает зависимость между переменной X и предсказанными значениями y. Это позволяет визуально оценить качество модели линейной регрессии. 2. Обучение без учителя Обучение без учителя используется на неразмеченных данных. Алгоритм пытается найти скрытые структуры или паттерны в данных без явных меток. Пример: Кластеризация
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# Генерация данных
X, y = make_blobs(n_samples=300, centers=4, random_state=42)

# Обучение модели
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)

# Предсказание кластеров
y_kmeans = kmeans.predict(X)

# Визуализация
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.75)
plt.title("Кластеризация K-средних")
plt.show()
В результате выполнения этого кода вы получите график с точками, представляющими сгенерированные данные, окрашенными в зависимости от их принадлежности к кластерам. Красные точки обозначают центры найденных кластеров. Это позволяет визуально оценить качество кластеризации и распределение данных по кластерам. 🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily