Monimuuttujaisen Lineaarisen Regressiomallin Rakentaminen
LinearRegression-luokka mahdollistaa monimuuttujaisen lineaarisen regressiomallin rakentamisen samalla tavalla kuin yksinkertaisen lineaarisen regressiomallin. Se käsittelee automaattisesti useita piirteitä (sarakkeita) syötematriisissa.
Datan valmistelu
Käytössämme on sama aineisto kuin yksinkertaisen lineaarisen regression esimerkissä, mutta nyt mukana on äidin pituus toisena piirteenä. Ladataan aineisto ja tarkastellaan sen X-muuttujaa:
12345678import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
Oletuksena parametri fit_intercept=True on asetettu, joten malli laskee vakiotermin () automaattisesti!
Voimme syöttää X DataFrame:n (joka on jo 2-ulotteinen) suoraan mallille.
Parametrien etsiminen
Erinomaista! Nyt voimme rakentaa mallin, etsiä parametrit ja tehdä ennusteita.
12345678910111213141516171819202122from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
Nyt kun harjoitusaineistossamme on 2 ominaisuutta, meidän täytyy antaa 2 ominaisuutta jokaiselle uudelle havainnolle, jolle haluamme tehdä ennusteen. Siksi käytettiin np.array([[65, 62],[70, 65],[75, 70]]).
Huomaa myös, että model.coef_ palauttaa taulukon kertoimia samassa järjestyksessä kuin sarakkeet X:ssä. Koska X oli ['Father', 'Mother'], coef_[0] on isän kerroin ja coef_[1] on äidin kerroin.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 3.33
Monimuuttujaisen Lineaarisen Regressiomallin Rakentaminen
Pyyhkäise näyttääksesi valikon
LinearRegression-luokka mahdollistaa monimuuttujaisen lineaarisen regressiomallin rakentamisen samalla tavalla kuin yksinkertaisen lineaarisen regressiomallin. Se käsittelee automaattisesti useita piirteitä (sarakkeita) syötematriisissa.
Datan valmistelu
Käytössämme on sama aineisto kuin yksinkertaisen lineaarisen regression esimerkissä, mutta nyt mukana on äidin pituus toisena piirteenä. Ladataan aineisto ja tarkastellaan sen X-muuttujaa:
12345678import pandas as pd file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file # Assign the variables X = df[['Father', 'Mother']] y = df['Height'] print(X.head())
Oletuksena parametri fit_intercept=True on asetettu, joten malli laskee vakiotermin () automaattisesti!
Voimme syöttää X DataFrame:n (joka on jo 2-ulotteinen) suoraan mallille.
Parametrien etsiminen
Erinomaista! Nyt voimme rakentaa mallin, etsiä parametrit ja tehdä ennusteita.
12345678910111213141516171819202122from sklearn.linear_model import LinearRegression import numpy as np # Initialize the model model = LinearRegression() # Train the model (No need to add constant!) model.fit(X, y) # Get the parameters beta_0 = model.intercept_ beta_1 = model.coef_[0] # Coefficient for 'Father' beta_2 = model.coef_[1] # Coefficient for 'Mother' print('beta_0 is: ', beta_0) print('beta_1 is: ', beta_1) print('beta_2 is: ', beta_2) # Predict new values # Feature values of new instances: [[Father, Mother], [Father, Mother], ...] X_new = np.array([[65, 62], [70, 65], [75, 70]]) y_pred = model.predict(X_new) # Predict the target print('Predictions:', y_pred)
Nyt kun harjoitusaineistossamme on 2 ominaisuutta, meidän täytyy antaa 2 ominaisuutta jokaiselle uudelle havainnolle, jolle haluamme tehdä ennusteen. Siksi käytettiin np.array([[65, 62],[70, 65],[75, 70]]).
Huomaa myös, että model.coef_ palauttaa taulukon kertoimia samassa järjestyksessä kuin sarakkeet X:ssä. Koska X oli ['Father', 'Mother'], coef_[0] on isän kerroin ja coef_[1] on äidin kerroin.
Kiitos palautteestasi!