Ich benutze sklearn, um die Wichtigkeit der Eigenschaft für Wälder von Bäumen zu zeichnen. Der Datenrahmen heißt "Herz". Hier ist der Code, um die Liste der sortierten Merkmale zu extrahieren:WIE MAN DIE FEATURE BEDEUTUNG mit Wald von Bäumen ETIKETT?
importances = extc.feature_importances_
indices = np.argsort(importances)[::-1]
print("Feature ranking:")
for f in range(heart_train.shape[1]):
print("%d. feature %d (%f)" % (f + 1, indices[f], importances[indices[f]]))
Dann plotten ich die Liste auf diese Weise:
f, ax = plt.subplots(figsize=(11, 9))
plt.title("Feature ranking", fontsize = 20)
plt.bar(range(heart_train.shape[1]), importances[indices],
color="b",
align="center")
plt.xticks(range(heart_train.shape[1]), indices)
plt.xlim([-1, heart_train.shape[1]])
plt.ylabel("importance", fontsize = 18)
plt.xlabel("index of the feature", fontsize = 18)
und ich bekomme eine grafische Darstellung wie folgt aus:
Meine Frage ist: Wie kann ich die NUMMER der Funktion durch den NAMEN der Funktion ersetzen, um die Handlung verständlicher zu machen? Ich habe versucht, die Zeichenfolge zu konvertieren, die den Namen des Features enthält (das ist der Name jeder Spalte des Datenrahmens), aber ich kann mein Ziel nicht erreichen.
Dank
Vielen Dank! Jetzt muss ich die richtige Spalte mit der richtigen Bedeutung übereinstimmen. – ElenaPhys
Haben Sie herausgefunden, wie Sie die richtige Spalte mit der richtigen Wichtigkeit verbinden? – Amy21