Note

iris 품종 예측 - scikit learn 본문

Machine Learning/Classification

iris 품종 예측 - scikit learn

알 수 없는 사용자 2021. 5. 6. 15:08
728x90

사이킷런을 임포트하고 iris 데이터 예측을 위해서 필요한 모듈을 로딩한다.

데이터 처리를 위해서 판다스를 임포트하고 iris 내장 데이터를 불러와서 객체를 생성한다.

iris.data를 사용해서 데이터 세트에서 feature만으로 된 데이터를 numpy로 가진다.

iris.target은 데이터 세트에서 레이블(결정 값) 데이터를  numpy로 가지고 있습니다.

iris.data와 iris target은 처음 iris 데이터를 출력한 결과물을 보면 알 수 있습니다.

키는 보통 data, target, target_name, feature_names, DESCR로 구성돼 있습니다. 
개별 키가 가리키는 의미는 다음과 같습니다.
* data는 피처의 데이터 세트를 가리킵니다.
* target은 분류 시 레이블 값, 회귀일 때는 숫자 결괏값 데이터 세트입니다..
* target_names는 개별 레이블의 이름을 나타냅니다.
* feature_names는 피처의 이름을 나타냅니다.
* DESCR은 데이터 세트에 대한 설명과 각 피처의 설명을 나타냅니다.

직접 확인해 본 결과 target_names는 'setosa', 'versicolor', 'virginica' 이다.

눈에 보기 쉽게 데이터 프레임으로 변환된 모습이다. 여기까지가 데이터를 세팅하는 과정이다.

예측을 하기 위해서 학습용 데이터와 테스트용 데이터로 나눠준 모습이고, 각각 데이터 구조를 보여주는 과정이다.

test size는 train과 test를 나누는 정도, 값에 따라 정확도 결과가 달라질 수 있다. 적정한 숫자를 찾아야 한다. 그리고 
random_state는 지정하면 선택되는 표본이 같다. R에서 시드를 정해주는 것과 비슷한 느낌이다.

DecisionTreeClassifier 객체를 생성하고 . fit 을 통해 학습 데이터를 학습시킨다. 그 이후 위에서 _ split 을 통해 나눠둔 테스트용 데이터를 가지고 . predict 로 예측을 수행한다.

마지막으로 accuracy_score로 예측 정확도를 알 수 있는데 이는 93.33% 정확도를 가지고 있다.

'Machine Learning > Classification' 카테고리의 다른 글

보팅 (Voting)  (0) 2021.05.24
앙상블 학습  (0) 2021.05.24
분류 - Decision Tree (2)  (0) 2021.05.20
분류 - Decision Tree (1)  (0) 2021.05.20
분류 성능 평가 지표  (0) 2021.05.13
Comments