본문 바로가기
카테고리 없음

iris KFOld 교차 검증

by 초보코딩러 2021. 6. 8.

Model Selection 소개

from sklearn.model_selection import KFold #교차 검증

#Kfold 교차검열

from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.metrics import accuracy_score
from sklearn.model_selection import KFold
import numpy as np

1.첫번째 데이터 로드.

iris = load_iris()

label = iris.target

features = iris.data

 

2. 두번 째 모델 정의.

(변수) : dt_clf = DecisionTreeClassifier(random_state=156)

dt_clf = DecisionTreeClassifier(random_state=156)

 

3.번째  Kfold를 담을 객체와 정확도를 담을 리스트 객체 생성

kfold = KFold(n_splits = 5)

cv_accuracy = []

features.shape[0] # 전체 행  붓 꽃 데이터 크기 150 

 

4. 4번째  # for문이 도는 동안 generator가 kfold된 데이터의 학습, 검증 row 인덱스를 array로 반환

kfold.split(features)
<generator object _BaseKFold.split at 0x7ff8819d88d0>

 

 

 

5. kfold.split( )으로 반환된 인덱스를 이용하여 학습용, 검증용 테스트 데이터 추출

 

 

for train_idex, text_index in kfold.split(features):

x_train, x_test = features[train_index], features[test_index]
y_train, y_test = label[train_index], label[test_index]

 

6. 학습 및 예측

모델 = dt_clf  # 모델을 이용하여 학습을 시작.

###학습########
dt_clf.fit(x_train, y_train)


6.1 학습 후 예측 시작

#### 예측 #######
pred = dt_clf.predict(x_text)

n_iter += 1

 

7. 반복시 마다 정확도 측정 

accuracy = np.round(accuracy_score(y_test,pred)

 

댓글