-
사이킷런 ( Scikit-learn ) - 3Python Machine Learning/Scikit-learn 2020. 7. 21. 16:56
- 앞서 붓꽃 데이터를 사용하여 붗꽃의 품종을 분류를 해보았는데 큰 설명없이 지나갔던 부분에 대해서 한번 더 짚고 넘어가보려고 합니다.
- 사이킷런에서는 분류 알고리즘을 구현한 클래스를 classifier, 회귀 알고리즘을 구현한 클래스를 Regressor로 지칭하며,분류와 회귀를 합쳐서 Estimator 클래스라고 부릅니다. 또한 지도학습의 주요 두 축인 분류와 회귀의 다양한 알고리즘을 구현한 모든 사이킷런 클래스는 ML모델 학습을 위해서 fit( )을, 학습된 모델의 예측을 위해 predict( )메소드를 제공합니다.
- 지도학습뿐만 아니라 비지도학습인 차원 축소, 클러스터링등을 구현한 클래스 역시 fit( )과 transform( )을 적용.
- 비지도학습에서 fit( )은 입력 데이터의 형태에 맞춰 데이터를 변환하기 위한 사전 구조를 맞추는 작업이며
transform( )은 fit( ) 작업이 끝난 이후 입력 데이터의 차원 변환, 클러스터링등의 실제 작업을 수행하는 작업입니다.
- fit( ) 과 transform( )을 하나로 결합한 fit_transform( )도 함께 제공하지만 사용에 주의가 필요합니다.
앞서 사이킷런 -1 에서 이미지를 첨부했던거처럼 분류나 회귀를 위한 연습용 예제 데이터는 일반적으로 딕셔너리 형태로 되어있습니다. 키는 data, target, target_name, feature_names, DESCR로 구성되어 있으며
- data : 피처의 데이터 세트.
- target : 분류 시 레이블 값, 회귀일 때는 숫자 결과값 데이터 세트.
- target_names : 개별 레이블의 이름.
- feature_names : 피처의 이름.
- DESCR : 데이터 세트에 대한 설명과 각 피처의 설명을 나타냄.
data, target은 넘파이 배열( ndarray )타입이며, target_name, feature_names은 넘파이 배열 또는 파이썬 리스트 타입, DESCR은 스트링 타입입니다.
--> load_iris( ) API의 반환 결과는 sklearn.utils.Bunch 클래스로 Bunch 클래스는 파이썬 딕셔너리 형태의 값을 반환
--> 딕셔너리 형태이므로 키값을 확인해보면 data, target, target_name, feature_names, DESCR로 구성되어 있는 것을 알 수 있습니다.
--> 데이터 세트가 딕셔너리 형태이기 때문에 피처 데이터값을 추출하기 위해서는 데이터세트.data를 이용.
--> load_iris가 반환하는 객체의 키인 data, target, target_name, feature_names가 가르키는 값을 출력하기 위한 코드
-->data, target, target_name, feature_names가 가르키는 값을 출력.
'Python Machine Learning > Scikit-learn' 카테고리의 다른 글
사이킷런 ( Scikit-learn ) - 6 (0) 2020.07.22 사이킷런 ( Scikit-learn ) - 5 (0) 2020.07.22 사이킷런 ( Scikit-learn ) - 4 (0) 2020.07.21 사이킷런 ( Scikit-learn ) - 2 (0) 2020.07.21 사이킷런 ( Scikit-learn ) - 1 (0) 2020.07.21