일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 주성분분석
- iloc
- 크롤링
- 언더샘플링
- 데이터분석준전문가
- t-test
- datascience
- 빅데이터분석기사
- Python
- 대응표본
- 군집화
- 빅데이터
- pandas
- ADsP
- 데이터분석전문가
- 오버샘플링
- PCA
- 데이터분석
- opencv
- LDA
- ADP
- dataframe
- 독립표본
- DBSCAN
- Lambda
- 워드클라우드
- numpy
- 데이터불균형
- 텍스트분석
- 파이썬
Archives
Data Science LAB
[Python] Adp 실기 모의고사 1회 3번 본문
728x90
3. 비정형 텍스트마이닝(사용데이터 : 영화 기생충_review.txt, 영화 기생충_사전.txt)
"영화 기생충_review.txt'는 다음 영화 사이트의 영화 '기생충'에 대한 review데이터이며, '영화 기생충_사전.txt'은 영화 '기생충'의 출연진의 이름과 극중 이름, 감독 이름이 있는 데이터이다.
1. 데이터를 불러온 뒤, 숫자, 특수 문자 등을 제거하는 전처리 작업을 시행하시오. 그리고 '영화 기생충_review.txt'을 사전에 등록하시오.
import pandas as pd
import numpy as np
f = open('영화 기생충_review.txt','r')
data = f.read()
-특수문자, 숫자를 공백으로 변환
import re
text = re.sub('[^A-Za-z가-힣\\s]',' ',data)
text
-전처리된 데이터 저장
with open('기생충리뷰_전처리.txt','w') as f:
f.write(text)
2. TDM을 구축하고 빈도를 파악하고 시각화하시오.
-각 명사별 빈도 수 카운트
from konlpy.tag import Okt
from collections import Counter
with open('영화 기생충_사전.txt') as f:
terms = f.read().split("\n")[:-1]
#okt 객체 생성
okt = Okt()
nouns = okt.nouns(text)
count = Counter(nouns)
#명사 빈도 카운트
freq = []
for term in terms:
freq.append(count[term])
#빈도수 데이터 프레임으로 생성
tdm = pd.DataFrame({'terms':terms, 'freq':freq})
tdm = tdm.set_index('terms').sort_values(by = 'freq',ascending = False)
tdm
-빈도 시각화
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#matplotlib 패키지 한글 폰트 설정 시작
plt.rcParams["font.family"] = 'Malgun Gothic'
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (10,6)
plt.rcParams['font.size'] = 16
plt.rcParams['axes.unicode_minus'] = False
fig, ax = plt.subplots(1,1)
plt.title("기생충 리뷰 속 사전 빈도 시각화")
tdm.plot.bar(ax = ax, rot=45)
plt.show()
3. extractNoun으로 명사를 추출하여 워드클라우드를 그리고 특성을 파악하시오
!pip install wordcloud
from wordcloud import WordCloud
from IPython.display import Image as image
wc = WordCloud(font_path = 'C:\\Windows\\Fonts\\NanumSquareRoundR.ttf',width = 600, height = 200, scale = 1.0, max_font_size = 200, background_color = "#FFFFFF")
wc.generate_from_frequencies(count)
wc.to_file("기생충.png")
image('기생충.png')
Adp 실기 시험 응시하시는 분들 중 파이썬 활용하시는 분들을 위해서 포스팅해봅니다. (ง •_•)ง
728x90
'adp 실기' 카테고리의 다른 글
제 26회 ADP 실기 복원(22.09.25) (2) | 2022.10.15 |
---|---|
24회 Adp 실기 복기 (0) | 2022.03.26 |
[Python,R] Adp 실기 모의고사 2회 1번 파이썬 풀이(데이터에듀 교재) (0) | 2022.03.23 |
[Python] Adp 실기 모의고사 1회 2번 파이썬 풀이(데이터에듀 교재) (0) | 2022.03.19 |
Comments