i min tidigare blogg täckte jag grunderna för linjär regression och gradient nedstigning. För att få praktisk linjär regression tar vi en original dataset och tillämpar de begrepp som vi har lärt oss.
Vi tar Bostadsuppsättningen som innehåller information om olika hus i Boston. Dessa data var ursprungligen en del av UCI Machine Learning Repository och har tagits bort nu. Vi kan också komma åt dessa data från scikit-learn-biblioteket. Det finns 506 prover och 13 funktionsvariabler i denna dataset. Målet är att förutsäga värdet av priserna på huset med hjälp av de givna funktionerna.
så låt oss komma igång.
först importerar vi de nödvändiga biblioteken.
därefter laddar vi husdata från scikit-learn biblioteket och förstår det.
vi skriver ut värdet på boston_dataset för att förstå vad det innehåller. print(boston_dataset.keys()) ger
dict_keys()
data: innehåller informationen för olika hus
mål: husets priser
feature_names: namnen på funktionerna
DESCR: beskriver datasetet
för att veta mer om funktionerna använd boston_dataset.DESCR beskrivningen av alla funktioner ges nedan:
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
priserna på huset som indikeras av variabelnMEDV är vår målvariabel och de återstående är funktionsvariablerna baserat på vilka vi kommer att förutsäga värdet på ett hus.
vi laddar nu data i en pandas dataframe med pd.DataFrame. Vi skriver sedan ut de första 5 raderna av data med head()