Zmienne znaczenie (lub ważność funkcji) jest obliczane dla wszystkich funkcji, do których model jest dopasowany. Ten kod pseudo daje wyobrażenie o tym, jak nazwy zmiennych i wagi mogą być związane z:
import pandas as pd
train = pd.read_csv("train.csv")
cols = ['hour', 'season', 'holiday', 'workingday', 'weather', 'temp', 'windspeed']
clf = YourClassifiers()
clf.fit(train[cols], train.targets) # targets/labels
print len(clf.feature_importances_)
print len(cols)
Zobaczysz, że długości dwóch list drukowane są takie same - można zasadniczo map list razem lub manipuluj nimi, jak chcesz. Jeśli chcesz pokazać zmienną wagę ładnie w działce, można użyć to:
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(6 * 1.618, 6))
index = np.arange(len(cols))
bar_width = 0.35
plt.bar(index, clf.feature_importances_, color='black', alpha=0.5)
plt.xlabel('features')
plt.ylabel('importance')
plt.title('Feature importance')
plt.xticks(index + bar_width, cols)
plt.tight_layout()
plt.show()
Jeśli nie chcesz korzystać z tej metody (co oznacza, że wszystkie kolumny są sylwetkę, a nie tylko kilka wybranych jako ustawiona w zmiennej cols
), następnie można uzyskać nazwy kolumn/funkcji/zmiennych danych za pomocą train.columns.values
(a następnie zmapować tę listę razem z listą o zmiennej ważności lub manipulować w inny sposób).
[Ten przykład przedstawia znaczenie funkcji] (http://scikit-learn.org/0.13/auto_examples/ensemble/plot_forest_importances.html#example-ensemble-plot-forest-importances-py). Czy możesz wyjaśnić, co chcesz ("bardziej wyrafinowane") - może to, co nie jest pokazane w tym przykładzie? – AGS