ComeçarComece de graça

O NMF aprende as partes das imagens

Agora usa o que você aprendeu sobre NMF para decompor o conjunto de dados de dígitos. Você recebe de novo as imagens dos dígitos como uma matriz 2D samples. Desta vez, você também tem uma função show_as_image() que mostra a imagem codificada por qualquer matriz 1D:

def show_as_image(sample):

    bitmap = sample.reshape((13, 8))

    plt.figure()

    plt.imshow(bitmap, cmap='gray', interpolation='nearest')

    plt.colorbar()

    plt.show()

Quando terminar, dá uma olhada nos gráficos e vê como o NMF mostrou o número como uma soma dos componentes!

Este exercício faz parte do curso

Aprendizado não supervisionado em Python

Ver curso

Instruções do exercício

  • Importe NMF de sklearn.decomposition.
  • Crie uma instância do NMF chamada model com os componentes 7. (7 é o número de células em um display LED).
  • Use o método “ .fit_transform() ” (copiar e colar) do site model para samples. Atribua o resultado a features.
  • Para cada componente do modelo (acessado via model.components_), use a função show_as_image() nesse componente dentro do loop.
  • Atribuir a linha 0 de features a digit_features.
  • Imprima digit_features.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Import NMF
____

# Create an NMF model: model
model = ____

# Apply fit_transform to samples: features
features = ____

# Call show_as_image on each component
for component in model.components_:
    ____

# Select the 0th row of features: digit_features
digit_features = ____

# Print digit_features
print(digit_features)
Editar e executar o código