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)
댓글