В чём разница между supervised learning и unsupervised learning

«В чём разница между supervised learning и unsupervised learning» — вопрос из категории Машинное обучение, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Supervised learning использует размеченные данные (с целевой переменной) для обучения модели. Пример — классификация или регрессия. Модель учится предсказывать целевую переменную на основе признаков.

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)  # X — признаки, y — целевая переменная

Unsupervised learning работает с неразмеченными данными, выявляя скрытые структуры (кластеры, аномалии). Пример — кластеризация или уменьшение размерности.

from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)  # только признаки, без целевой переменной

Supervised требует размеченных данных, unsupervised — нет. Первый предсказывает, второй исследует.