for ~ in kfold.split(): 역할
760
작성한 질문수 27
안녕하세요 선생님 학습중에 의문점이 생겨 문의드립니다.
우선 KFold(n_splits=5) 로 폴드의 개수를 5개로 설정했기 때문에
shuffle 설정을 안하기 때문에 인덱스 순서로
120개의 피처와 30개의 레이블이 생성된다는 점은 알겠는데,
for 반복문을 돌 때 30개의 레이블이 자동으로 각 폴드를 건너뛰는 점이 이해가 잘안되는데 쉽게 설명해주실 수 있을까요..
답변 1
0
안녕하십니까,
음. 120개의 피처와 30개의 레이블이 생기진 않습니다.
원래 iris 전체 데이터가 150개 입니다. 그래서 5 fold를 하게 되면 150개의 4/5 를 학습 데이터로, 1/5를 검증 데이터로 만듭니다. 그래서 학습 데이터용 피처와 레이블이 각각 120개가 만들고, 검증용 피처와 레이블이 각각 30개가 만들수 있도록 index값을 KFold.split()에서 생성하는 것입니다.
그러니까, 아래 코드를 보시면 features는 전체가 150개의 numpy ndarray 입니다. 이를 kfold.split(features) 하게 되면 train_index의 120개의 index값이, test_index에 30개의 index값이 할당됩니다. 이를 for loop를 수행하며 5번 반복하면서 index값을 할당하는데, 이때마다 index값을 변경합니다.
for train_index, test_index in kfold.split(features):
# kfold.split( )으로 반환된 인덱스를 이용하여 학습용, 검증용 테스트 데이터 추출
X_train, X_test = features[train_index], features[test_index]
y_train, y_test = label[train_index], label[test_index]
즉 5번 수행시마다 120개는 학습용 index가, 30개는 검증용 index가 할당되고, 수행시마다 index의 값은 변경됩니다. 이렇게 할당된 index값을 이용하여 feature와 label ndarray를 access하여 학습용/검증용 feature 데이터 세트, 학습용/검증용 label 데이터 세트를 만들어 낼 수 있습니다.
감사합니다.
모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.
0
56
2
안녕하세요 열심히 수강중인 학생입니다
0
92
2
정수 인덱싱
0
86
2
넘파이 오류
0
113
2
11강 numpy의 axis 축 질문 드립니다.
0
107
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
96
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
79
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
83
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
75
2
5강 강의 오류가 있어요.
0
90
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
81
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
79
3
파이썬 다운그레이 후 사이킷런 재설치
0
131
2
좋은 강의 감사합니다.
0
80
2
scoring 함수 음수값
0
74
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
108
2
분류 평가 정확도 예측
0
90
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
114
1
카카오톡 채널 있나요
0
119
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
193
2
pca 스케일링 관련하여 질문드립니다.
0
109
2
주피터 대신 구글 코랩
0
184
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
156
2
실루엣 스코어..
0
93
2





