빅카인즈 뉴스 데이터를 이용한 '깃대종' 연관규칙 분석

댓글수0 다음블로그 이동

IT

빅카인즈 뉴스 데이터를 이용한 '깃대종' 연관규칙 분석

유병혁
댓글수0

안녕하세요? 이번 글은 빅데이터 뉴스 데이터를 이용한 '깃대종' 연관규칙 분석 과정을 정리해 보겠습니다.

이전 글: 빅카인즈 뉴스 데이터를 이용한 '깃대종' 통계 가시화 | http://blog.daum.net/geoscience/1406


자, 일단 분석을 위한 라이브러리를 추가합니다.

re는 파이썬에서 정규 표현식 연산(Regular expression operations)을 제공하는 모듈입니다.


앞서 빅카인즈에서 1900년부터 2019년 6월까지 '깃대종'이 언급된 뉴스 데이터를 내려받고,

이 중 '제목' 컬럼을 텍스트 파일로 별도 저장했었습니다. 빅카인즈(BIG KINDS) | https://www.bigkinds.or.kr/


해당 텍스트 파일을 열고,


단어빈도 분석을 위한 한나눔을 불러옵니다.

한국어 NLP를 위한 코엔엘파이(KoNLPy) 설치하기 | http://blog.daum.net/geoscience/1398


반복문을 통해 텍스트 파일을 한줄씩 읽어와 정규표현식을 적용하고 dataset에 기록해 갑니다.


re.sub()는 문자열에서 일치하는 텍스트를 다른 텍스트로 치환(substitution)할 때 사용합니다.

정규표현식에서 [], 즉 대괄호는 그 안에 있는 문자열을 포함하라는 의미입니다. ^는 이 패턴으로

시작해야 한다는 의미이며, 가-힣는 한글, a-zA-Z는 영문, \s는 공백(white space)을 정의합니다.

아래와 같이 단어들이 2차원 리스트로 추출된 결과를 확인합니다.


이번에는 Mlxtend 라이브러리를 추가해 보겠습니다.

Mlxtend(machine learning extensions)은 일상적인 데이터 사이언스 작업에 유용한

도구들로 구성된 파이썬 라이브러리입니다.  mlxtend 깃허브 | https://github.com/rasbt/mlxtend








이 중 TransactionEncoder는 파이선 리스트의 트랜잭션 데이터에 대한 인코더 클래스를 정의합니다.

TransactionEncoder | http://rasbt.github.io/mlxtend/user_guide/preprocessing/TransactionEncoder/


이제 Mlxtend의 어프라이어리(Apriori) 알고리즘을 적용하여 연관규칙 분석을 수행해 봅니다.

Frequent Itemsets via Apriori Algorithm | http://rasbt.github.io/mlxtend/user_guide/frequent_patterns/apriori/


연관 규칙(association rules)은 분석가가 필요로 하는 규칙만을 추출하기 위한 척도들을 사용하는데요, 관련 개념은 아래 글을 추천드립니다.

Complete guide to Association Rules (1/2) | https://towardsdatascience.com/association-rules-2-aa9a77241654

Complete guide to Association Rules (2/2) | https://towardsdatascience.com/complete-guide-to-association-rules-2-2-c92072b56c84


아래 화면은 항목 개수가 2개이고 지지도(support)가 0.01 이상인 항목집합만 추려낸 결과입니다.


신뢰도(confidence)가 0.7 이상인 연관규칙을 나열한 결과인데요, antecedent(전항)과 consequent(후항) 컬럼을 보시면 되겠습니다.


3번 개체의 신뢰도와 향상도(lift)를 직접 계산해 본 결과입니다. {담비}→{속리산, 서식}은 양의 상관관계를 갖고 있음을 확인하실 수 있습니다.


속리산국립공원의 깃대종은 담비가 아니라 하늘다람쥐입니다. 속리산국립공원에서 멸종위기 야생생물 Ⅱ급에

해당하는 담비와 하늘다람쥐가 발견되었는데, 이때 기사 내용에서 깃대종이 함께 언급돼 말뭉치가 된 것입니다.


국립공원깃대종 | https://www.knps.or.kr/portal/main/contents.do?menuNo=7020030

멸종위기 야생생물이란? | https://species.nibr.go.kr/home/mainHome.do?cont_link=011&subMenu=011010&contCd=011010002

맨위로

http://blog.daum.net/geoscience/1407

신고하기