모델링·검증·튜닝·재현성
두 모델의 정확도가 82%와 81%라면 첫 모델을 고르면 될까? 작은 이용자 집단에서 첫 모델은 열 명 중 한 명만 맞히고 둘째는 아홉 명을 맞혔다면 같은 결론일까? 더구나 수십 번 바꾼 모델 중 가장 좋은 시험 점수만 골라 보고했다면 그 시험은 여전히 독립적인가?
1. 82%가 81%보다 항상 좋은가
두 모델의 정확도가 82%와 81%라면 첫 모델을 고르면 될까? 작은 이용자 집단에서 첫 모델은 열 명 중 한 명만 맞히고 둘째는 아홉 명을 맞혔다면 같은 결론일까? 더구나 수십 번 바꾼 모델 중 가장 좋은 시험 점수만 골라 보고했다면 그 시험은 여전히 독립적인가?
이번 절은 알고리즘 이름보다 선택의 절차를 다룬다. 앞의 AP-LIB가 정한 09:00 입력·연락 가능 20건·개입 성과의 경계를 유지하며, 별도 가상 자료 MV-G1·MV-N1로 분모·선택·재실행을 검산한다. 실제 모델을 학습시키거나 이용자 성과를 측정한 기록은 아니다.
먼저 바꿀 의사결정을 정했다
분석기획의 의사결정 계약은 누구의 어떤 결정을 바꿀지와 입력을 사용할 시점·성과기준을 먼저 정했다. 이번에도 예측 적중과 연락 개입의 효과를 다른 결과로 유지한다.
평가 지표는 대상을 고정한 질문이었다
분류·회귀의 평가 분모에서 분류·회귀의 오류 지표와 임계값·비용·처리 능력을 연결했다. 이번에는 같은 지표라도 집계 분모와 선택에 사용한 자료가 달라지면 비교의 뜻이 바뀐다는 점을 적용한다.
모델 입력이 될 자료의 경계를 인계받았다
데이터 탐색의 인계에서 관측 단위·시점·결합 관계와 정제 근거를 확인하고 미확인 범위를 남겼다. 모델링은 그 인계를 지키며 대치·척도·특징 선택을 평가 자료에 다시 맞추지 않는다.
정확한 정의와 담당 경계
모델링·검증 프로토콜은 목적·자료·후보·선택 규칙·평가 경계를 먼저 정하고, 학습과 선택의 결과를 독립적인 확인 및 재실행 가능한 기록으로 연결하는 절차다.
개별 학습 알고리즘·지표·교차검증의 최초 정의는 앞 데이터마이닝 장을 따른다. 이 절은 여러 선택을 묶은 평가 절차의 담당이며 실제 운영 성과나 모든 환경의 동일한 비트 출력을 인증하지 않는다.
한 모델의 학습과 선택 절차 전체를 구분한다
문제·성과·자료 계약에서 분할 단위·선택 지표·후보 범위를 먼저 고정한다. 아래의 중첩 교차검증 그림은 학습 부분에서 변환·모델을 맞추고 검증으로 후보를 비교·선택한 뒤 선택 절차를 별도 평가하는 구체 경로를 보여 준다.
| 선택 절차의 범위 | 다음에 남길 것 |
|---|---|
| 학습·검증·별도 평가 | 어떤 자료가 후보 선택에 참여했는지 |
| 최종 학습 산출물 | 평가한 전처리·모델·입력 계약과 같은 판본인지 |
| 실행 명세·사용 한계 | 자료·분할·코드·환경·설정과 미확인 범위 |
마지막 점수를 본 뒤 후보나 규칙을 다시 바꾸면 그 자료는 다음 선택에 참여한다. 단순히 파일 이름이 test라고 적혔다고 해서 독립 평가가 되는 것은 아니다. 판단에 사용한 정보의 경로를 따라가야 한다.
학습 목적함수와 선택 지표를 따로 적는다
앞 장의 회귀는 오차를 줄이고 분류는 정답과 예측의 차이를 학습하는 여러 방법을 다뤘다. 그러나 학습 중 최소화한 손실이 업무에서 최종 비교할 비용이나 처리량과 같을 필요는 없다. 확률을 잘 맞춘 후보도 잘못된 임계값·연락 대상 선정 때문에 기대한 업무 결과를 내지 못할 수 있다.
프로토콜에는 입력과 정답의 뜻, 학습 방법, 선택 지표와 방향, 동점 처리, 필수 제약을 따로 적는다. AP-LIB의 연락 한도는 성능 점수로 상쇄할 선택 항목이 아니라 정해 둔 실행 조건이다. 실제 q를 모르는 상태에서는 예측 점수만으로 추가 편익이 확인되었다고 쓰지 않는다.
단순한 기준과 비교 가능한 후보부터 둔다
가상 AP-LIB에서는 기존 연락 규칙을 기준으로 두고, 앞 장에서 이해한 단순 분류기를 새로운 후보로 삼을 수 있다. 어떤 모델을 쓰든 같은 입력 이용 가능성·대상·기간·지표로 비교한다. 복잡한 후보에만 추가 자료나 더 긴 탐색을 주었다면 그 차이도 비용과 함께 기록한다.
후보에는 알고리즘뿐 아니라 전처리·특징 집합·하이퍼파라미터·임계값의 선택이 포함된다. 후보 범위를 결과를 본 뒤 끝없이 늘리면 계산 비용과 선택 편향을 함께 키울 수 있다. 사전 범위·허용 시간·실패 처리와 종료 조건을 정하고, 바꿨다면 변경 기록을 남긴다.
2. 분할은 배포 후 만날 상황을 흉내 내야 한다
같은 사람의 여러 신청이 섞이는 상황, 미래 기간을 예측하는 상황, 새 기관으로 옮기는 상황은 서로 다른 평가 질문이다. 앞 장에서 배운 그룹·시간 분할을 목적에 맞게 사용하고, 단순히 행을 무작위로 나누었다는 사실로 모든 의존성을 제거했다고 하지 않는다. [SRC-TML-SK-CV]
검증 폴드의 대치값·범주 사전·특징 선택도 해당 학습 부분에서만 얻는다. 전체 자료에서 변환한 뒤 교차검증에 넣으면 모델만 나누었을 뿐 변환에는 평가 정보가 들어가 있다. 평가 자료가 영향을 주는 모든 학습·선택 단계를 분할 안에 넣는다. [SRC-TML-SK-PITFALLS]
MV-G1: 같은 예측도 가중치가 바뀌면 순위가 바뀐다
정답을 확인한 가상 사례 100건을 두 집단으로 나눈다. 아래의 예측 결과는 손으로 만든 집계이며 실제 모델 성능이 아니다.
| 집단 | 사례 수 | 후보 A 정답 | 후보 B 정답 |
|---|---|---|---|
| G1 | 90 | 81 | 72 |
| G2 | 10 | 1 | 9 |
| 전체 | 100 | 82 | 81 |
전체 건수를 동일 비중으로 세면 A=82%, B=81%다. 각 집단을 같은 비중으로 평균하면 A=(90%+10%)/2=50%, B=(80%+90%)/2=85%로 순위가 바뀐다.
전체 사례 비중과 집단 동일 비중은 서로 다른 목적함수이며 결과를 보고 유리한 쪽으로 바꾸지 않는다. 어느 집단의 실패를 더 중요하게 볼지는 의사결정 목적·위험과 함께 먼저 합의한다. 여기의 집단 평균을 앞 장의 클래스별 지표 정의와 무조건 동일시하지 않는다.
정답 미확인과 실패한 실행을 평균에서 지우지 않는다
MV-G1은 모든 정답이 확인되었다는 조건이다. 일부 정답이 아직 도착하지 않았다면 평가 가능한 수와 전체 대상 수, 미확인 집단을 함께 적고 같은 100건을 평가했다고 쓰지 않는다. 라벨이 늦은 사례를 정상으로 채우는 것도 허용되지 않는다.
후보 A의 어려운 폴드가 시간초과로 실패했을 때 성공한 폴드만 평균하고, B는 모든 폴드를 평균하면 조건이 달라진다. 필수 폴드가 빠지면 이번 비교에서는 미완료로 표시하거나 미리 정한 실패 규칙을 적용한다. 누락된 평가를 점수 0이나 성공으로 임의 대치하지 않는다.
최고 검증 점수에는 선택의 영향도 들어 있다
같은 검증 자료에서 여러 후보를 비교하면 우연히 그 자료에 잘 맞는 후보가 선택될 수 있다. 최고 점수를 선택하고 그 숫자를 그대로 독립 성능이라고 제시하면 낙관적인 평가가 될 수 있다. scikit-learn의 중첩 교차검증 설명은 비중첩 선택의 이런 영향을 구분한다. [SRC-MVP-SK-NESTED]
선택을 없앨 수는 없지만 선택에 사용한 자료와 그 선택 절차를 평가할 자료를 분리할 수 있다. 모델만이 아니라 전처리·특징·임계값·난수 시드의 유리한 결과를 고르는 행위도 같은 질문을 받는다. 이미 결과를 보고 바꾼 선택을 사전 계획이라고 되돌려 기록하지 않는다.
중첩 교차검증은 선택과 확인을 안팎으로 나눈다
중첩 교차검증은 바깥 분할의 학습 자료 안에서 안쪽 교차검증으로 후보를 선택하고, 선택된 절차를 바깥 분할의 미사용 평가 자료에 적용해 성능을 집계하는 방법이다. [SRC-MVP-SK-NESTED]
바깥 평가 자료는 안쪽 후보 선정에 쓰지 않는다. 안쪽에서 고른 설정으로 바깥 학습 자료 전체를 다시 학습하고 바깥 평가 부분에 적용한다. 여러 바깥 분할의 결과는 선택 절차가 다른 자료를 만날 때의 성능을 평가하는 근거이지, 하나의 고정된 최종 모델을 실제 운영한 결과가 아니다.
안쪽과 바깥 모두 목적에 맞는 그룹·시간 경계를 지켜야 한다. 중첩이라는 이름만으로 같은 사용자의 정보나 미래 정답이 섞이는 것을 막아 주지는 않는다.
작은 분할을 끝까지 따라가기. MV-N1의 횟수 예와 별개로, 독립 관측 r1~r8 중 이번 바깥 학습은 r1~r6, 바깥 평가는 r7·r8이라고 정하자. 안쪽 두 분할은 r1~r3으로 학습하여 r4~r6을 평가하는 분할과, 그 반대 분할이다. 각 분할마다 전처리도 그 안쪽 학습 세 건에서만 맞춘다. 후보 A의 안쪽 맞힘은 각각 2/3·1/3, B는 1/3·3/3이라고 가정하고 두 분할을 같은 비중으로 평균한다.
A의 안쪽 평균은 1/2, B는 2/3이므로 B를 선택한다. 그때 학습했던 세 건짜리 모델을 바로 넘기지 않고, 선택한 B의 전처리·모델을 바깥 학습 r1~r6 전체에서 다시 맞춘다. 이 산출물이 r7·r8 중 한 건을 맞혔다고 가정하면 이번 바깥 점수는 1/2다. 안쪽의 2/3은 B 선택에 사용한 수치이고 바깥의 1/2는 그 선택 뒤 별도 자료에서 얻은 수치다.
독립 변형: 다른 안쪽 결과는 그대로인데 B의 둘째 안쪽 맞힘만 3/3에서 0/3으로 바뀌면 누구를 선택할까?
선택 후보·재학습·바깥 평가를 나누어 교정 보기
해설: B의 평균은 (1/3+0)/2=1/6이 되어 A의 1/2가 더 크므로 A를 고른다. A도 r1~r6 전체에서 다시 학습하고 r7·r8에 적용해야 하며, 앞 B의 바깥 1/2를 A의 점수로 옮길 수 없다. “바깥에서 더 잘 맞히는 후보를 고르자”고 답했다면 전체 선택 경로와 검증 점수의 선택 영향 항목으로, 안쪽 모델을 그대로 평가한다면 이 블록의 바깥 학습 전체 재학습으로 돌아간다.
안쪽에서 고른 설정을 바깥 학습 전체로 다시 맞춘다 · 상태 따라가기
r1~r6은 바깥 학습, r7·r8은 선택에 쓰지 않는다. 모든 단계에서 안쪽 선택·바깥 평가의 위치를 유지하며 값과 허용 조건을 함께 확인합니다.
상자 안의 대상과 화살표의 조건을 함께 읽으세요. 좁은 화면에서는 같은 관계를 세로로 재배치한 도식을 보여 줍니다.
아래는 r1~r8 사례의 바깥 분할 한 번이다. 안쪽 학습·검증의 세 건은 두 분할에서 역할을 바꾸며 변환도 매번 다시 맞춘다. 설정을 고른 뒤 r1~r6 전체로 재학습하고 r7·r8은 마지막 평가에만 쓴다. 바깥 점수로 A/B를 다시 고르는 선은 없다. 여러 바깥 분할은 이 전체 선택 절차를 반복한다.
이 예의 조건
- 아래는 r1~r8 사례의 바깥 분할 한 번이다. 안쪽 학습·검증의 세 건은 두 분할에서 역할을 바꾸며 변환도 매번 다시 맞춘다. 설정을 고른 뒤 r1~r6 전체로 재학습하고 r7·r8은 마지막 평가에만 쓴다. 바깥 점수로 A/B를 다시 고르는 선은 없다. 여러 바깥 분할은 이 전체 선택 절차를 반복한다.
- 이 원문의 교육용 사례·조건 안에서 상태를 대조합니다. 실제 구축·실험 결과나 원문에 없는 성능 보장을 추가하지 않습니다.
관계도의 보충 설명
| 대상 | 원 설명 |
|---|---|
| 바깥 학습 r1~r6 | 원그림의 대상 |
| 안쪽 학습 3건 | 변환·모델 적합 |
| 안쪽 검증 3건 | 반대 분할도 비교 |
| 설정 B 선택 | 안쪽 평균 2/3 |
| r1~r6 전체 재학습 | 선택한 전처리·모델 |
| 미사용 r7·r8 | 후보 선택에 미사용 |
| 이번 바깥 점수 1/2 | 선택 뒤 별도 평가 |
| 연결 | 원 라벨·방향 |
|---|---|
| 바깥 학습 r1~r6 → 안쪽 학습 3건 | 학습 부분 / 정방향 / 실선 |
| 바깥 학습 r1~r6 → 안쪽 검증 3건 | 검증 부분 / 정방향 / 실선 |
| 안쪽 학습 3건 → 안쪽 검증 3건 | 적용 / 정방향 / 실선 |
| 안쪽 검증 3건 → 설정 B 선택 | 비교 / 정방향 / 실선 |
| 설정 B 선택 → r1~r6 전체 재학습 | 고정 / 정방향 / 실선 |
| 바깥 학습 r1~r6 → r1~r6 전체 재학습 | 전체 재사용 / 정방향 / 실선 |
| r1~r6 전체 재학습 → 이번 바깥 점수 1/2 | 예측 / 정방향 / 실선 |
| 미사용 r7·r8 → 이번 바깥 점수 1/2 | 대조 / 정방향 / 실선 |
| 경계 | 포함 대상 |
|---|---|
| 안쪽 비교 | 안쪽 학습 3건, 안쪽 검증 3건 |
| 관찰·상황 | 값·보충 정보 | 변화·이유 |
|---|---|---|
| 자료 역할 고정 r1~r6은 바깥 학습, r7·r8은 선택에 쓰지 않는다. |
|
|
| 두 내부 분할 세 건 학습·세 건 검증을 바꾸며 각 변환도 학습 부분에 맞춘다. |
|
|
| B 선택·재학습 안쪽 평균 2/3으로 B를 정하고 r1~r6 전체로 다시 맞춘다. |
|
|
| 바깥 1/2 r7·r8을 마지막 평가에 써 이번 바깥 점수 1/2를 보고한다. |
|
|
안쪽에서 고른 설정을 바깥 학습 전체로 다시 맞춘다 · 상태 따라가기
r1~r6은 바깥 학습, r7·r8은 선택에 쓰지 않는다. 모든 단계에서 안쪽 선택·바깥 평가의 위치를 유지하며 값과 허용 조건을 함께 확인합니다.
상자 안의 대상과 화살표의 조건을 함께 읽으세요. 좁은 화면에서는 같은 관계를 세로로 재배치한 도식을 보여 줍니다.
아래는 r1~r8 사례의 바깥 분할 한 번이다. 안쪽 학습·검증의 세 건은 두 분할에서 역할을 바꾸며 변환도 매번 다시 맞춘다. 설정을 고른 뒤 r1~r6 전체로 재학습하고 r7·r8은 마지막 평가에만 쓴다. 바깥 점수로 A/B를 다시 고르는 선은 없다. 여러 바깥 분할은 이 전체 선택 절차를 반복한다.
이 예의 조건
- 아래는 r1~r8 사례의 바깥 분할 한 번이다. 안쪽 학습·검증의 세 건은 두 분할에서 역할을 바꾸며 변환도 매번 다시 맞춘다. 설정을 고른 뒤 r1~r6 전체로 재학습하고 r7·r8은 마지막 평가에만 쓴다. 바깥 점수로 A/B를 다시 고르는 선은 없다. 여러 바깥 분할은 이 전체 선택 절차를 반복한다.
- 이 원문의 교육용 사례·조건 안에서 상태를 대조합니다. 실제 구축·실험 결과나 원문에 없는 성능 보장을 추가하지 않습니다.
관계도의 보충 설명
| 대상 | 원 설명 |
|---|---|
| 바깥 학습 r1~r6 | 원그림의 대상 |
| 안쪽 학습 3건 | 변환·모델 적합 |
| 안쪽 검증 3건 | 반대 분할도 비교 |
| 설정 B 선택 | 안쪽 평균 2/3 |
| r1~r6 전체 재학습 | 선택한 전처리·모델 |
| 미사용 r7·r8 | 후보 선택에 미사용 |
| 이번 바깥 점수 1/2 | 선택 뒤 별도 평가 |
| 연결 | 원 라벨·방향 |
|---|---|
| 바깥 학습 r1~r6 → 안쪽 학습 3건 | 학습 부분 / 정방향 / 실선 |
| 바깥 학습 r1~r6 → 안쪽 검증 3건 | 검증 부분 / 정방향 / 실선 |
| 안쪽 학습 3건 → 안쪽 검증 3건 | 적용 / 정방향 / 실선 |
| 안쪽 검증 3건 → 설정 B 선택 | 비교 / 정방향 / 실선 |
| 설정 B 선택 → r1~r6 전체 재학습 | 고정 / 정방향 / 실선 |
| 바깥 학습 r1~r6 → r1~r6 전체 재학습 | 전체 재사용 / 정방향 / 실선 |
| r1~r6 전체 재학습 → 이번 바깥 점수 1/2 | 예측 / 정방향 / 실선 |
| 미사용 r7·r8 → 이번 바깥 점수 1/2 | 대조 / 정방향 / 실선 |
| 경계 | 포함 대상 |
|---|---|
| 안쪽 비교 | 안쪽 학습 3건, 안쪽 검증 3건 |
| 관찰·상황 | 값·보충 정보 | 변화·이유 |
|---|---|---|
| 자료 역할 고정 r1~r6은 바깥 학습, r7·r8은 선택에 쓰지 않는다. |
|
|
| 두 내부 분할 세 건 학습·세 건 검증을 바꾸며 각 변환도 학습 부분에 맞춘다. |
|
|
| B 선택·재학습 안쪽 평균 2/3으로 B를 정하고 r1~r6 전체로 다시 맞춘다. |
|
|
| 바깥 1/2 r7·r8을 마지막 평가에 써 이번 바깥 점수 1/2를 보고한다. |
|
|
MV-N1: 무엇을 몇 번 학습하는가
가상 설계는 바깥 3분할, 각 바깥 학습 부분에서 안쪽 4분할, 후보 설정 2개다. 각 후보는 하나의 전처리·모델 묶음이고 모든 실행이 한 번에 끝난다고 가정한다.
안쪽 후보 학습: 3 × 4 × 2 = 24회
각 바깥 학습 전체에서 선택 설정 재학습: 3회
바깥 평가까지 필요한 모델 학습: 24 + 3 = 27회
최종 설정을 별도 확정한 후 전체 개발 자료의 최종 학습: 추가 1회마지막 1회를 포함하면 28회지만 최종 설정을 고르는 추가 탐색이 필요하면 그 비용은 별도다. 전처리 내부 연산이나 조기 종료의 반복 횟수를 여기의 모델 학습 횟수와 같은 것으로 세지 않는다.
바깥 점수가 0.7·0.8·0.6이고 동일 비중을 선언했다면 평균은 0.7이다. 최고 0.8만 보고하면 다른 분할의 결과를 숨긴다. 폴드 간 학습 자료가 겹칠 수 있으므로 이 세 숫자를 독립 관측이라고 가정한 임의 신뢰구간은 만들지 않는다.
폴드 평균과 전체 관측의 적중률은 다를 수 있다.
평가 폴드가 두 건과 여덟 건이고 맞힌 수가 두 건과 한 건이라면, 각 폴드 적중률을 같은 비중으로 평균한 값은 (1+1/8)/2=0.5625다. 열 건의 관측을 같은 비중으로 세는 적중률은 (2+1)/(2+8)=0.3이다. 각 관측이 평가에 정확히 한 번 등장하고 같은 적중 정의를 쓰는 이 예에서는 폴드 크기로 가중하면 후자의 값과 같아진다. 두 수는 서로 다른 집계 질문에 답한다. 반복 평가로 같은 관측이 여러 번 등장하거나 다른 손실을 집계한다면 이 관계를 그대로 적용하지 않는다.
별도 시험과 중첩 평가 중 무엇이 필요한가
| 설계 | 적절한 질문 | 주의할 비용과 한계 |
|---|---|---|
| 개발 자료에서 선택 후 보류 시험 | 미리 잠근 시험 조건에서 최종 절차는 어떤가 | 시험을 반복 선택에 재사용하지 않음 |
| 중첩 교차검증 | 선택 절차가 여러 분할에서 어떤가 | 안팎 재학습 비용·의존성·분할 목적 |
| 과거 학습·뒤 기간 평가 | 다음 기간과 비슷한 상황에 적용 가능한가 | 시점별 정보 이용 가능성과 변화 |
자료량·비용·목적에 맞게 설계하며 중첩 평가가 모든 문제에서 의무라는 뜻은 아니다. 검증 자료가 지나치게 작으면 작은 차이의 순위가 안정적이라고 말하기 어렵다. 정해 둔 비용 안에서 무엇을 확인했고 무엇이 미확인인지 남긴다. [SRC-TML-SK-CV; SRC-MVP-SK-NESTED]
3. 튜닝 결과를 선택 기록으로 남긴다
탐색표의 한 행은 후보 ID, 전처리 판본, 특징 집합, 하이퍼파라미터, 분할 ID, 시드 정책, 지표별 결과, 실행시간·오류 상태를 가진다. 같은 분할에서 비교 가능한 후보인지 확인한 뒤 미리 정한 규칙으로 선택한다. 평균이 비슷하면 변동·필수 집단의 실패·자원과 운영 복잡성까지 판단 근거로 제시한다.
임계값을 추가 조정하면 그 조정도 선택 단계다. 최종 시험 결과를 본 뒤 원하는 오류율에 맞춰 임계값을 바꾸고 같은 결과를 최종 성능이라고 보고하지 않는다. 필요하면 새 개발 반복으로 기록하고 더 이상 미사용이 아닌 시험 자료의 역할을 바꿔 표시한다.
최종 산출물과 평가 보고서의 대상을 맞춘다
선택 규칙과 최종 설정을 확정한 뒤 허용된 개발 자료에서 전처리·모델을 함께 학습하고 판본을 고정한다. 잠근 시험에서는 변환과 예측만 수행하며, 기대한 지표·집단·기간의 결과와 실패를 보고한다. 시험을 본 뒤 수정했다면 수정본은 이전 시험의 승인을 그대로 물려받지 않는다.
평가한 모델·전처리·입력 계약과 인계한 산출물이 같은 판본인지 확인한다. 선택 절차의 바깥 평균, 최종 단일 모델의 보류 시험, 실제 운영 성과는 서로 다른 대상의 결과다. AP-LIB의 추가 편익은 별도의 실제 개입 증거가 있어야 확인할 수 있다.
재실행에 필요한 것은 모델 파일 하나가 아니다
재현 실행 명세는 어떤 자료·코드·분할·환경·선택 규칙으로 산출물과 점수를 얻었는지 다시 실행하고 대조할 수 있도록 고정한 기록이다. 이 절의 명칭은 모델링 절차를 위한 편집상 묶음이며 특정 표준의 공식 인증 용어가 아니다.
최소한 원본·정제판·라벨 판본과 해시, 분할의 실제 관측 ID, 코드 commit, 패키지와 설정, 전처리·모델 설정, 난수 정책, 출력 및 비교 기준을 연결한다. scikit-learn도 불변 학습 자료 참조, 생성 코드, 의존성 판본과 교차검증 결과를 모델과 함께 보존하도록 안내한다. [SRC-MVP-SK-PERSISTENCE]
분할 개수만 같고 행 순서나 그룹이 달라지면 같은 평가가 아니다. 해시는 바이트 동일성의 단서이며 정답의 사실성이나 실제 수집의 적법성을 증명하지 않는다.
난수 시드 하나로 모든 차이를 설명하지 않는다
시드 정책은 반복 실행을 해석하는 입력 중 하나다. scikit-learn에서 정수 random_state와 공유 RandomState 인스턴스·None은 반복 호출 시 난수 상태를 다루는 방식이 다르다. 같은 숫자를 적었다는 사실만으로 다른 코드·분할·라이브러리의 결과가 같다고 할 수 없다. [SRC-TML-SK-PITFALLS]
유리한 시드 하나를 여러 실행 중 골랐다면 그것도 선택이다. 여러 초기화의 민감도를 조사할 계획과 고정 비교용 실행을 구분하고, 실패한 실행을 버리지 않는다. 하드웨어·병렬 실행·수치 구현이 달라질 때는 바이트 동일성, 허용 오차 안의 예측, 지표 범위 중 무엇을 재현 목표로 삼았는지 명시한다.
가까운 확률이 같은 의사결정인 것은 아니다.
확률 0.7000000과 0.6999995의 차이는 0.0000005여서 허용 오차 0.000001 안이다. 그러나 이 예의 고정 규칙이 확률 >= 0.7이면 첫 출력만 선택된다. 확률의 수치 오차 검사와 임계값·상위 순위·동점 규칙을 거친 최종 대상의 일치 검사를 따로 둔다. 허용 오차를 통과했다고 실제 연락 대상도 같다고 결론 내리지 않는다.
저장과 복원 성공이 모델의 안전성·유효성은 아니다
scikit-learn은 다른 판본에서 저장한 모델을 그대로 불러오는 방법을 지원된 재현 경로로 보지 않는다. 의존성 판본을 기록하고 재구성 가능한 학습 절차를 보존해야 한다. 또 pickle 계열 파일은 로드 중 코드를 실행할 수 있어 출처를 신뢰할 수 없는 파일을 단순 데이터처럼 열지 않는다. [SRC-MVP-SK-PERSISTENCE]
실무에서는 지원할 판본·자료 접근·저장 형식을 명시하고, 변경된 환경의 재학습과 재검증을 별도 결과로 남긴다. 파일 복원 성공은 성능 유지나 업무상 사용 승인의 증거가 아니다.
적용 가능과 성능 수치를 다른 칸에 쓴다
MV-G1에서 정한 집단 기준을 충족해도 당시 사용 불가능한 입력이 들어갔다면 후보는 보류한다. 시험 분모·라벨·최종 판본이 확인되지 않으면 정확한 숫자 하나를 승인값으로 삼지 않는다. 사용자에게 영향을 주는 의사결정에서는 실패 대응·담당자·관찰할 운영 지표도 별도로 필요하다.
조건이 충족되면 적합한 범위에서 다음 검증으로 넘기고, 그렇지 않으면 부족한 자료·원인·다음 확인을 구체화한다. 모든 모델 중 하나를 반드시 선택해야 한다는 규칙은 없다. 현재 기준보다 개선 근거가 부족하면 단순한 기존 절차를 유지하는 것도 판단이다.
공식 범위와 본 절의 답안 연결
이 절은 공식 빅데이터 모델링의 범위를 표현·학습·후보 선택·검증·튜닝과 재현 가능한 인계의 연결로 설명한다. 개별 알고리즘과 지표를 앞의 데이터마이닝 설명에서 재사용하면서 목적·분할·가중치·선택 영향·산출물 판본의 일치로 적용 여부를 판단한다. 특정 모델의 실제 일반화 성능이나 운영 효과를 측정했다는 범위는 포함하지 않는다.
자체 10점 문제
모델 선택과 성능 평가의 차이를 설명하고, 중첩 교차검증과 재현 실행 명세가 필요한 이유 및 한계를 제시하시오.
실제 기출이 아닌 자체 작성 문제다. 앞 교육 본문의 근거와 경계를 유지하여 설명·비교·판단을 연결한다.
선택·중첩 평가·재현 명세 풀이 보기
10점 답안 목차
- 선택과 독립 평가
- 안쪽 선택·바깥 확인
- 재실행의 기록
- 판정의 한계
10점 답안 도식
앞의 안쪽에서 고른 설정을 바깥 학습 전체로 다시 맞춘다 그림을 사용한다. 목적·자료·선택 규칙을 고정하고 안쪽 후보 비교→선택 설정→바깥 전체 재학습→바깥 미사용 평가→선택 절차의 성능을 구분한다. 최종 산출물·재현 명세·사용 한계는 해당 절차와 같은 판본에 연결하며 바깥 점수로 후보를 다시 고르지 않는다.
화살표는 본문에서 가르친 책임과 증거의 연결이며 실제 실행 기록이 아니다.
10점 모범답안
1. 선택과 독립 평가
여러 후보의 최고 검증 점수에는 선택의 영향이 포함될 수 있다. 선택에 사용한 자료와 선택 절차를 평가할 자료를 나누고, 결과를 보고 바꾼 후보를 사전 계획이라고 기록하지 않는다.
2. 안쪽 선택·바깥 확인
중첩 교차검증은 안쪽에서 후보를 고른 뒤 바깥 학습 전체로 재학습하고 미사용 바깥 자료로 평가한다. 안팎 모두 그룹·시간 경계를 유지하며 이 결과를 단일 최종 모델의 운영 성과와 구분한다.
3. 재실행의 기록
자료·라벨·분할 ID·코드·의존성·설정·난수 정책·출력을 함께 고정한다. 모델 파일이나 분할 개수만 같다고 같은 평가가 아니며 판본과 허용 오차의 비교 기준을 남긴다.
4. 판정의 한계
평가한 전처리·모델·입력과 인계한 산출물 판본이 일치해야 한다. 모델 복원 성공이나 좋은 가상 점수는 업무상 사용 승인과 개입 효과의 증거를 대신하지 않는다.
자체 25점 문제
AP-LIB의 모델링 절차를 설계하시오. MV-G1의 두 집계 기준과 MV-N1의 학습 횟수를 계산하고, 분할·튜닝·최종 평가·재현성 및 적용 보류 조건을 제시하시오.
실제 기출이 아닌 자체 작성 문제다. 앞 교육 본문의 근거와 경계를 유지하여 설명·비교·판단을 연결한다.
MV-G1·MV-N1의 집계·학습 횟수 풀이 보기
25점 답안 목차
- 목적·기준 모델
- 자료 경계
- MV-G1의 순위
- MV-N1과 선택 평가
- 최종 판본과 재현
- 적용·보류
25점 답안 도식
상자 안의 대상과 화살표의 조건을 함께 읽으세요. 좁은 화면에서는 같은 관계를 세로로 재배치한 도식을 보여 줍니다.
문제·제약→자료·분할→후보·튜닝→미사용 평가를 진행한 뒤 집계와 선택 영향을 해석한다. 분모·라벨·당시 입력·최종 산출물 판본이 확인되면 정한 범위의 다음 검증으로 인계한다. 미확인·누수·누락이면 보류하고 원인과 다음 확인을 남긴다. 좋은 점수나 복원 성공만으로 운영을 승인하지 않는다.
앞의 중첩 평가 그림으로 후보·튜닝과 미사용 평가의 정보 경계를 확인한다. 자료·분할 단계와 결과 판정에서 누수·누락이 확인되면 보류하며, 최종 모델·재현 명세·후속 관찰은 같은 판본과 사용 범위에 연결한다.
화살표는 본문에서 가르친 책임과 증거의 연결이며 실제 실행 기록이 아니다.
25점 모범답안
1. 목적·기준 모델
09:00 입력과 연락 한도를 유지하고 예측 지표와 실제 개입 편익을 구별한다. 기존 규칙과 새 후보에 같은 자료·기간·지표를 적용하며 후보 범위·계산 한도·동점·실패 처리를 먼저 정한다.
2. 자료 경계
그룹·시간 분할로 배포 상황의 질문을 구체화하고 전처리·특징 선택을 각 학습 부분에 한정한다. 정답 미확인과 실패한 필수 폴드는 성공한 평가에서 조용히 제외하지 않는다.
3. MV-G1의 순위
전체 사례를 같은 비중으로 세면 A=82%, B=81%다. 두 집단을 동일 비중으로 보면 A=50%, B=85%이므로 목적에 따라 순위가 바뀐다. 유리한 결과를 본 뒤 집계 기준을 바꾸지 않고 중요한 집단의 실패를 함께 보고한다.
4. MV-N1과 선택 평가
바깥 3·안쪽 4·후보 2이면 안쪽 학습 24회, 바깥 학습 전체의 재학습 3회로 27회다. 최종 설정 확정 후 전체 개발 자료에서 한 번 더 학습하면 28회이며 추가 탐색은 별도다. 바깥 점수 0.7·0.8·0.6의 동일 비중 평균은 0.7이고 최고 점수만 보고하지 않는다.
5. 최종 판본과 재현
선택을 마친 뒤 모델과 전처리를 함께 고정하고 보류 시험을 선택에 재사용하지 않는다. 자료·분할 ID·코드·환경·설정·난수 정책과 출력 비교 기준을 남겨 같은 대상을 평가하고 인계했는지 확인한다.
6. 적용·보류
분모·라벨·당시 입력·최종 산출물의 일치가 미확인이면 보류한다. 실제 개입 성과와 운영 오류 대응은 별도로 검증하며, 개선 근거가 부족하면 기존 단순 절차를 유지할 수 있다.
다시 읽을 핵심
모델링의 신뢰성은 가장 높은 점수보다 그 점수를 만든 선택 절차에서 시작한다. 단위·분모·분할·변환·튜닝과 최종 산출물을 같은 판본으로 연결하고, 계산 결과·선택 절차의 평가·실제 운영 성과를 나누어 보고한다.
출처와 검증의 경계
SRC-TML-SK-CV — scikit-learn developers, Cross-validation: evaluating estimator performance. 판본: scikit-learn 1.9.1 (actual page title). 확인: 2026-10-06. 위치: Cross-validation; Group/time-aware iterators 원문: https://scikit-learn.org/stable/modules/cross_validation.html
SRC-TML-SK-PITFALLS — scikit-learn developers, Common pitfalls and recommended practices. 판본: scikit-learn 1.9.1. 확인: 2026-10-06. 위치: Data leakage; Controlling randomness 원문: https://scikit-learn.org/1.9/common_pitfalls.html
SRC-MVP-SK-NESTED — scikit-learn developers, Nested versus non-nested cross-validation. 판본: scikit-learn 1.9.1 documentation observed 2026-10-06. 확인: 2026-10-06. 위치: Opening methodological explanation 원문: https://scikit-learn.org/stable/auto_examples/model_selection/plot_nested_cross_validation_iris.html
SRC-MVP-SK-PERSISTENCE — scikit-learn developers, Model persistence. 판본: scikit-learn 1.9.1 documentation observed 2026-10-06. 확인: 2026-10-06. 위치: 11.5 Security & Maintainability Limitations; metadata and environment 원문: https://scikit-learn.org/stable/model_persistence.html
한국어 설명·수치·식의 적용 예·도식·문제·답안은 독립 작성했다. 원문의 코드·그림·실험 결과를 복제하지 않는다. 확인한 명시 범위의 원리와 도구 규칙만 사용하며, 실제 운영 서비스·모델 학습·독립 사람 검수의 성공으로 확대하지 않는다. 권리·기술·독자 검수와 발행 승인은 남아 있다.
직접 연습: 평균의 단위·학습 시도·최종 행동을 구별한다.
다음은 실제 모델 실행 결과가 아닌 독립 조건 자료다. 집계·재시도·출력 규칙을 바꾸지 않고 계산한다.
- MV-F2는 서로 겹치지 않는 두 평가 폴드로 각 관측을 정확히 한 번 평가한다. O1은 2건 중 2건, O2는 8건 중 1건을 맞혔다. 폴드 동일 비중 평균과 관측 동일 비중 적중률을 구하고, 두 숫자 중 유리한 것을 결과 뒤에 선택하면 왜 비교 계약이 달라지는지 설명하라.
- MV-N2는 바깥 2분할·안쪽 3분할·후보 4개이고 각 바깥 학습 전체 재학습 뒤 최종 설정의 개발 전체 학습을 한 번 추가한다. 추가 탐색·조기 종료는 없다. 계획된 논리 학습 작업 수를 구하라. 안쪽의 서로 다른 두 작업이 첫 시도에 실패하고 동일 설정으로 한 번씩 다시 시도해 모두 성공했다면 실제 시도·성공·실패 횟수는 얼마인가? 실패 폴드를 제외한 평균으로 대체할 수 있는지도 답하라.
- MV-R2에서 같은 두 관측의 원 확률은
(0.3000000,0.7000000), 복원 후 확률은(0.3000005,0.6999995)다. 관측별 절대 오차 한도는 0.000001이고 선택 규칙은확률 >= 0.7이다. 확률 오차 검사의 통과 여부와 선택된 관측의 동일 여부를 각각 판정하라.
폴드 분모·재시도 비용·확률과 행동 재현 연습 풀이
1. MV-F2 — 폴드 두 개와 관측 열 개의 평균은 다르다. 폴드 동일 비중은 (2/2+1/8)/2=0.5625=56.25%이고, 관측 동일 비중은 3/10=30%다. 폴드 적중률을 2/10·8/10으로 가중하면 30%와 같아진다. 폴드별 조건을 같은 비중으로 보려는지 관측별 평균을 보려는지 먼저 정해야 한다. 결과 뒤에 높은 56.25%만 택하면 사전에 정한 평가 질문을 바꾼다. 이는 임의 모집단 정확도의 신뢰구간을 계산한 결과가 아니다.
2. MV-N2 — 작업 개수와 시도 횟수를 함께 보고한다. 안쪽 작업은 2×3×4=24개, 바깥 전체 재학습은 2개, 최종 학습은 1개로 논리 작업은 27개다. 두 재시도로 실제 시도는 29회이며 성공 27회·실패 2회다. 성공한 두 재시도는 새로운 후보가 아니라 같은 작업의 재실행이다. 이 연습은 원인 확인 뒤 같은 자료·설정으로 재시도했다는 조건이며, 성공할 때까지 유리한 난수 결과를 고르는 선택은 허용하지 않는다. 필수 폴드를 빠뜨린 채 남은 평균을 원래 완결 평가로 바꿀 수 없다.
3. MV-R2 — 수치 허용 오차 통과와 행동 동일성은 별도다. 두 관측 모두 절대 차이는 0.0000005이므로 수치 검사는 통과한다. 원 출력에서는 둘째 관측이 0.7 이상이어서 선택되지만 복원 후에는 두 관측 모두 0.7 미만이어서 아무도 선택되지 않는다. 최종 대상은 다르다. 재현 명세에 고정 임계값·비교 연산과 최종 행동의 대조를 포함하고 수치 근접만으로 같은 행동을 승인하지 않는다.