python 缺失值处理

# 用随机森林对缺失值预测填充函数

def set_missing(df):

    # 把已有的数值型特征取出来

    process_df = df.ix[:,[变量]]

    # 分成已知该特征和未知该特征两部分

    known = process_df[process_df.变量.notnull()].as_matrix()

    unknown = process_df[process_df.变量.isnull()].as_matrix()

    # X为特征属性值

    X = known[:, 1:]

    # y为结果标签值

    y = known[:, 0]

    # fit到RandomForestRegressor之中

    rfr = RandomForestRegressor(random_state=0, n_estimators=200,max_depth=3,n_jobs=-1)

    rfr.fit(X,y)

    # 用得到的模型进行未知特征值预测

    predicted = rfr.predict(unknown[:, 1:]).round(0)

    print(predicted)

    # 用得到的预测结果填补原缺失数据

    df.loc[(df.变量.isnull()), '变量'] = predicted

    return df

基于Python的信用评分卡模型分析(一) -

你可能感兴趣的:(python 缺失值处理)