강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

theelti님의 프로필 이미지
theelti

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

교차검증 - K-Fold와 Stratified K-Fold의 이해 - 02

StratifiedKFold 에서 iloc 사용 문의드립니다.

작성

·

255

0

안녕하세요, 강의 잘 듣고 있습니다.
 
StratifiedKFold 실습 코드의 아래 부분에서 iloc은 위치 기반 인덱싱이라고 알고 있는데 train_index, test_index가 들어가도 문제 없이 동작하는 이유가 궁금합니다.
 
for train_index, test_index in skf.split(iris_df, iris_df['label']):
n_iter += 1 label_train= iris_df['label'].iloc[train_index]
label_test= iris_df['label'].iloc[test_index]

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까, 

네, 위치기반 인덱싱을 사용해야 합니다. 

skf.split()으로 반환되는 값은 DataFrame의 인덱스 값이 아니라 DataFrame의 Numpy 변환시 ndarray에 기반한 정수형 위치값이 반환됩니다. 따라서 이를 이용하여 DataFrame의 데이터들을 접근하기 위해서는 iloc[]를 이용해 줘야 합니다. 

감사합니다. 

theelti님의 프로필 이미지
theelti

작성한 질문수

질문하기