HAYOUNG'S MEMO
scikit-learn 패키지 본문
scikit-learn 패키지¶
scikit-learn 패키지는 머신러닝 교육을 위한 파이썬 패키지로 다음과 같은 내용을 포함한다.
- 벤치마크용 데이터셋 예제
- 데이터 전처리(preprocessing)
- 지도 학습(Supervised learning)
- 비지도 학습(Unsupervised learning)
- 모형 평가 및 선택 (evaluation and selection)
scikit-learn 패키지의 장점은 다양한 머신 러닝 모형 즉, 알고리즘을 하나의 패키지에서 모두 제공하고 있다는 점이다. 다음은 scikit-learn 패키지에서 제공하는 머신 러닝 모형의 목록이다. 이 목록은 대표적인 것들만을 나열한 것이며 지속적으로 모형들이 추가되고 있다.
scikit-learn 패키지의 임포트 이름은 sklearn
이다. 이 책에서는 sk
라는 alias 이름으로 임포트하여 사용한다.
import sklearn as sk
scikit-learn에서 제공하는 데이터셋¶
sklearn.datasets 서브패키지는 다양한 예제 데이터셋을 제공한다. 데이터를 불러오는 명령들은 크게 다음과 같이 세가지 계열의 명령으로 나눌 수 있다.
- load 계열 명령: scikit-learn 설치 패키지에 같이 포함된 소량의 데이터
- fetch 계열 명령: 인터넷에서 다운로드할 수 있는 대량의 데이터
- make 계열 명령: 확률분포를 사용하여 가상의 데이터를 생성
load 계열 명령¶
load 계열의 명령들은 설치 패키지에 처음부터 저장되어 있어서 별로도 다운로드 받지 않아도 바로 쓸 수 있는 데이터를 제공한다.
load_boston
: 회귀 분석용 보스턴 집값load_diabetes
: 회귀 분석용 당뇨병 자료load_linnerud
: 회귀 분석용 linnerud 자료load_iris
: 분류용 붓꽃(iris) 자료load_digits
: 분류용 숫자(digit) 필기 이미지 자료load_wine
: 분류용 포도주(wine) 등급 자료load_breast_cancer
: 분류용 유방암(breast cancer) 진단 자료
fetch 계열 명령¶
fetch 계열의 명령들은 데이터의 크기가 커서 패키지에 처음부터 저장되어 있지 않고 인터넷에서 다운로드 받아 홈 디렉토리 아래의 scikit_learn_data 라는 서브 디렉토리에 저장한 후 추후 불러들이는 데이터들이다. 따라서 최초 사용시에 인터넷에 연결되어 있지 않으면 사용할 수 없다.
fetch_california_housing
: : 회귀분석용 캘리포니아 집값 자료fetch_covtype
: 회귀분석용 토지 조사 자료fetch_20newsgroups
: 뉴스 그룹 텍스트 자료fetch_olivetti_faces
: 얼굴 이미지 자료fetch_lfw_people
: 유명인 얼굴 이미지 자료fetch_lfw_pairs
: 유명인 얼굴 이미지 자료fetch_rcv1
: 로이터 뉴스 말뭉치fetch_kddcup99
: Kddcup 99 Tcp dump 자료
make 계열 명령¶
경우에 따라서는 모형을 시험하기 위해 원하는 특성을 가진 가상의 데이터가 필요할 수 있다. make 계열 명령은 이러한 가상 데이터를 생성하는 역할을 한다.
make_regression
: 회귀 분석용 가상 데이터 생성make_classification
: 분류용 가상 데이터 생성make_blobs
: 클러스터링용 가상 데이터 생성
이 외에도 다양한 가상 데이터 생성 명령이 있다.
데이터 형식¶
scikit-learn에서 제공하는 데이터셋은 Bunch
라는 클래스 객체 형식으로 생성된다. 이 클래스 객체는 다음과 같은 속성을 가진다.
data
: (필수) 독립 변수ndarray
배열target
: (필수) 종속 변수ndarray
배열feature_names
: (옵션) 독립 변수 이름 리스트target_names
: (옵션) 종속 변수 이름 리스트DESCR
: (옵션) 자료에 대한 설명
'자연어처리' 카테고리의 다른 글
numpy.reshape() (0) | 2019.01.30 |
---|---|
8.20.1. sklearn.naive_bayes.GaussianNB (0) | 2019.01.30 |
pandas 패키지의 dataframe 인덱싱(열/행/boolean 인덱싱), .iloc, .loc (0) | 2019.01.29 |
Label Encoding and One Hot Encoding (0) | 2019.01.29 |
파이썬 KoNLPy 패키지 사용 방법 (0) | 2019.01.23 |