我正在使用.feature_importances_将重要性值从回归树模型导出到CSV。该树使用不同数量的变量多次运行。我正在寻找一个额外的列,该列列出了计算重要性时使用的变量数量。
目前,我可以使用下面的代码将重要性值和变量名称导出到CSV中
Importance = list(zip(model.feature_importances_,list(X)))
Importance = pd.DataFrame(Importance,columns=["Importance","Feature_Name"])
Importance.to_csv('File.csv', mode='a', header=False)
并且我得到一个看起来像这样的CSV
Imp VarName
0 1.00 0mm
0 0.58 0mm
1 0.42 0.63mm
0 0.54 0.63mm
1 0.36 0mm
2 0.10 0.125mm
我正在寻找的是添加第4列,其中包含该树中使用的变量的数量,因此输出将像这样
Imp VarName NumVar
0 1.00 0mm 1
0 0.58 0mm 2
1 0.42 0.63mm 2
0 0.54 0.63mm 3
1 0.36 0mm 3
2 0.10 0.125mm 3
这应该起作用,我将len的大小的数组与X的len的值相加。
import numpy as np
Importance = list(zip(model.feature_importances_, list(X), len(X) * np.ones(len(X))))
Importance = pd.DataFrame(Importance,columns=["Importance","Feature_Name", "NumVar"])
Importance.to_csv('File.csv')
第一次运行时,我认为您可以删除False
的附加模式和标题。