Generieren Sie die Merkmals Bedeutung mithilfe von Scikit Learn, Random Forest

0

Erfahren Sie ein grundlegendes Konzept, um zufälligen Wald zu verwenden, das auf Ihre Projekte angewendet wird, und vergleichen Sie das Ergebnis mit verschiedenen Methoden

Der zufällige Waldalgorithmus wurde in einer Reihe von Branchen angewendet, sodass sie bessere Geschäftsentscheidungen treffen können. Einige Anwendungsfälle umfassen eine hohe Kreditrisikoanalyse und die Produktempfehlung für Quer-Sell-Zwecke.

In diesem Stück würde ich Sie kurz durch verschiedene Methoden führen, um die Funktionsbedeutung mit dem vala klassischen Datensatz für rotes Weinqualität zu generieren. Am Ende dieses Kapitels können Sie ein grundlegendes Konzept haben, um zufälligen Wald für Ihre Projekte angewendet zu werden und das Ergebnis unter verschiedenen Methoden zu vergleichen.

Inhaltsverzeichnis: Erzeugen Sie die Wichtigkeit der Objektfunktion mit Scikit Learn und zufälligem Wald in maschinellem Lernen

Rotweindatensatz und Datentraining Split

Für jedes maschinelle Lernmodell ist es kritisch, einen ordnungsgemäßen Datensatz zu erhalten oder die Daten vorzubereiten. Kaggle ist eine der beliebtesten Plattformen, mit denen Sie den richtigen Datensatz nachschlagen können. Hier ist der Link für das Rotweinqualitätsprojekt.

https://www.kaggle.com/datasets/uciml/red-wine-quality-cortez-et-al-2009

Als erstes die Verarbeitung der Daten mit Pandas und Sklearn Train_test_split ist der erste Schritt.

URL = " wineQuality-rot.csv "

wine_data = pd . Read_csv ( URL , sep = " ; " )

x = wine_data . Drop ( 'Qualität' , <!-- Achse = 1 )

y = wine_data [ 'Qualität' ]

x_train , x_test , y_train , y_test = train_test_split ( x , y , test_size = 0,5 , random_state = 50 ) <!--

Eingebaute Merkmals Bedeutung mit Scikit-Learn

Scikit-Learn bietet eine integrierte Merkmals-Wichtigkeitsmethode für zufällige Waldmodelle. Nach der Dokumentation basiert diese Methode auf der Abnahme der Knotenverunreinigung.

In einem zufälligen Wald sind die Fragen wie die Merkmale des Modells. Einige Fragen helfen Ihnen dabei, mehr Möglichkeiten zu beseitigen als andere. Die Annahme ist, dass Funktionen, die Ihnen helfen, mehr Möglichkeiten zu beseitigen, schneller sind, da sie Ihnen helfen, sich schneller an die richtige Antwort heranzukommen. Es ist sehr einfach, diese Feature-Bedeutung mit Scikit-Learn zu erhalten:

rf = randomforestregressor ( n_estimators = 100 , random_state = 50 )

rf . fit ( x_train , y_train )

Inbuilt_importances = pd . Serie ( rf . feature_importances _ , Index = x_train . Spalten)

Inbuilt_importances . sort_values ​​ ( Ascending = True , Inplace = True true )

Inbuilt_importances . Plot . Barh ( Farbe = 'schwarz' )

Integrierte Scikit-Learn-Methode mit einer zufälligen Funktion

Die einfachste Möglichkeit, diese Methode voranzutreiben, besteht darin, dem Datensatz eine zufällige Funktion hinzuzufügen und zu prüfen, ob das Ergebnis möglicherweise mehr als das 1. ohne zufällig abgewichen ist. /span>

Wenn eine reale Funktion eine geringere Bedeutung als die zufällige Funktion hat, könnte dies darauf hinweisen, dass ihre Bedeutung nur zum Zufall zurückzuführen ist.

def Randommethod ():

x_train_random = x_train . Copy ()

x_train_random [ " Random " ] = np . Random . RandomState ( 42 ). Randn ( x_train . Form [ 0 ])

rf_random = randomforestregressor ( n_estimators = 100 , Random_State = 42 )

rf_random . fit ( X_TRAIN_RANDOM , y_train )

Importances_Random = pd . Serie ( rf_random . Feature_importances _ , Index = X_train_random . Spalten)

Importances_Random . sort_values ​​ ( Ascending = True , Inplace = true )

Importances_Random . Plot . Barh ( Farbe = 'Blue' )

PLT . xlabel ( " Bedeutung " )

PLT . Ylabel ( " Funktion " )

PLT . Titel ( " Feature Wichtigkeit-SciKit Erlernen Sie integriert mit zufälliger " )

PLT . Show ()

return

Permutationsfunktion Wichtigkeit

Permutationsfunktion Wichtigkeit ist eine weitere Technik, um die Bedeutung jedes Merkmals in einem zufälligen Waldmodell durch Messung der Änderung der Leistung des Modells zu schätzen, wenn die Werte des Feature zufällig gemischt werden.

Einer der Vorteile dieser Methode besteht darin, dass sie mit jedem Modell verwendet werden kann, nicht nur mit zufälligen Wäldern, was die Ergebnisse zwischen den Modellen vergleichbarer macht.

Random Forest-Funktion Wichtigkeit mit Snap

Shap ist eine Methode zur Interpretation der Ausgabe von maschinellen Lernmodellen basierend auf der Spieltheorie.

Es bietet ein einheitliches Maß für die Merkmals Bedeutung, die wie die Permutationswichtigkeit auf jedes Modell angewendet werden kann.

Der Hauptnachteil davon ist, dass es rechnerisch teuer sein kann, insbesondere für große Datensätze oder komplexe Modelle.

Feature Wichtiges über zufällige Waldpfad

Eine andere Möglichkeit, zu verstehen, wie jede Funktion zu den zufälligen Waldvorhersagen beiträgt

Es berechnet die Differenz zwischen dem Vorhersagewert am Blattknoten und den Vorhersagewerten an den Knoten, die ihm vorausgehen, um den geschätzten Beitrag jedes Merkmals zu erhalten.

Voller Python Scri pt von Feature -Wichtigkeitsgenerator

Wenn Sie an Kapitel 76 interessiert sind – Generieren Sie die Bedeutung der Objektfunktion mit Scikit Learn und Random Forest, Bitte Abonnieren Sie unseren Newsletter Durch Hinzufügen der Meldung ‚Kapitel 75 + Begriff API‘ . Wir schicken Ihnen das Skript sofort an Ihr Mailbox.

Ich hoffe, Sie lesen gerne Kapitel 76 – Generieren Sie die Bedeutung der Objektfunktion mit Scikit Learn und Random Forest. Wenn Sie dies getan haben, unterstützen Sie uns bitte, indem Sie eines der unten aufgeführten Dinge tun, da es immer unseren Kanal aushilft.

  • Unterstützen Sie unseren Kanal durch Spenden über PayPal (paypal.me/Easy2digital)
  • Abonnieren Sie meinen Kanal und schalten Sie die Benachrichtigungsglocke ein Easy2Digital Youtube Kanal.
  • Folgen Sie und liken Sie unsere Seite Easy2Digital Facebook Seite
  • Teilen Sie den Artikel in Ihrem sozialen Netzwerk mit dem Hashtag #easy2digital
  • Melden Sie sich für unseren wöchentlichen Newsletter an, um die neuesten Artikel, Videos und Rabattcodes von Easy2Digital zu erhalten
  • Abonnieren Sie unsere monatliche Mitgliedschaft über Patreon, um exklusive Vorteile zu genießen (www.patreon.com/louisludigital)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert