Erstellen Sie ein Preisvorhersagemodell mit Python, Scikit Learn und Linear

0

In diesem Artikel möchte ich Ihnen kurz erklären, wie Sie eine Preisvariante vorhersagen können, basierend auf der Berücksichtigung mehrerer Variablen, die mit der Preisänderung zusammenhängen könnten. Am Ende dieses Artikels können Sie dieses Modul auf Ihre tatsächlichen Geschäftsfälle anwenden, indem Sie Python und Scikit lernen, um eine Bewertung zur Vorhersage der Preisgestaltung zu generieren.

In diesem Artikel möchte ich Ihnen kurz erklären, wie Sie eine Preisvariante vorhersagen können, basierend auf der Berücksichtigung mehrerer Variablen, die mit der Preisänderung zusammenhängen könnten. Am Ende dieses Artikels können Sie dieses Modul auf Ihre tatsächlichen Geschäftsfälle anwenden, indem Sie Python und Scikit lernen, um eine Bewertung zur Vorhersage der Preisgestaltung zu generieren.

Zutaten, die im Voraus vorbereitet werden müssen: Numpy, Pandas, Scikit Learn, Matplotlib, Seaborn, Linear Regression, StandardScaler, RandomForest

Inhaltsverzeichnis: Eine Variantenpreisvorhersage basierend auf mehreren Variablen unter Verwendung von Python, ScikitLearn

Datensatz wird geladen

In diesem Artikel wird der kalifornische Immobilienpreisdatensatz als Beispiel verwendet. Allerdings können Sie Ihre Geschäftsfalldaten als Datensatz verwenden. Stellen Sie nur sicher, dass der Datensatz eine bestimmte Datenmenge enthalten sollte, um die Punktzahl besser vorhersagen zu können.

Wie üblich können wir Pandas zum Laden des Datensatzes verwenden und info() anwenden, um einen Blick auf die Datensatzbedingungen zu werfen.

Für eine bessere Vorhersage gilt als eines der Hauptprinzipien, dass die Datengröße verschiedener Metriken die gleiche Anzahl an Datenzeilen haben sollte. Wie Sie diesem Beispiel entnehmen können, zeigen die Metriken von totle_bathrooms offensichtlich eine gewisse NA in ihrer Spalte. Deshalb müssen wir zuerst die NA fallen lassen.

data.dropna ( inplace= True )

Datenexploration

Als Erstes müssen wir eine Zielvariante für die Vorhersage festlegen. In diesem Fall ist der mittlere Wohnwert die Zielvariante, da es sich bei diesem Experiment grundsätzlich um die Entscheidungsfindung beim Immobilienkauf handelt. Wir müssen also die Metrik aus der vorhandenen Tabelle löschen und die Zielvariante separat als neue Variable im Skript festlegen.

X = data.drop ([ 'median_house_value' ], axis= 1 )

y = data [ 'median_house_value' ]

Dann könnten wir versuchen, die Korrelation jeder Variablen mit unserer Zielvariante zu untersuchen und uns einen Überblick darüber zu verschaffen, ob der Datensatz sinnvoll ist.

Im Allgemeinen müssen wir nicht den gesamten Datensatz verwenden, um diesen Zweck zu erfüllen. In diesem Fall können wir erneut auf die Aufteilung der Zugtests zurückgreifen. Wir haben diese Methode im vorherigen Kapitel näher erläutert. Wenn Sie daran interessiert sind, lesen Sie bitte andere Kapitel auf Easy2Digital.com

X_train , X_test , y_train , y_test = train_test_split ( X , y , test_size= 0.2 )

Dann können wir versuchen, sie mit den Methoden join() und hist() im Histogrammdiagramm anzuzeigen

Oder wir können es mit der corr()-Methode in einer Heatmap anzeigen, die mit tiefem und hellem Farbkontrast visueller ist.

Datenvorverarbeitung

Wir können eine Reihe hervorgehobener Variablen sehen. Wenn wir uns außerdem die obige Histogrammverteilung ansehen, erscheinen einige Funktionen unsinnig. Wir könnten also versuchen, log() zu verwenden, um zu sehen, ob die Verteilung der vorgestellten Variablen besser sein kann.

train_data [ 'total_rooms' ] = np.log ( train_data [ 'total_rooms' ] + 1 )

train_data [ 'total_bedrooms' ] = np.log ( train_data [ 'total_bedrooms' ] + 1 )

train_data [ 'population' ] = np.log ( train_data [ 'population' ] + 1 )

train_data [ 'households' ] = np.log ( train_data [ 'households' ] + 1 )

In diesem Fall ist es sinnvoller, nachdem die Protokollmethode implementiert wurde. Wir müssen eins im Protokoll hinzufügen, da dies nur für den Fall geschieht, dass einige der Funktionen möglicherweise Null sind.

Der andere wichtige Abschnitt der Datenvorverarbeitung besteht dann darin, den String-Datentyp in Ganzzahlen zu konvertieren. Dies liegt daran, dass maschinelles Lernen ein zahlengesteuerter Prozess ist und Zeichenfolgen nicht direkt verarbeiten kann.

Im Datensatz stellen wir fest, dass die Ozeannähe im String-Datentypformat vorliegt. Daher können wir die Panda-Methode get_dummies verwenden, um damit umzugehen.

pd.get_dummies ( train_data.ocean_proximity )

Vorhersagen mithilfe des linearen Regressionsmodells

Jetzt ist der Datensatz vorhanden und wir können versuchen, ein Modell zu importieren und die Modellgenauigkeit zur Vorhersage des Wohnwerts durch Skalieren des Feature-Datensatzes zu testen.

from sklearn.linear_model import LinearRegression

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler ()

X_train , y_train = train_data.drop ([ 'median_house_value' ], axis= 1 ), train_data [ 'median_house_value' ]

X_train_s = scaler.fit_transform ( X_train )

reg = LinearRegression ()

reg.fit ( X_train_s , y_train )

LinearRegression ()

test_data = X_test.join ( y_test )

test_data [ 'total_rooms' ] = np.log ( test_data [ 'total_rooms' ] + 1 )

test_data [ 'total_bedrooms' ] = np.log ( test_data [ 'total_bedrooms' ] + 1 )

test_data [ 'population' ] = np.log ( test_data [ 'population' ] + 1 )

test_data [ 'households' ] = np.log ( test_data [ 'households' ] + 1 )

test_data = test_data.join ( pd.get_dummies ( test_data.ocean_proximity )) .drop ([ 'ocean_proximity' ], axis= 1 )

X_test , y_test = test_data.drop ([ 'median_house_value' ], axis= 1 ), test_data [ 'median_house_value' ]

X_test_s = scaler.transform ( X_test )

reg.score ( X_test_s , y_test )

Vollständiges Python-Skript zum Erstellen eines Preisvorhersagemodells basierend auf mehreren Variablen mit Python, ScikitLearn

Wenn Sie daran interessiert sind, ein Preisvorhersagemodell mit Python, ScikitLearn, linearer Regression zu erstellen, Bitte abonnieren Sie unseren Newsletter , indem Sie die Nachricht „Preisvorhersagemodell“ hinzufügen. . Wir senden Ihnen das Skript umgehend in Ihr Postfach.

Ich wünsche Ihnen viel Spaß beim Lesen von „Build a Pricing Prediction Model Using Python, ScikitLearn, Linear Regression“. Wenn ja, unterstützen Sie uns bitte, indem Sie eine der unten aufgeführten Maßnahmen ergreifen, da dies unserem Kanal immer weiterhilft.

  • Unterstützen Sie unseren Kanal und spenden Sie über PayPal ( paypal.me/Easy2digital )
  • Abonnieren Sie meinen Kanal und aktivieren Sie die Benachrichtigungsglocke des Easy2Digital-Youtube-Kanals .
  • Folgen und liken Sie meine Easy2Digital-Facebook-Seite
  • Teilen Sie den Artikel in Ihrem sozialen Netzwerk mit dem Hashtag #easy2digital
  • Sie melden 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 )

Kursempfehlung für Kurse zu Datenwissenschaft und maschinellem Lernen

Schreibe einen Kommentar

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