Ich versuche, Feature-Importwerte für ein zufälliges Gesamtstrukturmodell zu plotten und jede Feature-Wichtigkeit auf den ursprünglichen Koeffizienten zurückzuverweisen. Es ist mir gelungen, ein Diagramm zu erstellen, das die Wichtigkeiten zeigt und die ursprünglichen Variablennamen als Label verwendet, aber im Moment sortiert es die Variablennamen in der Reihenfolge, in der sie sich im Dataset befanden (und nicht in der Reihenfolge ihrer Wichtigkeit). Wie bestelle ich sie in der Reihenfolge ihrer Wichtigkeit? Vielen Dank!Zuordnen von Spaltennamen zu zufälligen Gesamtstrukturmerkmalsimporten
Mein Code ist:
importances = brf.feature_importances_
std = np.std([tree.feature_importances_ for tree in brf.estimators_],
axis=0)
indices = np.argsort(importances)[::-1]
# Print the feature ranking
print("Feature ranking:")
for f in range(x_dummies.shape[1]):
print("%d. feature %d (%f)" % (f + 1, indices[f], importances[indices[f]]))
# Plot the feature importances of the forest
plt.figure(figsize=(8,8))
plt.title("Feature importances")
plt.bar(range(x_train.shape[1]), importances[indices],
color="r", yerr=std[indices], align="center")
feature_names = x_dummies.columns
plt.xticks(range(x_dummies.shape[1]), feature_names)
plt.xticks(rotation=90)
plt.xlim([-1, x_dummies.shape[1]])
plt.show()
Sie haben die Plots, die Sie gerade erhalten, nicht aufgenommen? –
Bearbeitet! Ich war mir nicht sicher, ob der Plot viel Wert hatte, weil ich nur versuche, die Reihenfolge der x-Labels auf der Unterseite zu ändern. Entschuldigung für die winzige Schrift, es war die einzige Möglichkeit, den größten Teil des Bildes in einen Screenshot zu packen. – yogz123
'plt.bar (Bereich (x_dummies.shape [1]), Bedeutungen [Indizes], color =" r ", yerr = std [Indizes], align =" center ")'? –