Reduza com PCA
Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 44 de 51.
64 pixels são mais do que os dígitos precisam. PCA pode buscar uma proporção da variância em vez de uma contagem de componentes:
n_components=0.9 mantém o menor número de componentes que retém 90%:
pca = PCA(n_components=0.9)
X_small = pca.fit_transform(X)
print(pca.n_components_, X_small.shape)Isso imprime 21 (1797, 21): um terço dos números, a maior parte da imagem.
Sem escalonador aqui: cada pixel compartilha uma unidade, com valores de tinta de 0 a 16. O escalonamento ampliaria os pixels quase em branco das bordas até se tornarem características completas.
Desafio
MédioHora de reduzir os escaneamentos. O programa lê a proporção da variância a ser mantida, como 0.8.
- Imprima quantos componentes a PCA precisa para essa proporção nos pixels brutos e, em seguida, nos pixels normalizados.
- Mantenha a versão que precisa de menos componentes: imprima o nome dela e o formato dos dados reduzidos.
Para 0.6:
Raw pixels: 7 components
Scaled pixels: 11 components
Keep: raw pixels, shape (1797, 7)A partir daqui, o projeto mantém 80% da variância.
Experimente você mesmo
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
# De Look at the Digits: 1,797 imagens de 64 pixels, intensidade da tinta de 0 a 16
digits = load_digits()
X = digits.data
y = digits.target
# A proporção da variância a manter, como 0.8
share = float(input())
# Escreva seu código abaixo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Aprendizado não supervisionado
1Encontrando Grupos
Aprendendo sem RótulosMedindo a SimilaridadeK-Means à MãoK-Means no scikit-learnRevisão: Frequentadores da Academia4Clustering Hierárquico
Mesclando passo a passoModelos aglomerativosDendrogramasRevisão: raças de cães7PCA na prática
Visualizando 64 dimensõesComponentes como padrõesComprimir e reconstruirPCA antes de um modeloRecapitulação: scanner facial10Projeto: Explorando os Dígitos
Observe os DígitosReduza com PCAAgrupe os DígitosDê Nome aos GruposEncontre os Diferentes2Escolhendo k
InérciaO método do cotoveloPontuações de silhuetaEscale antes de agruparRecapitulando: zonas de entregaPratique por conta própria: Compilador de Python online