Herausforderung: Vorhersage von Immobilienpreisen
Sie erstellen nun ein Regressionsmodell anhand eines praxisnahen Beispiels. Ihnen steht eine Datei, houses_simple.csv
, zur Verfügung, die Informationen über Immobilienpreise mit der Wohnfläche als Merkmal enthält.
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/houses_simple.csv') print(df.head())
Im nächsten Schritt werden Variablen zugewiesen und der Datensatz visualisiert:
import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/houses_simple.csv') X = df['square_feet'] y = df['price'] plt.scatter(X, y, alpha=0.5) plt.show()
Im Beispiel mit der Körpergröße einer Person war es wesentlich einfacher, sich eine Linie vorzustellen, die die Daten gut abbildet.
Doch nun weist unsere Datenbasis deutlich mehr Varianz auf, da das Ziel stark von vielen weiteren Faktoren wie Alter, Lage, Ausstattung usw. abhängt.
Die Aufgabe besteht dennoch darin, diejenige Linie zu bestimmen, die die vorhandenen Daten am besten beschreibt; sie zeigt den Trend an. Dafür sollte die Klasse OLS
verwendet werden. Bald lernen wir, wie weitere Merkmale hinzugefügt werden können, um die Vorhersage zu verbessern!
Swipe to start coding
- Die Spalte
'price'
ausdf
alsy
zuweisen. - Die Matrix
X_tilde
mit der Funktionadd_constant()
ausstatsmodels
(importiert alssm
) erstellen. - Das
OLS
-Objekt initialisieren und trainieren. - Das Array
X_new
auf die gleiche Weise wieX
vorverarbeiten. - Das Ziel für die Matrix
X_new_tilde
vorhersagen.
Lösung
Danke für Ihr Feedback!