缺失值补全和变换
1、首先导入数据,然后进行变量的类型处理
df_tr = train.drop('Id',axis=1)
df_X = df_tr.drop('SalePrice',axis=1)
df_y = df_tr['SalePrice']
quantity = [attr for attr in df_X.columns if df_X.dtypes[attr] != 'object'] # 数值变量集合
quality = [attr for attr in df_X.columns if df_X.dtypes[attr] == 'object'] # 类型变量集合
for c in quality: # 类型变量缺失值补全
df_tr[c] = df_tr[c].astype('category')
if df_tr[c].isnull().any():
df_tr[c] = df_tr[c].cat.add_categories(['MISSING'])
df_tr[c] = df_tr[c].fillna('MISSING')
# 连续变量缺失值补全
quantity_miss_cal = df_tr[quantity].isnull().sum().sort_values(ascending=False) # 缺失量均在总数据量的10%以下
missing_cols = quantity_miss_cal[quantity_miss_cal>0].index
df_tr[missing_cols] = df_tr[missing_cols].fillna(0.) # 从这些变量的意义来看,缺失值很可能是取 0
df_tr[missing_cols].isnull().sum() # 验证缺失值是否都已补全
2、对于离散变量,我们可以进行一元方差分析,获得各个离散变量对房价方差的影响:
# 一元方差分析(类型变量)
from scipy import stats
def an

本文详细介绍了一种处理数据集中缺失值的有效方法,包括对数值型和类别型变量的缺失值填充策略。同时,介绍了如何通过一元方差分析评估类别变量对目标变量的影响,并提出了一种将类别变量转换为有序数值变量的创新方法,以此增强模型的预测能力。
最低0.47元/天 解锁文章
1661

被折叠的 条评论
为什么被折叠?



