자연어 : 우리가 일상 생활에서 사용하는 언어. 자연어 처리 : 자연어의 의미를 분석, 컴퓨터가 처리할 수 있도록 하는 일.
젠심 : 머신 러닝을 사용하여 토픽 모델링, 자연어 처리 등을 수행해주는 오픈소스 라이브러리 NLTK : 자연어 처리를 위한 파이썬 패키지 KoNLPy : 한국어 자연어 처리를 위한 형태소 분석기 패키지
판다스의 데이터 구조 1. 시리즈 2. 데이터프레임 : 가장 많이 쓰임. 3. 패널
1. 시리즈 클래스는 1차원 배열의 값에 각 값에 대응되는 인덱스를 부여할 수 있는 구조를 가진다.
2. 데이터 프레임은 열(columns), 인덱스(index), 값(values)으로 구성. List, Series, dict, ndarray(Numpy의) , 또 다른 데이터프레임으로 생성할 수 있다.
df.head(n) : 앞 부분을 n개만 보기
df.tail(n) : 뒷 부분을 n개만 보기
df['열이름'] : 해당되는 열을 확인 csv, 텍스트, Excel, SQL, HTML, JSON 등 다양한 데이터 파일 읽고 데이터 프레임 생성 가능
3. 넘파이는 수치 데이터를 다루는 파이썬 패키지. ndarray를 통해 벡터 및 행렬을 사용하는 선형 대수 계산에서 주로 사용. 편의성, 속도가 매우 빠름.
행렬 간 인덱스끼리 곱은 *. 행렬 간 곱셈은 np.dot
EDA(Exploratory Data Analysis, 탐색적 데이터 분석) : 데이터 성격 파악.(ex) 데이터 내 값 분포, 변수 간 관계, Null값과 같은 결측값 존재 유무...). pandas에서는 pandas-profiling의 .profile_report()로 데이터 프레임을 탐색.
머신 러닝 워크플로우 1. 수집 : 기계에 학습시킬 데이터를 수집. 자연어 데이터는 말뭉치 혹은 코퍼스(corpus)라고 한다. 코퍼스 : 조사, 연구 목적에 의해 특정 도메인에서 수집된 텍스트 집합.(txt, csv, xml... 출처도 음성 데이터, 웹 수집기 통해 수집된 데이터, 영화 리뷰 ...)
2. 점검 및 탐색 데이터의 구조, 노이즈 데이터, 머신 러닝 적용을 위해 데이터를 어떻게 정제할지 파악. EDA단계라고도 함. 독립 변수, 종속 변수, 변수 유형, 변수의 데이터 타입 등을 점검해 데이터 특징, 구조적 관계를 알아냄. 시각화, 간단한 통계 테스트 진행하기도.
3. 전처리 및 정제 데이터 전처리 과정. 자연어 처리라면 토큰화, 정제, 정규화, 불용어 제거 등
4. 모델링 및 훈련 적절한 알고리즘으로 모델링 후, 기계에 학습(훈련). 과적합을 막기 위해 모든 데이터를 쓰진 않음. 훈련용, 검증용, 테스트용으로 데이터를 나누고 훈련용 데이터만 훈련에 사용. 훈련용 : 학습지 검증용 : 모의고사(성능 판단용) 테스트용 : 수능(채점용)