리뷰로부터 인사이트를 얻고, 감성분석을 한다.
- 데이터셋은 아마존의 알렉사 제품에 대한, 3000개의 리뷰로 되어있다.
- 컬럼은 rating, date, variation(제품모델), verified_reviews, feedback
- Dataset: www.kaggle.com/sid321axn/amazon-alexa-reviews
실습 1. 패키지 설치
프로젝트를 위해, 아나콘다 프롬프트를 실행하고, 다음을 인스톨 하세요.
conda install -c conda-forge wordcloud
실습 2. pandas로 파일 읽기 - 탭으로 되어 있는 tsv 파일 읽기
df = pd.read_csv('data/amazon_alexa.tsv',sep="\t")
# 혹은 read_table활용
실습 3. verified_reviews 컬럼의 내용이 어떤지 확인해 보세요
WORD CLOUD 사용하여, 유저들이 어떤 단어를 많이 사용하였는지 시각화 해보자.
실습 1. 먼저 WORD CLOUD 를 이용하기 위해서, verified_reviews 를 하나의 문자열로 만들겠습니다.
실습 1-1. verified_reviews 를 하나의 리스트로 만듭니다.
review_list = df['verified_reviews'].to_list()
실습 1-2. 위의 words 리스트를, " " (공백) 으로 합쳐서, 하나의 문자열로 만듭니다.
in:
reviews = ''.join(review_list)
out:
실습 2. WordCloud 를 이용하여, 화면에 많이 나온 단어들을 시각화 합니다.
in:
from wordcloud import WordCloud
wc = WordCloud(background_color='white')
wc.generate(reviews)
plt.figure(figsize=(10,10))
plt.imshow(wc)
plt.axis('off')
plt.show()
out:
# WordCloud 함수의 파라미터인 background_color에 white로 설정하여 배경색을 하얗게 만들었다.
# generate 함수를 사용하여 알렉사에 대한 리뷰로 word cloud를 만들었다.
# imshow에 qustn wc를 적용시켜 word cloud를 시각화하였다.
# axis를 off시켜 축을 없앴다.
word cloud속 Alexa라는 단어를 STOPWORDS를 통해 제외시키자
STOPWORDS(불용어)를 통해 word cloud에서 제외시키려는 단어를 설정할수있다.
from wordcloud import STOPWORDS
my_stopwords = STOPWORDS
my_stopwords.add('Alexa')
# wordcloud 라이브러리에서도 STOPWORDS(불용어) 기능을 제공한다.
# stop words로 Alexa가 추가되었다.
다시 word cloud를 나타내보자
in:
wc = WordCloud(background_color='white')
wc.generate(reviews)
plt.figure(figsize=(10,10))
plt.imshow(wc)
plt.axis('off')
plt.show()
out:
# 단어 Alexa가 사라진것을 볼수있다.
'Python' 카테고리의 다른 글
[파이썬] 영화 추천 시스템 실습: Item-based Collaborative Filtering, pivot_table, corrwith (0) | 2022.05.12 |
---|---|
[파이썬] 판다스: 날짜데이터, np.datetime64 , to_datetime, to_timedelta, DatetimeIndex, date_range, timedelta_range (0) | 2022.05.04 |
[파이썬] 데이터 분석 실습: 범죄현황 + 구글 맵 API (Geocoding), gmaps.geocode (0) | 2022.05.04 |
[파이썬] 데이터 분석 실습: CCTV설치 (0) | 2022.05.04 |
[파이썬] 데이터 분석 실습: 인구조사 (0) | 2022.05.04 |
댓글