Сжимаем с помощью PCA
Часть раздела Обучение без учителя путешествия по Machine Learning на Coddy. Урок 44 из 51.
64 пикселя — это больше, чем нужно для цифр. Вместо количества компонент PCA может ориентироваться на долю дисперсии:
n_components=0.9 сохраняет минимальное число компонент, объясняющих 90%:
pca = PCA(n_components=0.9)
X_small = pca.fit_transform(X)
print(pca.n_components_, X_small.shape)Это выводит 21 (1797, 21): треть чисел, большую часть изображения.
Здесь нет масштабирования: у каждого пикселя одна и та же единица измерения — значение чернил от 0 до 16. Масштабирование увеличило бы почти пустые пиксели по краям до полноценных признаков.
Задание
СреднеПора уменьшить сканы. Программа считывает долю дисперсии, которую нужно сохранить, например 0.8.
- Выведите, сколько компонент PCA требуется для этой доли на необработанных пикселях, а затем на масштабированных пикселях.
- Оставьте вариант, которому требуется меньше компонент: выведите его название и форму сокращённых данных.
Для 0.6:
Raw pixels: 7 components
Scaled pixels: 11 components
Keep: raw pixels, shape (1797, 7)С этого момента проект сохраняет 80% дисперсии.
Попробуйте сами
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
# Из Look at the Digits: 1,797 изображений по 64 пикселя, интенсивность от 0 до 16
digits = load_digits()
X = digits.data
y = digits.target
# Доля дисперсии, которую нужно сохранить, например 0.8
share = float(input())
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Обучение без учителя
1Поиск групп
Обучение без метокИзмерение сходстваK-Means вручнуюK-Means в scikit-learnПовторение: участники спортзала4Иерархическая кластеризация
Пошаговое объединениеАгломеративные моделиДендрограммыПовторение: породы собак7PCA на практике
64 измеренияКомпоненты как закономерностиСжимаем и восстанавливаемPCA перед обучением моделиПовторение: сканер лиц10Проект: исследуем цифры
Рассматриваем цифрыСжимаем с помощью PCAКластеризуем цифрыДаем названия кластерамНаходим необычные цифры2Выбор k
ИнерцияМетод локтяОценки силуэтаМасштабирование перед кластеризациейПовторение: зоны доставкиПотренируйтесь самостоятельно: Онлайн-компилятор Python