1.2 머신러닝용 파이썬 패키지¶
이 절에서는 머신러닝에서 많이 사용되는 파이썬 패키지를 소개한다. 이 패키지들은 교재의 예제 코드에서 사용되므로 미리 실치하기를 권장한다. pip 또는 conda 패키지 관리자로 설치할 수 있다.
기본 패키지¶
다음에 소개하는 패키지는 머신러닝 뿐 아니라 모든 종류의 데이터 분석 업무에 공통적으로 사용된다. 본 교재의 코드는 항상 이 패키지들을 임포트하고 있다고 가정한다. 자주 사용하는 패키지이므로 짧은 별명(alias)으로 임포트하여 사용하는 경우가 많다.
numpy 패키지¶
numpy(“넘파이”라고 읽는다) 패키지는 파이썬에서 수치 해석, 특히 선형대수 계산 기능을 제공한다. 자료형이 고정된 다차원 배열 클래스(n-dimensional array)와 벡터화 연산(vectorized operation)을 지원하며 수학 연산에서 가장 기본적이고 중요한 패키지다
다음 명령으로 설치한다.
pip install numpy
임포트할 때는 보통 np
라는 별명으로 임포트한다.
import numpy as np
scipy 패키지¶
scipy(“사이파이”라고 읽는다) 패키지는 고급 수학 함수, 수치적 미적분, 미분 방정식 계산, 최적화, 신호 처리 등에 사용하는 다양한 과학 기술 계산 기능을 제공한다.
다음 명령으로 설치한다.
pip install scipy
임포트할 때는 보통 sp
라는 별명으로 임포트한다.
import scipy as sp
pandas 패키지¶
pandas(“판다스” 또는 “팬더스”라고 읽는다) 패키지는 테이블 형태의 데이터를 다루는 데이터프레임(DataFrame) 자료형을 제공한다. 자료 탐색과 정리에 아주 유용하여 데이터 분석에 빠질 수 없는 필수 패키지다. 원래는 R 언어에서 제공하는 데이터프레임 자료형을 파이썬에서 제공할 목적이었으나 더 다양한 기능이 추가되었다.
다음 명령으로 설치한다.
pip install pandas
임포트할 때는 보통 pd
라는 별명으로 임포트한다.
import pandas as pd
matplotlib 패키지¶
matplotlib(“맷플롯립”이라고 읽는다) 패키지는 파이썬에서 각종 그래프나 챠트 등을 그리는 시각화 기능을 제공한다. Tkinter, wxPython, Qt, GTK+ 등의 다양한 그래픽 엔진을 사용할 수 있다. 또한 MATLAB의 그래프 기능을 거의 동일하게 사용할 수 있는 pylab이라는 서브패키지를 제공하므로 MATLAB에 익숙한 사람들은 바로 맷플롯립을 사용할 수 있다.
다음 명령으로 설치한다.
pip install matplotlib
임포트할 때는 보통 pylab 서브패키지를 plt
라는 별명으로 임포트한다.
import matplotlib.pylab as plt
seaborn 패키지¶
seaborn(“시본”이라고 읽는다) 패키지는 맷플롯립 패키지에서 지원하지 않는 고급 통계 차트를 그리는 통계용 시각화 기능을 제공한다.
다음 명령으로 설치한다.
pip install seaborn
임포트할 때는 보통 sns
라는 별명으로 임포트한다.
import seaborn as sns
머신러닝 패키지¶
statsmodels 패키지¶
statsmodels(“스탯츠모델즈”라고 읽는다) 패키지는 추정 및 검정, 회귀분석, 시계열분석 등의 기능을 제공하는 파이썬 패키지다. 기존에 R에서 가능했던 다양한 회귀분석과 시계열분석 방법론을 그대로 파이썬에서 이용할 수 있다. 다음은 statsmodels 패키지가 제공하는 기능의 일부다.
예제 데이터셋
검정 및 모수추정
회귀분석
선형회귀
강건회귀
일반화 선형모형
혼합효과모형
이산종속변수
시계열 분석
SARIMAX 모형
상태공간 모형
벡터 AR 모형
생존분석
요인분석
교재에서는 선형회귀분석, 로지스틱회귀분석, 시계열분석에서 statsmodels 패키지를 사용한다.
다음 명령으로 설치한다.
pip install statsmodels
임포트할 때는 보통 api 서브패키지를 sm
이라는 별명으로 임포트한다.
import statsmodels.api as sm
scikit-learn 패키지¶
scikit-learn(“사이킷런”이라고 읽는다) 패키지는 머신러닝 교육을 위한 최고의 파이썬 패키지다. scikit-learn 패키지의 장점은 다양한 머신러닝 모형을 하나의 패키지에서 모두 제공하고 있다는 점이다. 다음은 scikit-learn 패키지에서 제공하는 머신러닝 모형의 목록의 일부다.
데이터셋
회귀분석, 분류, 클러스터링용 가상 데이터셋 생성
각종 벤치마크 데이터셋
전처리
스케일링
누락데이터 처리
텍스트 토큰화
지도학습
회귀분석
LDA/QDA
서포트벡터머신
퍼셉트론, SGD
KNN
가우스프로세스
나이브베이즈
의사결정나무
랜덤포레스트, 부스팅
비지도학습
가우스 혼합모형
클러스터링
PCA
성능 최적화
교차검증
특징선택
하이퍼파라미터 최적화
설치와 임포트에 사용하는 이름은 sklearn이다. 다음 명령으로 설치한다.
pip install sklearn
임포트할 때는 보통 sk
이라는 별명으로 임포트한다.
import sklearn as sk