[PYTHON] [Hands-on für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (6 .: Verteilungskonvertierung objektiver Variablen)

Thema

Das sechste Projekt, um den Inhalt des Hands-ons zu notieren, dass jeder das berühmte Thema "Hauspreis" -Problem von Kaggle herausfordern wird. Es ist eher ein Memo als ein Kommentar, aber ich hoffe, es hilft jemandem irgendwo. Die Vorbereitung wurde letztes Mal abgeschlossen und befindet sich schließlich in der Analysephase.

Die heutige Arbeit

Verteilungstransformation der Zielvariablen

Überprüfen Sie die Verteilung von SalePrice (Hauspreis) in den Trainingsdaten. Es wurde festgestellt, dass die meisten Häuser zum Zeitpunkt des Ausfüllens des Mangels keinen Pool haben. Dies bedeutet, dass es einige Villen gibt, die Pools auf der anderen Seite haben, und die Verteilung der Immobilienpreise kann ziemlich verzerrt sein. Wird angenommen.

Ich erinnere mich, dass es wichtig ist, auf der Grundlage einer solchen temporären Konstruktion zu zeichnen. Zunächst wird der Graph jedoch wie gesagt ausgegeben.

sns.distplot(train['SalePrice'])

Über Seaborn

"Was ist sns?" Ich habe es nach dem Anfang vergessen, aber es war in der Bibliothek, die ich zuerst importierte. Dies.

import seaborn as sns

Ich sehe Seaborn

Überprüfen Sie, was im Zug war ['Verkaufspreis']

Überprüfen Sie danach für alle Fälle den Inhalt im Zug ['Verkaufspreis']. Ich sehe, die Reihen, in denen jeder aufgereiht ist. スクリーンショット 2020-06-29 12.07.02.png

Ausgabediagramm

Und das Ausgabediagramm sieht so aus.

sns.distplot(train['SalePrice'])

image.png

Protokollkonvertierung

Wie erwartet erstreckt sich die Basis der Verteilung ganz nach rechts. Durch logarithmische Konvertierung wird eine Normalverteilung erreicht.

Bestätigung von "Was ist logarithmische Konvertierung?"

sns.distplot(np.log(train['SalePrice']))

Änderungen im Array vor und nach der logarithmischen Konvertierung

Ich werde so viel ausgeben.

np.log(train['SalePrice'])

Ich sehe, es ist zerquetscht. スクリーンショット 2020-06-29 12.17.28.png

Ausgabediagramm Teil 2

sns.distplot(np.log(train['SalePrice']))

image.png

Ich habe das Gefühl, dass es eine ziemlich normale Verteilung hat.

Erstellen eines Vorhersagemodells

Ich wollte eintreten, aber anscheinend riecht es, als wäre die Zeit abgelaufen, also ist es das für heute.

Da die Anzahl der Variablen diesmal ziemlich groß ist, möchten wir den Koeffizienten stark einschränken, sodass wir ein Vorhersagemodell unter Verwendung der Lasso-Regression erstellen.

Nach der Vorbereitung untersuchte ich die Lasso-Regression und beendete.

Lasso-Regression

Das ist es.

Nachdem ich die Analyseebene betreten hatte, wurde mir klar, dass es notwendig war, das Hintergrundwissen zu ergänzen. Hauptsächlich über Regressionsanalyse.

Recommended Posts

[Hands-on für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (6 .: Verteilungskonvertierung objektiver Variablen)
[Hands-on für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (5. Dummy von kategorialen Variablen)
[Hands-on für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (7. Vorbereiten der Erstellung eines Vorhersagemodells)
[Hands-on für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (Teil 2: Bestätigung fehlender Werte)
[Hands-on für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (Teil 3: Vorbereitung zum Ausfüllen fehlender Werte)
[Praktisch für Anfänger] Lesen Sie zaggles "Vorhersage der Eigenheimpreise" Zeile für Zeile (8. Erstellen eines Vorhersagemodells)
[Hands-on für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (4 .: Ergänzende Werte ergänzen (vollständig))
[Praktisch für Anfänger] Lesen Sie zaggles "Predicting Home Prices" Zeile für Zeile (Teil 1: Lesen von Daten)