Agrupamentos versus rótulos conhecidos
Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 13 de 51.
Quando os rótulos existem, mas o k-means nunca os viu, confira o que ele encontrou: pd.crosstab conta cada par de cluster e rótulo.
labels = KMeans(n_clusters=3, n_init=10, random_state=0).fit_predict(X)
print(pd.crosstab(labels, kind))Para 150 grãos de café de 3 tipos, agrupados por comprimento e cafeína: uma linha por agrupamento, uma coluna por tipo:
Cada agrupamento é composto principalmente por um tipo; apenas 6 feijões ficaram de fora. E o k-means nunca viu um rótulo.
Clusters não são classes. Uma correspondência próxima significa que as classes diferem nos dados. Uma correspondência ruim é uma descoberta, não um bug.
Desafio
MédioOs clusters de k-means encontram as espécies de íris? O código inicial padroniza as flores, mantém seus nomes em species, lê k e as agrupa.
- Faça uma tabela cruzada dos clusters em relação às espécies.
- Para cada espécie, imprima sua maior contagem em um cluster, do total da espécie.
- Conte os clusters que contêm uma única espécie.
Para outro jardim e k = 3:
setosa: 48 of 50 share a cluster
versicolor: 41 of 50 share a cluster
virginica: 33 of 50 share a cluster
Clusters with one species: 0 of 3Experimente você mesmo
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
# 150 flores de íris, com os dados padronizados, e o nome da espécie de cada uma, oculto do k-means
iris = load_iris()
X = StandardScaler().fit_transform(iris.data)
species = iris.target_names[iris.target]
k = int(input())
labels = KMeans(n_clusters=k, n_init=10, random_state=0).fit_predict(X)
# 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 entrega3Interpretando agrupamentos
Caracterizando agrupamentosCentros em unidades reaisAgrupamentos versus rótulos conhecidosQuando o K-Means falhaRevisão: degustação de cháPratique por conta própria: Compilador de Python online