【问题标题】:Adding extra column when exporting Feature Importance导出特征重要性时添加额外的列
【发布时间】:2020-06-04 02:48:41
【问题描述】:

我正在使用 .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

我正在寻找的是添加第四列,其中包含该树中使用的变量数量,因此输出将是这样的

  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】:

    这应该可以了,我添加了一个 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')
    

    第一次运行的时候,我觉得可以删除append mode和header to False

    【讨论】:

    • 感谢您的回复。它能够为我指明正确的方向。 len(X)*np.ones(len(X)) 不太好用,因为它只会返回 83(X 变量列表的字符数)相反,我能够找到 np.full() 并使其与以下 np.full((Var_Count,1) , Var_Count) 一起使用
    猜你喜欢
    • 2019-02-28
    • 1970-01-01
    • 2013-06-14
    • 2022-08-16
    • 2018-12-14
    • 2021-12-23
    • 2021-02-03
    • 2016-11-07
    • 1970-01-01
    相关资源
    最近更新 更多