Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Hauspreise Vorhersagen | Einfache Lineare Regression
Lineare Regression mit Python

book
Hauspreise Vorhersagen

Lassen Sie uns ein Regressionsmodell für ein reales Beispiel erstellen. Wir haben eine Datei, houses_simple.csv, die Informationen über Immobilienpreise mit der Flä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())
1234
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())
copy

Lassen Sie uns Variablen zuweisen und unser Datenset visualisieren!

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)
12345678
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)
copy

Im Beispiel mit der Körpergröße einer Person war es viel einfacher, sich eine Linie vorzustellen, die gut zu den Daten passt.
Aber jetzt haben unsere Daten viel mehr Varianz, da das Ziel stark von vielen anderen Dingen wie Alter, Standort, Innenausstattung usw. abhängt.
Dennoch besteht die Aufgabe darin, die Linie zu erstellen, die am besten zu den vorhandenen Daten passt; sie wird den Trend zeigen. Die OLS-Klasse sollte dafür verwendet werden. Bald werden wir lernen, wie man mehr Merkmale hinzufügt, um die Vorhersage zu verbessern!

Aufgabe

Swipe to start coding

  1. Weisen Sie die 'price'-Spalte von df y zu.
  2. Erstellen Sie die X_tilde-Matrix mit der add_constant()-Funktion von statsmodels (importiert als sm).
  3. Initialisieren Sie das OLS-Objekt und trainieren Sie es.
  4. Verarbeiten Sie das X_new-Array auf die gleiche Weise wie X.
  5. Sagen Sie das Ziel für die X_new_tilde-Matrix voraus.

Sobald Sie diese Aufgabe abgeschlossen haben, klicken Sie auf die -Schaltfläche unter dem Code, um Ihre Lösung zu überprüfen.

Lösung

import pandas as pd
import numpy as np
import statsmodels.api as sm
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')
# Assign the variables
X = df['square_feet']
y = df['price']
# Preprocess X
X_tilde = sm.add_constant(X)
# Build and train a model
regression_model = sm.OLS(y, X_tilde).fit()
# Create and preprocess X_new
X_new = np.array([1300, 10000, 25000])
X_new_tilde = sm.add_constant(X_new)
# Predict the target for X_new
y_pred = regression_model.predict(X_new_tilde)
print(y_pred)
# Plot the data points and prediction line
plt.scatter(X, y, alpha=0.5)
plt.plot(X_new, y_pred)

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5
import pandas as pd
import numpy as np
import statsmodels.api as sm
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')
# Assign the variables
X = df['square_feet']
y = df['___']
# Preprocess X
X_tilde = ___.___(X)
# Build and train a model
regression_model = sm.___(y, ___).fit()
# Create and preprocess X_new
X_new = np.array([1300, 10000, 25000])
X_new_tilde = ___.___(X_new)
# Predict the target for X_new
y_pred = regression_model.___(X_new_tilde)
print(y_pred)
# Plot the data points and prediction line
plt.scatter(X, y, alpha=0.5)
plt.plot(X_new, y_pred)

Fragen Sie AI

expand
ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt