더북(TheBook)

3장에서 사용한 iris 데이터셋에 기본 층화 추출법을 어떻게 적용할 수 있을까요? 교차 검증 분리를 실행하면 각 훈련 세트는 세 가지 타깃을 골고루 얻을 수 있습니다. 층화 추출을 원하지 않는다면 어떻게 해야 할까요? 조금 까다롭지만 가능합니다.

 

In [20]:

# 비층화 추출 CV를 실행합니다
iris = datasets.load_iris()
model = neighbors.KNeighborsClassifier(10)
non_strat_kf = skms.KFold(5)
skms.cross_val_score(model, iris.data, iris.target, cv=non_strat_kf)

Out [20]:

array([1. , 1. , 0.8667, 0.9667, 0.7667])

마지막 폴드의 분포에 문제가 있다는 것을 어렵지 않게 추측할 수 있습니다. 아마 패턴을 학습하기에 충분한 정보를 얻지 못한 클래스가 있었던 것 같군요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.