PYTHON 用随机森林算法快速计算指标重要性

  • Post author:
  • Post category:python


指标重要性反映了自变量对因变量的影响幅度,是特征工程的重要工作。

####### 快速计算变量重要性
## data_df : 待计算原始数据; 
## obj_columns:目标变量列名
def calIv_by_RandomForestClassifier(data_df , obj_columns):
    from sklearn.ensemble import RandomForestClassifier
    clf = RandomForestClassifier()
    Y = data_df[obj_columns]
    X = data_df.drop(obj_columns , axis = 1)
    
    model = clf.fit(X , Y)
    model.feature_importances_
    from collections import OrderedDict
    res_dsec = OrderedDict()
    res_dsec['col_name'] = X.columns.tolist()
    res_dsec['val'] = model.feature_importances_
    res = pd.DataFrame(res_dsec)
    res = res.sort_values('val')
    return res

函数的调用

if __name__ == '__main__':
    import pandas as pd
    import numpy as np
    data = pd.read_csv('data/cs-training.csv')
    data.describe()
    data.columns.tolist()
    ### 采用随机森林模型计算iv值
    iv= calIv_by_RandomForestClassifier(data , 'SeriousDlqin2yrs')



版权声明:本文为chensq_yinhai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。