指标重要性反映了自变量对因变量的影响幅度,是特征工程的重要工作。
####### 快速计算变量重要性
## 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 版权协议,转载请附上原文出处链接和本声明。