-
카테고리
-
세부 분야
딥러닝 · 머신러닝
-
해결 여부
미해결
kfold 질문
21.03.28 10:49 작성 조회수 273
0
강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)
질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요.
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!
구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.
기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다.
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요.
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
kfold 교차검증 수행에 관한 질문을 드립니다. 타이타닉 예제 강의 코드중 일부입니다
답변을 작성해보세요.
0
권 철민
지식공유자2021.03.28
안녕하십니까,
만약 X_titanic_df 100개 이고 K Fold를 5개로 설정을 했다고 가정해 보겠습니다.
그리고 아래와 같은 코드가 수행 된다면,
for train_index, test_index in kfold.split(X_titanic_df)):
.....
해당 for 문은 5번 loop 를 수행하면서 X_titanic_df를 접근할 수 있는 index값을 각각 train_index와 test_index 로 할당합니다. 그리고 loop를 돌때마다 train_index와 test_index값이 교차되어 할당됩니다.
가령 첫번째 loop 시에는 index 0 부터 79번 까지가 train_index에, 80번 부터 99번 까지가 test_index로 할당 될 수 있습니다. 그래서 80개의 학습 데이터와 20개의 테스트 데이트를 X_titaic_df에 train_index, test_index로 접근하여 만들 수 있습니다.
다음 loop 시에서 index 0 부터 59번까지, 그리고 80번 부터 99번 까지의 80개 인덱스를 train_index로 할당 할 수 있습니다. 그리고 60번 부터 79번 까지의 20개 인덱스를 test_index로 할당 할 수 있습니다. 마찬가지로 80개의 학습데이터와 20개의 테스트 데이터를 만들지만 이전 loop와는 다른 데이터 세트로 구성 되어 있습니다.
이런 식으로 최종 5번을 loop를 돌면서 서로 다른 80개의 학습 데이터와 20개의 테스트 데이터를 생성할 수 있게 아래 for 문이 구성되어 있습니다.
for train_index, test_index in kfold.split(X_titanic_df)):
그리고 아래와 같이 enumerate로 감싼 형식은 몇번째 loop 수행이 되는지를 iter_count로 반환하는 기능이 추가됩니다.
for iter_count, (train_index, test_index) in enumerate(kfold.split(X_titanic_df))
감사합니다.
답변 1