결측치 처리
선형보간법을 활용한 무작위 대치법
선형 보간법 (Linear interpolation)
- 두 점 사이의 직선을 따라 값을 추정하는 방식
def linspace(df, missing_idx):
candidates = np.concatenate([
np.linspace(2.5, 30, 20),
np.linspace(30, 90, 100),
np.linspace(90, 100, 10)
])
df_line = df.copy()
best = np.random.choice(candidates, size=len(missing_idx), replace=True)
df_line.loc[missing_idx, '상대 습도'] = best
return df_line
정규분포 특성을 이용한 결측값 추정
def normal(df, missing_idx):
candidate = np.random.normal(loc= 66.161889, scale= 21.146626, size=len(missing_idx)* 10)
candidate = np.clip(candidate, 2.5, 100)
best = np.random.choice(candidate, size=len(missing_idx), replace=True)
df_normal = df.copy()
df_normal.loc[missing_idx, '상대 습도'] = best
return df_normal
MAPE?
mean_absolute_percentage_error
링크텍스트