더북(TheBook)

3.2 사이킷런 첫걸음: 퍼셉트론 훈련

2장에서는 두 개의 분류 알고리즘을 배웠습니다. 퍼셉트론아달린을 파이썬으로 직접 구현했습니다. 이제 사용하기 쉬운 인터페이스로 분류 알고리즘을 최적화하여 구현한 사이킷런 API를 살펴보겠습니다. 사이킷런 라이브러리는 많은 학습 알고리즘을 제공할 뿐만 아니라, 데이터 전처리나 세부 조정, 모델 평가를 위해 편리하게 사용할 수 있는 함수가 많습니다. 자세한 내용과 관련 개념은 4장과 5장에서 다루겠습니다.

2장에서 구현한 것과 비슷한 퍼셉트론 모델을 훈련하는 것으로 사이킷런 라이브러리를 시작합니다. 예제를 간단하게 만들기 위해 이어지는 절에서는 계속 익숙한 붓꽃 데이터를 사용합니다. 붓꽃 데이터셋은 간단하지만 인기가 많고 알고리즘을 테스트하고 실험할 때 자주 사용되기 때문에 사이킷런에 이미 포함되어 있습니다. 시각화를 위해 붓꽃 데이터셋에서 두 개의 특성만 사용합니다.

150개의 꽃 샘플에서 꽃잎 길이와 꽃잎 너비를 특성 행렬 X에 할당하고 꽃 품종에 해당하는 클래스 레이블을 벡터 y에 할당합니다.2

>>> from sklearn import datasets
>>> import numpy as np

>>> iris = datasets.load_iris()
>>> X = iris.data[:, [2, 3]]
>>> y = iris.target
>>> print('클래스 레이블:', np.unique(y))
클래스 레이블: [0 1 2]

 

 


  2 역주 load_iris 함수는 파이썬 딕셔너리와 유사한 사이킷런의 Bunch 클래스 객체를 반환합니다. 이 객체에는 특성 행렬에 해당하는 data 속성, 타깃 벡터에 해당하는 target 속성, 특성 이름을 담은 feature_names, 타깃 이름을 담은 target_names 속성, 데이터셋에 대한 설명을 담은 DESCR 속성이 있습니다. 사이킷런은 붓꽃 데이터셋 외에도 여러 가지 간단한 데이터셋을 포함하고 있습니다. 전체 데이터셋 목록은 온라인 문서(http://bit.ly/sklearn-toy-datasets)를 참고하세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.