-
카테고리
-
세부 분야
자격증 (데이터 사이언스)
-
해결 여부
해결됨
이상치 IQR 처리
23.06.15 00:07 작성 조회수 199
0
cols = list(X_train.columns[X_train.dtypes != object])
print(cols)
for col in cols:
Q1 = X_train[col].quantile(0.25)
Q3 = X_train[col].quantile(0.75)
IQR = Q3 - Q1
min_iqr = Q1 - 1.5*IQR
max_iqr = Q3 + 1.5*IQR
X_train.loc[X_train[col]<min, col] = min_iqr
X_train.loc[X_train[col]>max, col] = max_iqr
print(X_train)
이렇게 하고 X_test도 똑같이 해도 될까요?
답변을 작성해보세요.
1
퇴근후딴짓
지식공유자2023.06.15
아니요! 테스트에 이렇게 적용하면 0점입니다 테스트 데이터의 행(레코드)는 삭제되면 절대 안됩니다
iqr 이상치 처리가 좋을 때도 있는데 데이터에 따라 너무 많은 데이터가 삭제되기도 해요~
이상치 처리는 문제에 명시된 것이나 나이(age)처럼 누구나 알 수 있는 것이 아니면 권장하지 않습니다
답변 1