데이터 전처리1(결측치, 이상치)
결측치 제거할 때 test는 처리하면 안된다고 하셨는데 다음과 같은 상황들에서 어떻게 처리해야 하나요?
1)train, test 둘다 결측치 있는 경우 train만
train = train.dropna()하면 되는지
2) train은 없고 test만 결측치가 있는경우 둘다 안 하면 되는지
3) train만 있고 test는 결측치가 없는 경우 train만 처리하면 되는지
답변 2
0
우선 결측치가 있는경우 데이터를 (행/컬럼)삭제 또는 채움으로 처리가 필요합니다.
train 삭제 또는 채움 처리, test데이터 채움 처리 필요 (또는 train과 함께 컬럼 삭제 가능)
test데이터 채움 처리 필요 (또는 train과 함께 컬럼 삭제 가능)
네 맞습니다.
결측치가 있는 경우 머신러닝에서 에러가 나서 그렇습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 최수영님.
데이터 전처리 과정에서 결측치와 이상치 처리에 관한 질문을 해주셨군요. 결측치 처리 방법은 모델의 성능과 평가의 정확도에 큰 영향을 미칠 수 있기에 신중히 접근해야 하는 부분입니다. 아래에 상황별 처리를 정리하겠습니다.
1) Train과 Test 모두 결측치가 있는 경우
train = train.dropna()와 같이 Train 데이터에서 결측치를 제거하는 것은 학습 데이터의 청결성을 높이기 위한 방법이 될 수 있습니다. 그러나, Test 데이터에서는 행을 삭제하면 안 됩니다. Test 데이터의 결측치는 학습 데이터를 기반으로 적절히 대체(impute)하는 방법을 추천드립니다. 예를 들어, Train 데이터에서 결측치를 제거한 후의 통계량(평균 또는 중앙값)을 이용해 Test 데이터의 결측치를 채울 수 있습니다.
2) Train에 결측치가 없고 Test에만 결측치가 있는 경우
- 이런 경우 Test 데이터의 결측치를 Train 데이터의 통계량을 기반으로 대체하는 것이 일반적입니다. 직접적으로 Train 데이터에 영향을 준 요소와 동일한 방식으로 Test 데이터의 결측치를 다루는 방식입니다.
3) Train에만 결측치가 있고 Test에는 없는 경우
- Train 데이터만을 처리하면 됩니다. 학습 과정에서 결측치를 제거하거나 대체하여 모델의 성능을 높이는 방향으로 작업할 수 있습니다.
각 경우에 대해 추가적인 정보를 원하시면, 유사한 질문과 답변이 아래 게시물들에서 확인 가능합니다:
- 데이터 전처리(결측치 채울때 궁금한점): 결측치 처리 방법의 기본 원칙에 대해 설명하고 있습니다.
- 3-3 데이터 전처리 질문: Test 데이터의 결측치를 Train 데이터의 통계량으로 채우는 일반적인 방법에 대해 다룹니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
작업형1 강의 수강 완료 후..
0
6
0
작업형1 모의문제 4번에 3)문제 질문
0
15
2
이상치 전처리 작업
0
22
2
평가결과값 문의
0
27
2
시계열 데이터 날짜와 시간 format
0
31
2
평가지표 F1 스코어 질문드립니다.
0
24
2
작업형 2 기출7회분에서
0
36
2
작업형2 모의문제1 (30강)
0
34
2
수강 기간 연장 문의 드립니다.
0
41
2
수강 계획과 관련해 문의 드립니다.
0
28
2
작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?
0
50
2
작업형 1 -연습문제 4-6
0
38
2
작업형 1 유형 부분
0
42
2
작업형 1 (삭제예정, 구 버전)
0
51
2
수강기간 연장 문의드립니다.
0
38
2
2유형 레이블 인코딩 VS 원핫 인코딩
0
37
3
수강기간 연장 문의드립니다.
0
44
2
인덱스 슬라이싱
0
37
2
질문 드립니다.
0
50
2
강의 내용 관련 질문드립니다~
0
46
2
수강 연장 문의
0
63
2
강의자료 일괄 다운로드
0
61
2
수강기간 연장 문의드립니다
0
48
2
list 문제 질문드립니다~
0
38
2





