导出特征重要性时添加额外的列

问题描述 投票:0回答:1

我正在使用.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
python regression export-to-csv decision-tree
1个回答
0
投票

这应该起作用,我将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的附加模式和标题。

© www.soinside.com 2019 - 2024. All rights reserved.