🐶 에러
특정 컬럼에 대한 결측치 대체값을 상관관계 높은 변수로 예측하여 넣는 과정에서 다음과 같은 에러가 발생했다.
✔️ 입력 예시
# LSTAT 결측값이 있는 행과 없는 행 분리
df_with_na = df[df["LSTAT"].isnull()]
df_without_na = df[df["LSTAT"].notnull()]
# 상관관계 높은 변수 선택
correlated_features = ["MEDV", "INDUS", "NOX", "AGE", "TAX"]
# 회귀 모델 학습
model = LinearRegression()
X_train = df_without_na[correlated_features]
y_train = df_without_na["LSTAT"]
model.fit(X_train, y_train) 💣에러 발생
✔️ 에러
ValueError: Input X contains NaN. an inplace method.
LinearRegression does not accept missing values encoded as NaN natively
🐶 내용
LinearRegression 모델에서 입력 데이터(X_train 또는 X_pred)에 NaN 값이 포함되어 있을 때 발생
💣 해당 예시의 경우, ["INDUS", "AGE"] 데이터에 NaN 값이 포함됨
🐶 조치
NaN 데이터 결측값 처리
df['INDUS'] = df['INDUS'].fillna(df['INDUS'].median())
df['AGE'] = df['AGE'].fillna(df['AGE'].median())