Значения объектов и выбор по целевой переменной - PullRequest
0 голосов
/ 08 мая 2018

Поскольку у меня слишком много функций, я хотел уменьшить количество и нашел способ с помощью этого RandomForestClassifier для определения важности функций.

from sklearn.ensemble import RandomForestClassifier

rnd_clf = RandomForestClassifier(n_estimators=500, n_jobs=1, random_state=42)
rnd_clf.fit(X, y)




a = {name: importance for name, importance in zip(NUMBER, rnd_clf.feature_importances_)}

df = pd.DataFrame(list(a.items()), columns=['name', 'importance'])

df2 = df.sort_values('importance',ascending=False)

Но поскольку у меня есть 6 целевых переменных, я хотел определить, какие функции имеют значение для каждой целевой переменной, а не те, которые имеют значение для всех в приведенном выше коде.

Я пытался удалить другие целевые переменные в наборе обучения, но это не сработало, потому что все значения были установлены на 0. Как я могу это исправить?

EDIT: Пример данных: Partij - Y. Другие переменные - X (и многое другое)

gemeente    Partij  Perioden    Bevolking/Bevolkingssamenstelling op 1 januari/Totale bevolking (aantal)    Bevolking/Bevolkingssamenstelling op 1 januari/Geslacht/Mannen (aantal) Bevolking/Bevolkingssamenstelling op 1 januari/Geslacht/Vrouwen (aantal)    Bevolking/Bevolkingssamenstelling op 1 januari/Leeftijd/Leeftijdsgroepen/Jonger dan 5 jaar (aantal) Bevolking/Bevolkingssamenstelling op 1 januari/Leeftijd/Leeftijdsgroepen/5 tot 10 jaar (aantal) Bevolking/Bevolkingssamenstelling op 1 januari/Leeftijd/Leeftijdsgroepen/10 tot 15 jaar (aantal)    Bevolking/Bevolkingssamenstelling op 1 januari/Leeftijd/Leeftijdsgroepen/15 tot 20 jaar (aantal)
0   's-Hertogenbosch    VVD 2007    135648.0    66669.0 68979.0 7986.0  7809.0  7514.0  7612.0  ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1   's-Hertogenbosch    VVD 2008    136481.0    67047.0 69434.0 7885.0  7853.0  7517.0  7680.0  ... 5.8 8.6 41.3    5.2 4.0 20.0    4.0 5.0 25.0    3.0
2   's-Hertogenbosch    VVD 2009    137775.0    67715.0 70060.0 7915.0  7890.0  7497.0  7628.0  ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3   's-Hertogenbosch    VVD 2010    139607.0    68628.0 70979.0 8127.0  7852.0  7527.0  7752.0  ... 5.6 8.4 40.7    5.4 4.0 20.0    3.0 5.0 24.0    3.0
4   Aa en Hunze PVDA    2007    25563.0 12653.0 12910.0

1 Ответ

0 голосов
/ 14 мая 2018

Создайте 6 наборов данных для 6 целевых переменных, если вы хотите знать, какие функции имеют значение для целевой переменной.

Чтобы исследовать важность функций, есть еще несколько возможностей, чем метод feature_importance древовидной модели.

  • коэффициент корреляции
  • Рейтинг по моделям
  • Стабильность выбора
  • RFE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...