Добавление дополнительного столбца при экспорте важности объекта - PullRequest
1 голос
/ 19 февраля 2020

Я использую .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

1 Ответ

0 голосов
/ 20 февраля 2020

Это должно сработать, я добавляю массив размера len со значением номера len из X.

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.

...