일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 점프와 순간이동
- 어려웠던 문제
- HashMap
- 후위 표기법
- 에라토스테네스의 체
- Java
- fragment identifier
- 최소공배수
- pandas
- Dynamic Programming
- 규칙찾기
- 쿼드압축 후 개수세기
- 문자열
- 영문자 확인
- 알고리즘
- 프로그래머스
- 튜플
- python
- 2017 카카오 코드
- 보이어무어
- 순열
- HashSet
- 메뉴리뉴얼
- dfs
- 조합
- Stack
- 동적계획법
- 반복문
- 완전 탐색
- 완전탐색
- Today
- Total
csmoon1010의 SW 블로그
자연어 처리 - 딥 러닝을 이용한 자연어 처리 입문 공부하기(2) 본문
01. 자연어 처리(natural language processing)란?
필요한 라이브러리들의 설치를 마치고 이번엔 판다스 프로파일링과 머신 러닝 워크플로우에 대하여 배워본다.
내용은 위키독스를 기반으로 한다.
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
1. 판다스 프로파일링(Pandas-Profiling)
판다스 프로파일링은 머신러닝을 하기 전 데이터의 성격을 알아보는 과정 즉, 데이터 내 값의 분포, 변수 간의 관계, 결측값(Null)의 존재 유무 등을 판단하는 EDA(Exploratory Data Analysis, 탐색적 데이터 분석)의 일종이다.
판다스 프로파일링은 이 역할을 .profile_report()라는 명령어로 쉽게 처리할 수 있다.
(1) 설치
pip install -U pandas-profiling
(2) 실습파일 불러오기
https://www.kaggle.com/uciml/sms-spam-collection-dataset에서 spam.csv를 다운로드 받아서 read_csv해준다.
import pandas as pd
import pandas_profiling
data = pd.read_csv('spam.csv 파일의 경로',encoding='latin1')
(3) 리포트 생성하기
pandas_profiling을 통해 데이터를 프로파일링한 리포트를 생성하여 HTML파일로 저장 혹은 주피터 노트북으로 확인한다.
pr=data.profile_report() //pr : 프로파일링 결과리포트
pr.to_file('파일경로') //html파일로 리포트 저장
(4) 리포트 살펴보기(http://localhost:8888/view/pr_report.html)
주피터 노트북을 켜서 리포트 내용을 살펴본다.
- Warnings : 결측값의 개수(Missing cells), 결측값들의 위치열(Warnings를 통해), 중복되는 행, 중복값의 비율 등등을 확인할 수 있다.
- Variables : 모든 특성 변수들에 대한 결측값, 중복이 없는 unique values들의 통계치를 보여준다.
- Toggle deatails : value들의 빈도값, 구성(최대/최소/평균 길이, 값의 자료형 구성)을 보여준다.
2. 머신 러닝 워크플로우(Machine Learning Workflow)
(1) 수집 : 기계에 학습 시켜야 할 데이터를 수집한다. NLP에서는 수집한 자연어 처리를 '말뭉치', '코퍼스'라고 부른다. 이 데이터들의 파일 형식과 출처는 아주 다양하다.
(2) 점검 및 탐색 : 탐색적 데이터 분석(EDA) 단계로 데이터의 구조, 타입, 특징, 구조적 관계 등을 하는 단계이다. 앞의 pandas profiling도 이 과정의 일종이다.
(3) 전처리 및 정제 : 데이터에 대한 전처리 과정으로 NLP에서는 토큰화, 정제, 정규화, 불용어 제거 등이 포함된다. 이를 위해 앞서 살펴보았던 라이브러리나 머신 러닝 과정이 이용된다.
(4) 모델링 및 훈련 : 적절한 머신러닝 알고리즘을 선택하여 모델링하고 (3)에서 전처리된 데이터 중 훈련용 데이터를 기계에 학습시킨다. 훈련이 완료되면 기계가 테스트용 데이터를 가지고 태스크(기계 번역, 음성인식, 텍스트 분류 등)를 수행한다. 이 때 적절한 훈련용, 검증용(현재 모델의 성능 판단하여 성능 개선), 테스트용(모델의 최종 성능 평가) 데이터로의 분리가 모델 성능에 중요한 영향을 미친다.
(5) 평가(Evaluation) : 테스트용 데이터로 모델의 성능을 평가하는 과정이다.
(6) 배포(Deployment) : 완성된 모델을 배포하고 피드백과정을 통해 모델을 수정하는 단계이다.
'데이터&인공지능 > 자연어처리' 카테고리의 다른 글
자연어 처리 - 딥 러닝을 이용한 자연어 처리 입문(6) (0) | 2020.02.13 |
---|---|
자연어 처리 - 딥 러닝을 이용한 자연어 처리 입문(5) (0) | 2020.02.12 |
자연어 처리 - 딥 러닝을 이용한 자연어 처리 입문(4) (0) | 2020.02.12 |
자연어 처리 - 딥 러닝을 이용한 자연어 처리 입문(3) (0) | 2020.02.11 |
자연어 처리 - 딥 러닝을 이용한 자연어 처리 입문 공부하기(1) (0) | 2020.02.09 |