缺失值的前期处理

来源:互联网 发布:好看的日系穿搭 淘宝 编辑:程序博客网 时间:2024/05/01 23:28

建立模型的时候,我们对于缺失值太大的特征需要删除,否则还可以对我们造成噪音数据。
对于缺失值的处理,一般来说先判定缺失的数据是否有意义。
从确实信息可以发现,本次数据集缺失值较多的属性对我们模型预测意义不大。
统计每列属性缺失值的数量,删除缺失值过高的比例的函数。
为此本人写了函数如下:

def null_ratio(data, ratiolimit = 0.4):    #删除缺失值过高的比例的函数    df_null = data.isnull().sum(axis=0).sort_values(ascending=False)/float(len(data))    null_ratio = pd.DataFrame(df_null)    null_ratio = null_ratio.reset_index() #重置索引    null_ratio = null_ratio.rename(columns = {'index':'Col', 0:'value_retio'}, copy = False)        df_nullre = null_ratio[null_ratio.value_retio < ratiolimit] #删掉缺失值比例>0.4的特征       refesh_data = data[list(df_nullre['Col'])]     return refesh_data

调用函数:

df1 = null_ratio(df)
原创粉丝点击