해결된 질문
작성
·
177
3
안녕하십니까. 매번 좋은 강의에 감탄을 하며 열강을 하고 있습니다.
한가지 추가적으로 궁금한 점이 있어 질문을 합니다.
올려주신 코드의 Stratified K-fold 결과는 아래와 같습니다.
#1 교차 검증 정확도 :0.9804, 학습 데이터 크기: 99, 검증 데이터 크기: 51 #1 검증 세트 인덱스:[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116] #2 교차 검증 정확도 :0.9216, 학습 데이터 크기: 99, 검증 데이터 크기: 51 #2 검증 세트 인덱스:[ 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133] #3 교차 검증 정확도 :0.9792, 학습 데이터 크기: 102, 검증 데이터 크기: 48 #3 검증 세트 인덱스:[ 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149] ## 교차 검증별 정확도: [0.9804 0.9216 0.9792] ## 평균 검증 정확도: 0.9604
학습 데이터와 검증 데이터가 정확히 2:1로 나뉘려면 학습 데이터 크기: 100, 검증 데이터 크기: 50이 되어야 할텐데, 99:51, 102:48 등 일부 차이가 납니다. 이 부분은 어떤 이유에서인지 설명해주실 수 있으신지요?
매번 친철한 답변 정말 감사드립니다.
답변 2
3
안녕하십니까,
강의를 잘 듣고 계시다니 감사드립니다.
99:51, 102:48 로 일부 차이가 나는것은 학습 데이터와 검증 데이터가 정확히 2:1로 나뉠 경우 검증 데이타가 50건이 되기 때문입니다.
Iris의 데이터 건수가 전체 150건 입니다. 이를 n_splits=3 으로 나누면 학습과 검증 데이터 비율이 대략 100:50이 될 수 있을 것입니다. 그런데 검증 데이터를 50건으로 고정을 하면 Iris의 타겟값 유형이 3가지 이므로 이를 정확히 반영할 수 없습니다. Iris 0, 1, 2 가 각각 17건으로 51건을 2개의 Fold 세트로 만들면 마지막 Fold 세트는 각각 16건으로 총 48건이 되어야 제대로 StratifiedFold 형식으로 분리 될 수 있기 때문입니다.
n_splits을 5로 바꾸시면 학습과 검증 데이터 세트가 Fold 세트별로 120대 30으로 고정됨을 확인 하실수 있을 것입니다.
늘 소중한 질문 감사합니다.
0