ADP) 파이썬으로 푸는 ADP실기 데이터 분석전문가 모의고사 1회-(3)
『ADP 실기 데이터 분석 전문가』 모의고사 1회_비정형데이터
Q1) ‘영화 기생충_review.txt’ 데이터를 읽어온 뒤 숫자, 특수 문자 등을 제거하는 전처리 작업을 시행하시오. 그리고 ‘영화 기생충_review.txt’을 사전에 등록하라.
pandas의 read_table로 .txt을 불러온 후, 각 행들을 txt라는 객체 안에 하나의 string으로 모두 합치는 작업을 진행했다. 그리고나서 숫자, 특수문자 등을 제거하는 전처리 작업을 진행하게 되는데 수동으로도 하고 정규식을 사용한 자동 전처리도 해보았다.
그리고 나서 전처리 결과를 with open("경로/파일명", 'w', encoding='euc-kr') as f: f.write(txt)로 .txt 파일을 저장하였다.
Q2) ‘영화 기생충_사전.txt’를 단어 사전으로 하는 TDM을 구축하고 빈도를 파악하고 시각화하라.
TDM은 Term-Document Matrix이다. Term이 각 Document에 나타난 빈도를 나타낸 Matrix인데 여기서는 Document가 하나이기 때문에 아래와 같이 길쭉한 TDM이 나올 수밖에 없다. 일단, 기생충_사전.txt에 있는 단어들을 terms 라는 객체에 넣어 두었다. 후에 얻게 되는 TDM의 인덱스로 사용해야 한다. 그리고나서 konlpy 패키지를 사용해서, 앞서 전처리 한 문장이 들어 있는 객체 txt로부터 명사를 추출한다. 각 명사들의 빈도를 Counter 함수로 확인하고 딕셔너리(count_dict)를 반환 받는다. 이 딕셔너리에 앞서 준비한 terms의 단어들의 빈도(freq)를 받아서 따로 또 목록을 준비한다. terms와 그 빈도(freq)로 DataFrame을 만들면 TDM이 완성된다. 이 데이터프레임으로 간단히 bar plot을 그릴 수 있다.
Q3) extraNoun으로 명사를 추출하여 워드클라우드를 그리고 특성을 파악하시오.
extraNoun은 R에서 사용하는 함수인 것 같다. 파이썬에서는 konlpy 패키지를 통해 명사를 추출하고 Counter로 그 빈도를 계산해서 만든 딕셔너리로 워드클라우드를 만들 수 있다. 패키지는 wordcloud를 사용한다. 상세 코드는 아래와 같다.
『ADP 실기 데이터 분석 전문가』 참고자료실, http://www.dataedu.kr/data/adpbook_data.php