i min tidligere blog dækkede jeg det grundlæggende i lineær regression og gradientafstamning. For at få praktisk lineær regression tager vi et originalt datasæt og anvender de begreber, vi har lært.
Vi tager Boligdatasættet, der indeholder oplysninger om forskellige huse i Boston. Disse data var oprindeligt en del af UCI Machine Learning Repository og er blevet fjernet nu. Vi kan også få adgang til disse data fra scikit-learn-biblioteket. Der er 506 prøver og 13 funktionsvariabler i dette datasæt. Målet er at forudsige værdien af priserne på huset ved hjælp af de givne funktioner.
så lad os komme i gang.
først importerer vi de krævede biblioteker.
dernæst indlæser vi husdataene fra scikit-learn bibliotek og forstå det.
vi udskriver værdien af boston_dataset for at forstå, hvad den indeholder. print(boston_dataset.keys()) giver
dict_keys()
data: indeholder oplysningerne til forskellige huse
mål: husets priser
feature_names: navne på funktionerne
DESCR: beskriver datasættet
for at vide mere om funktionerne bruger boston_dataset.DESCR beskrivelsen af alle funktionerne er angivet nedenfor:
CRIM: Per capita crime rate by town ZN: Proportion of residential land zoned for lots over 25,000 sq. ft INDUS: Proportion of non-retail business acres per town CHAS: Charles River dummy variable (= 1 if tract bounds river; 0 otherwise) NOX: Nitric oxide concentration (parts per 10 million) RM: Average number of rooms per dwelling AGE: Proportion of owner-occupied units built prior to 1940 DIS: Weighted distances to five Boston employment centers RAD: Index of accessibility to radial highways TAX: Full-value property tax rate per $10,000 PTRATIO: Pupil-teacher ratio by town B: 1000(Bk — 0.63)², where Bk is the proportion of by town LSTAT: Percentage of lower status of the population MEDV: Median value of owner-occupied homes in $1000s
husets priser angivet med variablenMEDV er vores målvariabel, og de resterende er funktionsvariablerne baseret på hvilke vi vil forudsige værdien af et hus.
vi indlæser nu dataene i en pandas dataframe ved hjælp afpd.DataFrame. Vi udskriver derefter de første 5 rækker af dataene ved hjælp af head()