Важность функций с помощью python sklearn ExtraTreesClassifier

#python #scikit-learn #feature-selection

#python #scikit-learn #выбор функций

Вопрос:

Пытаюсь применить sklearn ExtraTreesClassifier() для определения важности функций в наборе данных (new_y dataframe). Итак, я выбираю значения из набора данных (x) и имен столбцов (y) и пытаюсь создать модель:

 from sklearn.ensemble import ExtraTreesClassifier

arrX=new_y.values
arrY=new_y.columns.values

model = ExtraTreesClassifier()
model.fit(arrX,arrY)

model.feature_importances_
  

Это выдает ошибку, например, «Количество меток = 18 не соответствует количеству выборок = 161389»
Итак, что я делаю неправильно и как это должно быть сделано правильно?

Комментарии:

1. Когда вы получаете ошибку, вы должны указать, в какой строке! в любом случае, это выглядит неправильно: arrY=new_y.columns.values предполагается, что вы передаете целевые значения, а не имена столбцов, не так ли arrY = new_y.values ?

2. значит, x и y будут идентичны?

3. Извините, в моем последнем комментарии ошибка, вы должны передавать функции как X, а столбец целевого прогноза — как Y, поэтому, какими бы ни были ваши функции, передайте это для X, и обычно последний столбец является целевым прогнозом, см. Документы: scikit-learn.org/stable/modules/generated/… то, что вы сделали, это просто передали свои имена столбцов, что неверно, вы должны передать массив, который имеет то же количество строк, что и ваш массив, но представляет собой один столбец

4. да, я понял) спасибо