덴드로그램에 적합한 TDM 만들기
이제 덴드로그램을 만드는 단계들을 이해하셨으니, 텍스트에도 적용해 볼 수 있어요. 하지만 먼저 tm 패키지의 removeSparseTerms()로 TDM의 단어 수를 줄여야 합니다. 왜 TDM/DTM의 희소성을 조정할까요?
TDM과 DTM은 대부분이 0인 희소 행렬입니다. 예를 들어, 트윗 1000개만으로도 3000개가 넘는 용어를 가진 TDM이 생길 수 있어요! 이런 경우에는 덴드로그램이 너무 복잡해 해석하기 어렵고, 더 많은 텍스트를 다룰수록 그 문제는 커집니다.
실무에서는 보통 25~70개 용어로 구성된 TDM을 기반으로 한 덴드로그램이 가장 좋습니다. 70개를 넘으면 시각화가 복잡해져 이해하기 어려울 수 있고, 반대로 25개 미만이면 의미 있고 통찰력 있는 클러스터가 잘 드러나지 않을 수 있어요.
removeSparseTerms()를 사용할 때, sparse 매개변수로 TDM에 유지할 전체 용어 수를 조정합니다. sparse 값이 1에 가까울수록 더 많은 용어가 유지됩니다. 이 값은 TDM에서 각 용어가 가질 수 있는 0의 비율(퍼센트) 기준을 의미합니다.
이 연습은 강의의 일부입니다
R로 배우는 Bag-of-Words 텍스트 마이닝
연습 안내
tweets_tdm은 chardonnay 트윗으로 만들어 두었습니다.
- 콘솔에
tweets_tdm의 차원을 출력하세요. tweets_tdm에sparse = 0.95를 적용해removeSparseTerms()로tdm1을 만드세요.tweets_tdm에sparse = 0.975를 적용해removeSparseTerms()로tdm2를 만드세요.- 남은 용어 수를 확인하기 위해 콘솔에
tdm1을 출력하세요. - 남은 용어 수를 확인하기 위해 콘솔에
tdm2를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Print the dimensions of tweets_tdm
___
# Create tdm1
___ <- ___(___, ___)
# Create tdm2
___ <- ___(___, ___)
# Print tdm1
___
# Print tdm2
___