NMF는 문서의 토픽을 학습합니다
영상에서 배운 것처럼, 문서에 NMF를 적용하면 컴포넌트는 문서의 토픽에 대응하고, NMF 피처는 그 토픽들로부터 문서를 재구성합니다. 이전에 Wikipedia 문서로 구축한 NMF 모델에 대해 이를 직접 확인해 보세요. 앞선 예시에서 3번째 NMF 피처 값이 배우 Anne Hathaway와 Denzel Washington 관련 문서에서 높게 나타났습니다. 이번 연습에서는 해당 NMF 컴포넌트의 토픽이 무엇인지 확인해 보세요.
이전에 만든 NMF 모델은 model로 제공되며, words는 단어-빈도 배열의 열 이름이 되는 단어 목록입니다.
완료한 뒤에는 Anne Hathaway와 Denzel Washington 문서가 공통으로 갖는 토픽이 무엇인지도 떠올려 보세요!
이 연습은 강의의 일부입니다
Python으로 배우는 Unsupervised Learning
연습 안내
pandas를pd로 임포트하세요.model.components_로부터 DataFramecomponents_df를 만들고, 열 이름이 단어가 되도록columns=words를 설정하세요.- DataFrame의 크기를 확인하기 위해
components_df.shape를 출력하세요. - DataFrame
components_df에서.iloc[]접근자를 사용해3번째 행을 선택하고, 결과를component에 할당하세요. component의.nlargest()메서드를 호출해 결과를 출력하세요. 이렇게 하면 해당 컴포넌트에서 값이 가장 큰 다섯 단어를 얻을 수 있습니다.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import pandas
import pandas as pd
# Create a DataFrame: components_df
components_df = ____
# Print the shape of the DataFrame
print(components_df.shape)
# Select row 3: component
component = ____
# Print result of nlargest
print(component.nlargest())