해결된 질문
작성
·
147
0
X_test 데이터 전처리에서 'age'와 'hours.per.week'의 fillna가 X_test가 아닌 X_train의 평균과 중앙값으로 이루어졌는데요, 아래와 같이 X_test값으로 fillna하면 안 되는 걸까요?
X_test['age'] = X_test['age'].fillna(int(X_test['age'].mean()))
X_test['hours.per.week'] = X_test['hours.per.week'].fillna(X_test['hours.per.week'].median())
원본
# X_test데이터
X_test['workclass'] = X_test['workclass'].fillna(X_test['workclass'].mode()[0])
X_test['native.country'] = X_test['native.country'].fillna(X_test['native.country'].mode()[0])
X_test['occupation'] = X_test['occupation'].fillna("X")
X_test['age'] = X_test['age'].fillna(int(X_train['age'].mean()))
X_test['hours.per.week'] = X_test['hours.per.week'].fillna(X_train['hours.per.week'].median())
답변 1
1
시험 문제에서 데이터 누수(data leakage)로 인해 제약을 걸지 않으면 가능합니다.
일반적으로는 test데이터는 미래 데이터로 평균이나 통계에 대한 정보를 사용하진 않습니다만 시험에서는 크게 제약을 둔 케이스가 아직은 없어요!!(결측치가 6회 이전까지 한 번도 출제되지 않음)