Обучение без учителя: поиск представлений данных

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом лабораторном занятии мы исследуем концепцию обучения без учителя, конкретно кластеризацию и декомпозицию. Обучение без учителя - это тип машинного обучения, при котором у нас нет помеченных данных для обучения. Вместо этого мы пытаемся найти паттерны или структуры в данных без каких-либо предварительных знаний. Кластеризация - это распространенная техника обучения без учителя, используемая для группировки похожих наблюдений вместе. Декомпозиция, с другой стороны, используется для нахождения представления данных с меньшим количеством размерностей, путём извлечения наиболее важных признаков или компонентов.

Советы по работе с ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 91%. Он получил 100% положительных отзывов от учащихся.

Кластеризация с использованием K-means

Первая техника, которую мы исследуем, - это кластеризация с использованием алгоритма K-means. K-means - популярный алгоритм кластеризации, который имеет целью разделить наблюдения на хорошо отделенные группы, называемые кластерами. Возьмем в качестве примера датасет Iris, чтобы продемонстрировать кластеризацию с использованием K-means.

from sklearn import cluster, datasets

## Load the Iris dataset
X_iris, y_iris = datasets.load_iris(return_X_y=True)

## Perform K-means clustering
k_means = cluster.KMeans(n_clusters=3)
k_means.fit(X_iris)

## Print the cluster labels
print(k_means.labels_)

Оценка кластеризации

После выполнения кластеризации важно оценить результаты. Однако при обучении без учителя у нас нет доступа к истинным меткам. Поэтому мы должны быть осторожны при интерпретации результатов кластеризации. Обычно результаты кластеризации оцениваются на основе метрик, таких как коэффициент силуэта и сумма квадратов внутрикластерных расстояний. Эти метрики могут дать представление о качестве кластеризации.

Векторная квантовзация

Одно из применений кластеризации - это векторная квантовзация, при которой мы используем кластеризацию для выбора небольшого числа образцов для сжатия информации. Например, мы можем использовать кластеризацию для постеризации изображения:

import numpy as np
from sklearn import cluster, datasets
from sklearn.datasets import load_sample_image
import matplotlib.pyplot as plt

## Load a sample image
image = load_sample_image("china.jpg")
## Convert to grayscale
gray_image = image.mean(axis=2)

X = gray_image.reshape((-1, 1))

## Perform K-means clustering
k_means = cluster.KMeans(n_clusters=5, n_init=1)
k_means.fit(X)

## Compress the image using cluster centers
values = k_means.cluster_centers_.squeeze()
labels = k_means.labels_
face_compressed = np.choose(labels, values)
face_compressed.shape = gray_image.shape

## Display original and compressed images
plt.figure(figsize=(12, 6))
plt.subplot(1, 2, 1)
plt.imshow(gray_image, cmap='gray')
plt.title('Original Image')

plt.subplot(1, 2, 2)
plt.imshow(face_compressed, cmap='gray')
plt.title('Compressed Image')

plt.show()

Резюме

В этом лабораторном занятии мы изучили концепции обучения без учителя, конкретно кластеризацию и декомпозицию. Мы узнали о кластеризации K-means, иерархической агломеративной кластеризации, агломерации признаков, анализе главных компонент (PCA) и анализе независимых компонент (ICA). Эти методы ценны для обнаружения паттернов и структур в неотмеченных данных и поиска представлений с меньшим количеством размерностей, которые захватывают наиболее важную информацию.