Uitdaging: Het Voorspellen van Huizenprijzen
U gaat nu een regressiemodel bouwen aan de hand van een praktijkvoorbeeld. U beschikt over een bestand, houses_simple.csv
, dat informatie bevat over huizenprijzen met de oppervlakte als kenmerk.
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())
De volgende stap is het toewijzen van variabelen en het visualiseren van de dataset:
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()
In het voorbeeld met de lengte van een persoon was het veel eenvoudiger om een lijn voor te stellen die goed bij de gegevens past.
Maar nu vertonen onze gegevens veel meer variatie, omdat de doelvariabele sterk afhankelijk is van andere factoren zoals leeftijd, locatie, interieur, enzovoort.
Toch is de opdracht om de lijn te construeren die het beste bij de beschikbare gegevens past; deze zal de trend weergeven. De OLS
-klasse dient hiervoor gebruikt te worden. Binnenkort leren we hoe we meer kenmerken kunnen toevoegen, wat de voorspelling zal verbeteren!
Swipe to start coding
- Wijs de kolom
'price'
vandf
toe aany
. - Maak de matrix
X_tilde
aan met behulp van de functieadd_constant()
uitstatsmodels
(geïmporteerd alssm
). - Initialiseer het
OLS
-object en train dit. - Verwerk de array
X_new
op dezelfde manier alsX
. - Voorspel de target voor de matrix
X_new_tilde
.
Oplossing
Bedankt voor je feedback!