지난주 모델이 더 좋았는데 아무도 못 찾는다 · 같은 이름, 다른 데이터 · 퀴즈
퀴즈: 계약과 누수
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
데이터의 버전을 파일 이름 대신 내용의 해시로 삼는 이유는?
- 해시가 파일 이름보다 짧아 저장 공간을 아낀다
- 같은 이름의 파일이 바뀌어도 아무 경고가 없기 때문
- 해시를 쓰면 파일을 압축하지 않아도 된다
- 이름은 운영체제마다 다르게 읽히기 때문
데이터 계약의 허용 범위를 오늘 데이터의 최솟값·최댓값으로 정하면 무엇이 문제인가?
- 범위를 계산하는 데 시간이 너무 오래 걸린다
- 정수 열과 실수 열을 구분할 수 없게 된다
- 새 열이 추가되면 검증이 통째로 실패한다
- 오늘 우연히 들어온 이상치가 내일의 규칙이 된다
계약을 어긴 행을 예외 처리로 건너뛰기만 하고 따로 남기지 않으면 어떤 일이 생기나?
- 학습이 중간에 멈춰 원인을 바로 알 수 있다
- 다음 검증에서 같은 행이 두 번 세어진다
- 표본이 줄어든 사실이 어디에도 남지 않아 나중에 원인을 못 짚는다
- 그 열의 자료형이 자동으로 문자열로 바뀐다
scikit-learn 문서가 말하는 데이터 누수(data leakage)의 정의에 가장 가까운 것은?
- 학습 데이터가 외부로 유출되어 개인정보가 노출되는 것
- 예측 시점에는 쓸 수 없는 정보가 모델을 만드는 데 쓰이는 것
- 데이터 파일이 손상되어 일부 행을 읽지 못하는 것
- 학습 중 메모리가 조금씩 새어 나가는 것
학습·평가 분할이 겹쳤는지를 지표 변화가 아니라 식별자 비교로 검사해야 하는 이유는?
- 지표 계산이 식별자 비교보다 훨씬 느리기 때문
- 지표는 소수점 아래 값이 매번 달라지기 때문
- 평가 분할에는 지표를 계산할 레이블이 없기 때문
- 기억력이 작은 모델에서는 누수가 있어도 지표가 거의 움직이지 않기 때문
계약 검증을 처음 켰을 때 경보가 쏟아진다면 가장 나은 대응은?
- 경보를 하나씩 읽고 현실보다 좁게 적힌 계약을 고친다
- 검증을 꺼 두고 데이터가 안정될 때까지 기다린다
- 위반이 난 열을 계약에서 통째로 뺀다
- 임계값을 모두 두 배로 올린다