ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 사이킷런 ( Scikit-learn ) - 3
    Python 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로 구성되어 있으며 

    1. data : 피처의 데이터 세트.
    2. target : 분류 시 레이블 값, 회귀일 때는 숫자 결과값 데이터 세트.
    3. target_names : 개별 레이블의 이름.
    4. feature_names : 피처의 이름.
    5. 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가 가르키는 값을 출력.

     

     

     

     

     

     

     

     

     

     

     

     

Designed by Tistory.