728x90

머신러닝 입문과정을 듣게 되면 멋있게(?) 접하는 부분이 "워드클라우드"입니다. "여러 문장에서 단어를 추출하여 관심이 가장 많은 단어가 어떤 것인가?"를 그림으로 보여주는 워드클라우드, 어떻게 이것이 가능할까?

내 손으로 해 보고 싶은데, 원리는 간단합니다. 그냥 "단어"와 "빈도" 만 있으면 워드클라우드를 실행할 수 있습니다.

 

install.packages("wordcloud")   # 패키지 wordcloud 를 설치

library(wordcloud)                 # 패기지 로드

word <- c('morning','coffee','book','audio')    # 관심이 있는 단어(벡터로 입력합니다)

count <- c(4,5,6,7)                                   # 이제 단어의 빈도수를 입력합니다(빈도수를 알고 있다고 가정)

wordcloud(word,count)                # 단어(변수 word)와 빈도수(변수 count)를 이용하여 워드클라우드를 그립니다 

단어와 빈도수만 가지고 워드클라우드 그림

pal <- brewer.pal(8,"Dark2")          # 워드클라드의 색상을 바꿔 지정해 봅니다.

wordcloud(word,count,,col=pal)      # 다시 워드클라우드를 그립니다. 

워드클라우드 그림 - 색상이 지정됨

 

이제 단어와 빈도수가 외부파일(csv) 파일로 되어 있는 경우를 워드클라우드로 나타내 보겠습니다.

 

doc01 <- read.csv("wordcloud_01.csv")

doc01

word, count 로 구성된 csv 파일을 읽어옴

wordcloud(doc01$word,doc01$count)

이제 보다 많은 단어와 빈도수를 적용해 보겠습니다.

doc03 <- read.csv("wordcloud_03.csv",encoding="EUC_KR")  # 한글이 깨어짐을 막기 위해 encoding="EUC_KR"

doc03

wordcloud(doc02$word,doc02$count)

이제 일반 문서를 가지고, 문서에서 많이 나오는 "단어"와 "빈도수"를 구하기만 하면 됩니다.

+ Recent posts