#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. да, я понял) спасибо