Обучение без учителя
Разберитесь в методах кластеризации, таких как K-Means и иерархическая кластеризация
«Обучение без учителя» — бесплатный урок Python Academy на CoddyKit. Это урок 3 из 6. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 6 уроков всего.
Обучение без учителя
Обучение без учителя
Обучение без учителя — это тип машинного обучения, при котором алгоритм выявляет закономерности в неразмеченных данных. Оно часто используется для кластеризации, снижения размерности и обнаружения аномалий.
В этом уроке Вы изучите методы кластеризации, такие как метод K-средних и иерархическая кластеризация.

Что такое обучение без учителя
Что такое обучение без учителя
Обучение без учителя включает анализ и группировку данных без заранее заданных меток. Его цель — выявить скрытые структуры или закономерности в данных.
К основным задачам относятся:
- Кластеризация: объединение похожих объектов данных.
- Снижение размерности: уменьшение количества признаков с сохранением важной информации.
Кластеризация методом K-средних
Кластеризация методом K-средних
K-Means — популярный алгоритм кластеризации, который распределяет данные по K кластерам на основе сходства признаков. Посмотрим, как он работает:
# Example: K-Means Clustering
from sklearn.cluster import KMeans
import numpy as np
# Sample data
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
print("Cluster Centers:", kmeans.cluster_centers_)
print("Labels:", kmeans.labels_)Иерархическая кластеризация
Иерархическая кластеризация
Иерархическая кластеризация строит древовидную структуру (дендрограмму) для группировки похожих объектов данных. Для неё не требуется заранее задавать количество кластеров.
# Example: Hierarchical Clustering
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
# Sample data
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
linked = linkage(X, 'single')
dendrogram(linked)
plt.show()Снижение размерности
Снижение размерности
Снижение размерности упрощает данные за счёт уменьшения количества признаков с сохранением важной информации. Анализ главных компонент (PCA) — распространённый метод для этой задачи.
# Example: PCA
from sklearn.decomposition import PCA
import numpy as np
# Sample data
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
pca = PCA(n_components=1)
X_reduced = pca.fit_transform(X)
print("Reduced Data:", X_reduced)Применение обучения без учителя
Применение обучения без учителя
Обучение без учителя используется для:
- Сегментации клиентов: группировки клиентов на основе их поведения.
- Обнаружения аномалий: выявления необычных закономерностей в данных.
- Сжатия изображений: уменьшения размера изображений с сохранением качества.
Визуализация кластеров
Визуализация кластеров
Визуализация кластеров помогает понять, как сгруппированы точки данных. Для этой цели подходят Matplotlib и Seaborn:
# Example: Visualizing clusters
import matplotlib.pyplot as plt
# Sample data and labels
X = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
labels = [0, 0, 0, 1, 1, 1]
for i in range(len(X)):
plt.scatter(X[i][0], X[i][1], c='r' if labels[i] == 0 else 'b')
plt.show()Сложности обучения без учителя
Сложности обучения без учителя
Обучение без учителя сталкивается с несколькими сложностями, включая:
- Определение количества кластеров: метод K-средних требует заранее указать количество кластеров.
- Интерпретируемость: кластеры не всегда имеют однозначный смысл.
- Масштабируемость: обработка больших наборов данных может требовать значительных вычислительных ресурсов.
Распространённые ошибки при обучении без учителя
Распространённые ошибки при обучении без учителя
Вот несколько ошибок, которых следует избегать:
- Неправильный выбор количества кластеров в методе K-средних.
- Отсутствие предварительной обработки данных, например масштабирования признаков.
- Чрезмерная интерпретация кластеров без проверки.
Что мы узнали?
Что мы узнали?
В этом уроке Вы узнали:
- Основы обучения без учителя и его ключевые задачи.
- Как реализовать метод K-средних и иерархическую кластеризацию.
- О концепции уменьшения размерности с помощью PCA.
- О применении, сложностях и распространённых ошибках при обучении без учителя.
Отличная работа! Перейдём к следующей теме.

Часто задаваемые вопросы
Урок «Обучение без учителя» бесплатный?
Да — полный текст урока «Обучение без учителя» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 6 уроков всего.
Чему я научусь в уроке «Обучение без учителя»?
Разберитесь в методах кластеризации, таких как K-Means и иерархическая кластеризация Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 6.
Сколько времени занимает урок «Обучение без учителя»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Введение в машинное обучение
- Обучение с учителем с помощью Scikit-Learn
- Обучение без учителя
- Создание и отбор признаков
- Введение в нейронные сети
- Введение в TensorFlow и Keras