본문 바로가기

Machine Learning/분류(Classification)

Classification - DecisionTreeClassifier 맛보기

반응형

https://steadiness-193.tistory.com/253

 

Machine Learning - 랜덤으로 train과 test로 나누기

데이터 불러오기 seaborn의 iris 데이터셋을 불러온다. 150개의 행 중 100개를 train, 50개를 test로 나눠보자 단, 인덱스순이 아닌 랜덤으로 추출해서 진행한다. id 컬럼 추가 랜덤 추출 https://steadiness-19..

steadiness-193.tistory.com

 

위에서 만들어낸 train과 test를 이용한다.

 

 

 

DecisionTreeClassifier

 

[DecisionTreeClassifier]


min_samples_split : 의사결정나무에서 최종 노드의 최소 샘플 수 제한
* 샘플 수가 10개 미만이라면 더 나누지 않는다.

random_state : 결과를 고정시킴, Seed Number와 같은 개념

 

 

 

 

 

feature와 label 정의

 

 

feature는 id와 target컬럼인 species를 제외한 모든 컬럼이다.

 

label은 species 컬럼이며 각 개수는 위와 같다.

 

 

 

 

 

 

 

X_train, y_train, X_test 정의

 

 

 

 

 

 

DecisionTreeClassifier 학습시키기

 

 

fit을 이용해서 학습시킨다.

 

 

 

 

 

 

결과 예측하기

 

 

X_test를 가지고 test 데이터셋의 label을 예측한다.

 

 

 

 

 

결과 비교

 

 

 

versicolor와 virginica를 하나씩 틀린 것 빼곤 다 맞혔다.

 

 

 

True의 비율(정답률)은 약 98% 정도이다.

 

 

반응형