HAYOUNG'S MEMO

scikit-learn 패키지 본문

자연어처리

scikit-learn 패키지

HAyOunG0518 2019. 1. 29. 12:27

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: (옵션) 자료에 대한 설명