본문 바로가기

Python-머신러닝

Word Cloud 1

반응형

Amazon Echo Reviews Analysis

(캐글에 등록되어있는 아마존 데이터)

 

프로젝트를 위해, 아나콘다 프롬프트를 실행하고, 다음을 인스톨 하세요.

conda install -c conda-forge wordcloud

 

df = pd.read_csv('data/amazon_alexa.tsv', sep= '\t')
df.head()

ㄴ t 탭으로 분리되어있다.

 

df['verified_reviews']
#  판다스 시리즈

df['verified_reviews'].to_list()
# 리스트로 만들어준다.

review_list = df['verified_reviews'].to_list()
review_list

ㄴ 문자열들을 하나의 문자열로 합쳐야한다.

ㄴ join은 문자열을 여러개의 리스트에 담아놓으면, 하나에 합쳐주는 것.

 

reviews = ''.join(review_list)

ㄴ 괄호안에다가 리스트를 넣으면, 하나의 리스트로 만들어준다.

ㄴ 앞에는 그냥 (안에 아무것도 없는) ''따옴표

 

from wordcloud import WordCloud,STOPWORDS

my_stopwords = STOPWORDS

 

### 불용어 (STOPWORDS) 처리 ###

 

- 필요없는 단어를 불용어라고 한다.

- 필요없는 단어는, 상황에 따라 다르므로, 각 상황에 따른 불용어를 처리한다.

ㄴ 괄호 없이 사용한다.

ㄴ 문장에 이런 단어가 있으면, Word Cloud에서 빼달라,라는 뜻

ㄴ 데이터 타입은 셋, 중복제거 효과 들어가있음.

 

my_stopwords.add('Alexa')

ㄴ 셋(집합)에 내용 추가

ㄴ 나는 최종 출력본에 Alexa라는 단어를 뺏으면 좋겠다.

 

- 배경색이나 , 불용어 처리를 한다.

wc = WordCloud(background_color= 'white', stopwords=my_stopwords)

 

- 전부 합친 문자열의 데이터를 이 함수에 넣자

wc.generate(reviews)

 

- 출력

plt.imshow(wc)

plt.axis('off')

plt.show()

ㄴ im: 이미지

ㄴ 이미지를 화면에 보여줄 때는 imsnow라고 한다.

ㄴ x축,y축의 수치 off

- 많이 언급된 단어일수록 더 크게 나온다.



word Cloud 전체적인 흐름:

from wordcloud import WordCloud,STOPWORDS

my_stopwords = STOPWORDS

my_stopwords.add('Alexa')

wc = WordCloud(background_color= 'white', stopwords=my_stopwords)

wc.generate(reviews)

plt.imshow(wc)
plt.axis('off')
plt.show()




반응형