Korrelationsmatrix mit Pandas
Ich habe einen Datensatz mit riesigen Anzahl von Funktionen, also die Analyse der Korrelationsmatrix sehr schwierig geworden ist. Ich will plot eine Korrelations-matrix, die wir erhalten, mit dataframe.corr()
Funktion von pandas-Bibliothek. Gibt es irgendeine eingebaute Funktion des pandas-Bibliothek zum zeichnen dieser matrix?
InformationsquelleAutor der Frage Gaurav Singh | 2015-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
pyplot.matshow()
vonmatplotlib
:InformationsquelleAutor der Antwort jrjc
Versuchen, diese Funktion zeigt den Namen der Variablen für die Korrelations-matrix:
InformationsquelleAutor der Antwort Apogentus
Seaborn ' s heatmap version:
InformationsquelleAutor der Antwort rafaelvalle
Können Sie beobachten die Beziehung zwischen den Besonderheiten entweder durch ziehen einer heat-map von seaborn oder scatter-matrix von pandas.
Scatter-Matrix:
Wenn Sie visualisieren möchten, um jede Funktion schiefe als auch - Nutzung seaborn pairplots.
Sns Heatmap:
Die Ausgabe wird eine Korrelation anzeigen der Funktionen. also siehe das folgende Beispiel.
Den Zusammenhang zwischen Lebensmittel und Reinigungsmittel ist hoch. Ähnlich:
Pdoducts Mit Hoher Korrelation:
Produkte Mit Mittlere Korrelation:
Produkte Mit Geringer Korrelation:
Vom Pairplots: Sie können beobachten, gleichen Satz von Beziehungen aus pairplots oder scatter-matrix. Aber von diesen können wir sagen, ob die Daten normal verteilt sind oder nicht.
Hinweis: Die oben ist der gleiche graph entnommen, die Daten, die verwendet wird, zu zeichnen heatmap.
InformationsquelleAutor der Antwort phanindravarma
Wenn Ihr Hauptziel ist die Visualisierung der Korrelationsmatrix, anstatt eine Handlung per se, die bequem
pandas
styling-Optionen ist eine brauchbare integrierte Lösung:Beachten Sie, dass diese Bedürfnisse werden in einem backend unterstützt die Darstellung von HTML, wie die JupyterLab Notebook. (Das automatische heller text auf dunklen Hintergründen ist aus einem bestehenden PR-und nicht die Letzte veröffentlichte version,
pandas
0.23).Styling
Können Sie ganz einfach begrenzen Sie die digit Genauigkeit:
- Oder get-rid-of die Ziffern zusammen, wenn Sie bevorzugen die matrix ohne Anmerkungen:
Styling-Dokumentation enthält auch Anweisungen für erweiterte Stile, wie so ändern Sie die Anzeige der Zelle mit dem Mauszeiger überfahren. Zum speichern der Ausgabe, die Sie zurückbringen könnte die HTML durch anfügen der
render()
Methode und dann Schreibe es in eine Datei (oder auch nur einen screenshot für weniger formelle Zwecke).Zeit Vergleich
In meinen Tests
style.background_gradient()
war 4x schneller alsplt.matshow()
und 120x schneller alssns.heatmap()
mit einer 10x10 matrix. Leider ist es nicht so gut skalieren wieplt.matshow()
: die beiden etwa die gleiche Zeit für eine 100x100 matrix und derplt.matshow()
ist 10x schneller für eine 1000x1000 matrix.InformationsquelleAutor der Antwort Joel Ostblom