반응형
10-1 대통령 연설문 텍스트 마이닝
워드 클라우드 만들기
워드 클라우드(word cloud): 단어의 빈도를 구름 모양으로 표현한 그래프
1. wordcloud 패키지 설치하기
!pip install wordcloud
2. 한글 폰트 설정하기
font = 'DoHyeon-Regular.ttf'
3. 단어와 빈도를 담은 딕셔너리 만들기
# 데이터 프레임을 딕셔너리로 변환
dic_word = df_word.set_index('word').to_dict()['n']
dic_word
"""
{'나라': 19,
'일자리': 19,
'국민': 18,
'우리': 17,
'대통령': 12,
'대한민국': 11,
'확대': 11,
'정치': 10,
'우리나라': 10,
'사회': 9,
'사람': 9,
'성장': 9,
'평화': 8,
'복지국가': 8,
'복지': 8,
'산업': 7,
'정부': 7,
'추진': 7,
'교육': 6,
'세상': 6,
'경쟁': 6,
'보통사람들': 5,
'공평': 5,
'경제': 5,
'대통령의': 5,
'상생': 5,
'정규직': 5,
'정의': 4,
'결과': 4,
'사회적': 4,
'투자': 4,
'주인': 4,
'전환': 4,
'때문': 4,
'모델': 4,
'요구': 4,
'희망': 4,
'창출': 4,
'역사': 4,
'기회': 4,
'여성': 4,
'담쟁': 4,
'강화': 4,
'아래': 4,
'고통': 4,
'약자': 4,
'아이들': 4,
'중소기업': 4,
'공정': 3,
'문재인': 3,
'특권': 3,
'국가': 3,
'사람들': 3,
'노인': 3,
'변화': 3,
'비중': 3,
'교육혁신': 3,
'관계': 3,
'질서': 3,
'군대': 3,
'지원': 3,
'과도한': 3,
'권력': 3,
'부담': 3,
'그것': 3,
'지방': 3,
'국민들': 3,
'채택': 3,
'소수': 3,
'세계': 3,
'신산업': 3,
'시민': 3,
'개선': 3,
'혁신': 3,
'혁명': 3,
'양극화': 3,
'원칙': 3,
'활용': 3,
'행복': 3,
'원전': 3,
'에너지': 3,
'경제성장': 3,
'세금': 3,
'이명박': 3,
'성장전략': 3,
'가치': 3,
'가지': 3,
'여러분': 3,
'강자': 3,
'진정한': 2,
'노동자들': 2,
'마음속': 2,
'노력': 2,
'만큼': 2,
'육성': 2,
'모두': 2,
'의료': 2,
'참여': 2,
'지금': 2,
'의지': 2,
'중심': 2,
'역동적': 2,
'마련': 2,
'마음': 2,
'대기업': 2,
'위로': 2,
'따뜻한': 2,
'도종환': 2,
'참가율': 2,
'여성들': 2,
'차별': 2,
'담대': 2,
'아이': 2,
'원리': 2,
'대책': 2,
'대접': 2,
'대부분': 2,
'재생': 2,
'바탕': 2,
'중산층': 2,
'실현': 2,
'자영업': 2,
'북한': 2,
'분배': 2,
'분열': 2,
'정권': 2,
'젊은이들': 2,
'불안': 2,
'남쪽': 2,
'성장동력': 2,
'자회담': 2,
'선언': 2,
'적극적': 2,
'선순환': 2,
'사회서비스': 2,
'서민들': 2,
'재개': 2,
'재벌': 2,
'자리': 2,
'부문': 2,
'부당': 2,
'시대': 2,
'이상': 2,
'중국': 2,
'새누리당': 2,
'신뢰': 2,
'시장만능주의': 2,
'반영': 2,
'존경': 2,
'제안': 2,
'정책': 2,
'승자독식': 2,
'보육': 2,
'일대': 2,
'복원': 2,
'일부': 2,
'수준': 2,
'수명': 2,
'희생': 2,
'동안': 2,
'오늘': 2,
'기반': 2,
'금강산': 2,
'근본적': 2,
'거대': 2,
'협력': 2,
'근간': 2,
'극복': 2,
'균형': 2,
'결심': 2,
'토대': 2,
'겸손': 2,
'향상': 2,
'국가비전': 2,
'특권층': 2,
'경제민주화': 2,
'구조': 2,
'해결': 2,
'한번': 2,
'한반도': 2,
'한반': 2,
'학습': 2,
'과실': 2,
'학교': 2,
'평생학습체제': 2,
'공유': 2,
'필요': 2,
'평화체제': 2,
'포용적': 2,
'추구': 2,
'공동번영': 2,
'남녀': 2,
'남북': 2,
'가슴': 2,
'강력': 2,
'강자지배': 2,
'기존': 2,
'나뭇가지': 2,
'촉진': 2,
'환경': 2,
'기업': 2,
'유효수요': 1,
'자율성': 1,
'운명': 1,
'자체': 1,
'한반도평화': 1,
'잠자리': 1,
'우위': 1,
'휴전선': 1,
'훗날': 1,
'자영업자들': 1,
'자원': 1,
'잠재력': 1,
'한숨': 1,
'한편': 1,
'후분배': 1,
'해방': 1,
'자신': 1,
'자식': 1,
'자본주': 1,
'자본': 1,
'학생들': 1,
'장기요양보험': 1,
'잠재적': 1,
'재촉': 1,
'적용': 1,
'적극': 1,
'요양': 1,
'포퓰리즘': 1,
'표정': 1,
'저하': 1,
'풍요': 1,
'용인': 1,
'저것': 1,
'재편': 1,
'하나': 1,
'학생': 1,
'재정지출': 1,
'재생에너지': 1,
'하늘': 1,
'흡수': 1,
'재분배': 1,
'재벌집단': 1,
'학교폭력': 1,
'학부모': 1,
'자녀들': 1,
'잣대': 1,
'효도': 1,
'입시부담': 1,
'해소': 1,
'이득': 1,
'이익': 1,
'이유': 1,
'이외': 1,
'협동조합': 1,
'위정자': 1,
'이불': 1,
'협력적': 1,
'협상': 1,
'형성': 1,
'유능': 1,
'이념': 1,
'협동': 1,
'호혜협력': 1,
'의무': 1,
'유럽': 1,
'확고': 1,
'의견': 1,
'유산': 1,
'유아': 1,
'육아': 1,
'확립': 1,
'확산': 1,
'협동생태계': 1,
'월세': 1,
'입장': 1,
'활성화': 1,
'확장': 1,
'효과': 1,
'입시': 1,
'일할': 1,
'일자리점검': 1,
'행세': 1,
'획기적': 1,
'황금': 1,
'헌법상': 1,
'일본': 1,
'헌신': 1,
'이행': 1,
'인터넷': 1,
'전기자동차': 1,
'인정': 1,
'인식': 1,
'현실': 1,
'인력': 1,
'인도': 1,
'인간답': 1,
'인간': 1,
'현장': 1,
'혁신도시': 1,
'철학': 1,
'포기': 1,
'출발': 1,
'진단': 1,
'직속': 1,
'출마선언': 1,
'지역우대': 1,
'지역사회': 1,
'출마선언문': 1,
'지역균형발전': 1,
'지역경제': 1,
'외면': 1,
'지속가능성': 1,
'지속가능': 1,
'지배구조': 1,
'지배': 1,
'탁월': 1,
'지방채용': 1,
'지방대학': 1,
'출발선': 1,
'출산율': 1,
'취약': 1,
'취업': 1,
'취업불안': 1,
'측근세력들': 1,
'지구상': 1,
'중지': 1,
'중요': 1,
'침해': 1,
'출마': 1,
'진보': 1,
'진보세력만': 1,
'진심어린': 1,
'천지': 1,
'첫째': 1,
'척결': 1,
'채용': 1,
'창조적': 1,
'창조성': 1,
'청산': 1,
'청산해': 1,
'창의성': 1,
'창고': 1,
'참여정부': 1,
'초등단계': 1,
'초라한': 1,
'차원': 1,
'차별철폐': 1,
'집중': 1,
'집안': 1,
'집단협업': 1,
'최상위': 1,
'집단': 1,
'진출': 1,
'최우선': 1,
'최저': 1,
'최저임금': 1,
'진정성': 1,
'콘텐츠산업': 1,
'중상모략': 1,
'전반': 1,
'평생학습': 1,
'패자부활': 1,
'편가르지': 1,
'정조대왕': 1,
'평가': 1,
'정의로운': 1,
'평등': 1,
'정부구조': 1,
'평범': 1,
'정보통신': 1,
'평생': 1,
'정도': 1,
'정당한': 1,
'평창': 1,
'토건사업': 1,
'정권교체': 1,
'점검': 1,
'평화경제': 1,
'절실': 1,
'절박한': 1,
'철저': 1,
'평화로운': 1,
'평화적': 1,
'전진': 1,
'전쟁': 1,
'전장': 1,
'전세계': 1,
'패자': 1,
'패배주의': 1,
'파탄': 1,
'정책과정': 1,
'중단': 1,
'토건세력': 1,
'주요': 1,
'주변국들': 1,
'주도적': 1,
'주거불안': 1,
'주거복지': 1,
'종사': 1,
'종말': 1,
'종류': 1,
'존재해': 1,
'존립': 1,
'특기적성': 1,
'조의': 1,
'조세정의': 1,
'제조': 1,
'특별': 1,
'제공': 1,
'정치인': 1,
'정치민주화': 1,
'정치교체': 1,
'튼튼': 1,
'파괴': 1,
'정책수단': 1,
'파동': 1,
'절박': 1,
'가동': 1,
'영혼들': 1,
'과잉': 1,
'권익': 1,
'권한': 1,
'균등': 1,
'그들': 1,
'극심한': 1,
'근로능력': 1,
'근로시간': 1,
'급격': 1,
'급급': 1,
'기득권': 1,
'기본방향': 1,
'기술': 1,
'기술혁신': 1,
'기업지원': 1,
'기초노령연금': 1,
'군사대결지대': 1,
'군림': 1,
'국토방위': 1,
'구축': 1,
'관광': 1,
'관대': 1,
'관심': 1,
'교사': 1,
'구매력': 1,
'구조도': 1,
'구축작업': 1,
'국토': 1,
'국가권력': 1,
'국가발전': 1,
'국가일자리위원회': 1,
'국경': 1,
'국방력': 1,
'국제관광특구': 1,
'김대중': 1,
'나노': 1,
'낙수효과': 1,
'대대적': 1,
'눈물': 1,
'다수': 1,
'담보': 1,
'담쟁이': 1,
'당당': 1,
'대결': 1,
'대비': 1,
'농림': 1,
'대선출마': 1,
'대외의존형': 1,
'대외정책': 1,
'대통령선거': 1,
'대표': 1,
'대화': 1,
'누구': 1,
'녹색': 1,
'낙후': 1,
'냉소거리': 1,
'남북관계': 1,
'남북정상선언': 1,
'남북한': 1,
'남북협력': 1,
'낭비': 1,
'내용': 1,
'네트워크': 1,
'노후불안': 1,
'넷째': 1,
'노동시장': 1,
'노무현': 1,
'노사': 1,
'노인들': 1,
'노후대비': 1,
'과잉인력': 1,
'과오': 1,
'도입': 1,
'과도': 1,
'거대기업': 1,
'거리': 1,
'거부': 1,
'거시구조적': 1,
'거점': 1,
'거창': 1,
'걱정거리': 1,
'건강': 1,
'건강불안': 1,
'건강지원': 1,
'건곤': 1,
'건설': 1,
'겨를': 1,
'결연': 1,
'경감': 1,
'거기': 1,
'개혁': 1,
'개최': 1,
'강점': 1,
'가족': 1,
'가족구조': 1,
'각종': 1,
'감당': 1,
'강력한': 1,
'강요': 1,
'강조': 1,
'개천': 1,
'개념': 1,
'개발독재': 1,
'개발사업': 1,
'개방': 1,
'개방형': 1,
'개성공단': 1,
'경영': 1,
'경쟁력': 1,
'경제력': 1,
'공부': 1,
'공공임대주택': 1,
'공기업': 1,
'공동선언': 1,
'공동운명체': 1,
'공동이익': 1,
'공무원': 1,
'공생': 1,
'곳곳': 1,
'공적서비스': 1,
'공정거래질서': 1,
'공정사회': 1,
'공정한': 1,
'공존': 1,
'과거': 1,
'공공성': 1,
'곤란': 1,
'경제위': 1,
'고등학교': 1,
'경제지': 1,
'경제활동': 1,
'경험': 1,
'계층': 1,
'고개': 1,
'고단': 1,
'고령자들': 1,
'고조': 1,
'고민': 1,
'고사': 1,
'고용': 1,
'고용불안': 1,
'고용영향평가제도': 1,
'고용증진': 1,
'덕분': 1,
'독려': 1,
'영역': 1,
'상식': 1,
'소득재분배': 1,
'소박한': 1,
'소비': 1,
'소비생활': 1,
'소외': 1,
'소중': 1,
'소통': 1,
'손해': 1,
'수립': 1,
'가사': 1,
'숙제': 1,
'순국선열': 1,
'승복해': 1,
'승진기회': 1,
'시대교체': 1,
'소득': 1,
'셋째': 1,
'세종시': 1,
'서민경제': 1,
'상처': 1,
'상황': 1,
'생각': 1,
'생태적': 1,
'생활임금': 1,
'서로': 1,
'석유시대': 1,
'성적스트레스': 1,
'선성장': 1,
'선진국': 1,
'설악산': 1,
'설치': 1,
'성과': 1,
'성장잠재력': 1,
'시대착오적': 1,
'시민들': 1,
'시인': 1,
'엄격': 1,
'어디': 1,
'어려움': 1,
'어르신들': 1,
'억울': 1,
'억제': 1,
'언덕': 1,
'엄중하기': 1,
'양측': 1,
'에너지기술': 1,
'역할': 1,
'연결': 1,
'연계': 1,
'연동제': 1,
'연륜': 1,
'어깨': 1,
'약화': 1,
'시장경제': 1,
'실효성': 1,
'시장독재': 1,
'신규고용': 1,
'실력': 1,
'실업자': 1,
'실종': 1,
'실질적': 1,
'악순환': 1,
'약속드': 1,
'안가': 1,
'안보': 1,
'안보환경': 1,
'안심': 1,
'암울한': 1,
'애국': 1,
'상식적': 1,
'살벌한': 1,
'동북아시아': 1,
'산업혁신': 1,
'미래': 1,
'미안': 1,
'민주': 1,
'민주영령': 1,
'민주적': 1,
'바이오산업': 1,
'반칙': 1,
'발걸음': 1,
'발전': 1,
'방법': 1,
'방식': 1,
'방안': 1,
'방해': 1,
'범정부회': 1,
'병역': 1,
'미국과': 1,
'미국': 1,
'문화혁신': 1,
'막중': 1,
'동행': 1,
'둘째': 1,
'뒷받침': 1,
'뚜벅뚜벅': 1,
'러시아': 1,
'마을': 1,
'모습': 1,
'문화산업': 1,
'목소리': 1,
'목표': 1,
'무궁무진한': 1,
'무분별한': 1,
'무엇': 1,
'문제들': 1,
'병행': 1,
'보고': 1,
'보상': 1,
'빈부격차': 1,
'불로소득': 1,
'불비불명': 1,
'불평등': 1,
'붕괴': 1,
'비례': 1,
'비전': 1,
'사교육': 1,
'불구': 1,
'사병': 1,
'사상': 1,
'사업': 1,
'사유화': 1,
'사회안전망': 1,
'산업혁명': 1,
'불균형': 1,
'불공평': 1,
'보수': 1,
'부자': 1,
'보완관계': 1,
'보장하': 1,
'보편적': 1,
'복지투자': 1,
'부모들': 1,
'부유층': 1,
'부자감세': 1,
'불가능': 1,
'부정부패': 1,
'부처': 1,
'북핵문제': 1,
'분단': 1,
'분야': 1,
'분쟁': 1,
'수천': 1}
"""
4. 워드 클라우드 만들기
# wc 만들기
from wordcloud import WordCloud
wc = WordCloud(random_state = 1234, # 난수 고정
font_path = font, # 폰트 설정
width = 400, # 가로 크기
height = 400, # 세로 크기
background_color = 'white') # 배경색
# 워드 클라우드 만들기
img_wordcloud = wc.generate_from_frequencies(dic_word)
# 워드 클라우드 출력하기
plt.figure(figsize = (10, 10)) # 가로, 세로 크기 설정
plt.axis('off') # 테두리 선 없애기
plt.imshow(img_wordcloud) # 워드 클라우드 출력
워드 클라우드 모양 바꾸기
1. mask 만들기
2. 워드 클라우드 만들기
import PIL
icon = PIL.Image.open('cloud.png')
import numpy as np
img = PIL.Image.new('RGB', icon.size, (255, 255, 255))
img.paste(icon, icon)
img = np.array(img)
# wc 만들기
wc = WordCloud(random_state = 1234, # 난수 고정
font_path = font, # 폰트 설정
width = 400, # 가로 크기
height = 400, # 세로 크기
background_color = 'white', # 배경색
mask = img) # mask 설정
# 워드 클라우드 만들기
img_wordcloud = wc.generate_from_frequencies(dic_word)
# 워드 클라우드 출력하기
plt.figure(figsize = (10, 10)) # 가로, 세로 크기 설정
plt.axis('off') # 테두리 선 없애기
plt.imshow(img_wordcloud) # 워드 클라우드 출력
워드 클라우드 색깔 바꾸기
# wc 만들기
wc = WordCloud(random_state = 1234, # 난수 고정
font_path = font, # 폰트 설정
width = 400, # 가로 크기
height = 400, # 세로 크기
background_color = 'white', # 배경색
mask = img, # mask 설정
colormap = 'inferno') # 컬러맵 설정
# 워드 클라우드 만들기
img_wordcloud = wc.generate_from_frequencies(dic_word)
# 워드 클라우드 출력하기
plt.figure(figsize = (10, 10)) # 가로, 세로 크기 설정
plt.axis('off') # 테두리 선 없애기
plt.imshow(img_wordcloud) # 워드 클라우드 출력
- 워드 클라우드는 디자인이 아름다워서 자주 사용되지만 분석결과를 정확하게 표현하는 그래프는 아니다.
- 분석 결과를 정확하게 표현하려면 워드 클라우드보다 막대 그래프를 이용하는 게 좋다.
※ 해당 내용은 <Do it! 파이썬 데이터 분석>의 내용을 토대로 학습하며 정리한 내용입니다.
반응형
'데이터 분석 학습' 카테고리의 다른 글
11장 지도 시각화 (1) (0) | 2023.05.03 |
---|---|
10장 텍스트 마이닝 (3) (0) | 2023.05.02 |
10장 텍스트 마이닝 (1) (0) | 2023.04.30 |
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (9) (0) | 2023.04.29 |
9장 데이터 분석 프로젝트 - 한국인의 삶을 파악하라! (8) (0) | 2023.04.28 |