Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Lineaarisen Regressiomallin Rakentaminen NumPyn Avulla | Yksinkertainen Lineaarinen Regressio
Lineaarinen Regressio Pythonilla
course content

Kurssisisältö

Lineaarinen Regressio Pythonilla

Lineaarinen Regressio Pythonilla

1. Yksinkertainen Lineaarinen Regressio
2. Monimuuttujainen Lineaarinen Regressio
3. Polynomiregressio
4. Parhaan Mallin Valitseminen

book
Lineaarisen Regressiomallin Rakentaminen NumPyn Avulla

Tiedät jo, mitä yksinkertainen lineaarinen regressio on ja kuinka löytää parhaiten dataan sopiva suora. Käyt nyt läpi kaikki vaiheet lineaarisen regression rakentamiseksi oikealle aineistolle.

Datan lataaminen

Meillä on tiedosto, simple_height_data.csv, jossa on esimerkeissämme käytetty data. Lataamme tiedoston ja tarkastelemme sitä:

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

Joukossa on kaksi saraketta: ensimmäinen on 'Father', joka on syöteominaisuus, ja toinen on 'Height', joka on meidän kohdemuuttuja.

Kohdemuuttujan arvot asetetaan muuttujaan y ja ominaisuuden arvot muuttujaan X, ja rakennetaan hajontakuvio.

12345678910
import pandas as pd import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Parametrien etsiminen

NumPy tarjoaa kätevän funktion lineaarisen regressiomallin parametrien löytämiseen.

Lineaarinen regressio on polynomiregressio, jonka aste on 1 (käsittelemme polynomiregressiota myöhemmissä osioissa). Siksi meidän täytyy asettaa deg=1 saadaksemme lineaarisen regression parametrit.
Tässä on esimerkki:

12345678910
import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Huomio

Jos et tunne syntaksia beta_1, beta_0 = np.polyfit(X,y,1), sitä kutsutaan purkamiseksi (unpacking). Jos sinulla on iteroitava (esim. lista, NumPy-taulukko tai pandas-sarja), jossa on kaksi alkiota, kirjoittaminen

a, b = my_iterator

on sama kuin

a = my_iterator[0]
b = my_iterator[1]

Koska polyfit()-funktion palauttama arvo on NumPy-taulukko, jossa on kaksi arvoa, voimme tehdä näin.

Ennusteiden tekeminen

Nyt voimme piirtää suoran ja ennustaa uusia muuttujia parametrien avulla.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

Nyt kun meillä on parametrit, voimme käyttää lineaarisen regressioyhtälöä uusien arvojen ennustamiseen.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Lineaarisen regressiomallin parametrien löytäminen on melko helppoa. Jotkin kirjastot voivat kuitenkin tarjota myös lisätietoja.

question mark

Yksinkertaisen lineaarisen regression parametrit voidaan löytää NumPyn funktiolla:

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

course content

Kurssisisältö

Lineaarinen Regressio Pythonilla

Lineaarinen Regressio Pythonilla

1. Yksinkertainen Lineaarinen Regressio
2. Monimuuttujainen Lineaarinen Regressio
3. Polynomiregressio
4. Parhaan Mallin Valitseminen

book
Lineaarisen Regressiomallin Rakentaminen NumPyn Avulla

Tiedät jo, mitä yksinkertainen lineaarinen regressio on ja kuinka löytää parhaiten dataan sopiva suora. Käyt nyt läpi kaikki vaiheet lineaarisen regression rakentamiseksi oikealle aineistolle.

Datan lataaminen

Meillä on tiedosto, simple_height_data.csv, jossa on esimerkeissämme käytetty data. Lataamme tiedoston ja tarkastelemme sitä:

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

Joukossa on kaksi saraketta: ensimmäinen on 'Father', joka on syöteominaisuus, ja toinen on 'Height', joka on meidän kohdemuuttuja.

Kohdemuuttujan arvot asetetaan muuttujaan y ja ominaisuuden arvot muuttujaan X, ja rakennetaan hajontakuvio.

12345678910
import pandas as pd import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

Parametrien etsiminen

NumPy tarjoaa kätevän funktion lineaarisen regressiomallin parametrien löytämiseen.

Lineaarinen regressio on polynomiregressio, jonka aste on 1 (käsittelemme polynomiregressiota myöhemmissä osioissa). Siksi meidän täytyy asettaa deg=1 saadaksemme lineaarisen regression parametrit.
Tässä on esimerkki:

12345678910
import pandas as pd import numpy as np file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the files X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
Huomio

Jos et tunne syntaksia beta_1, beta_0 = np.polyfit(X,y,1), sitä kutsutaan purkamiseksi (unpacking). Jos sinulla on iteroitava (esim. lista, NumPy-taulukko tai pandas-sarja), jossa on kaksi alkiota, kirjoittaminen

a, b = my_iterator

on sama kuin

a = my_iterator[0]
b = my_iterator[1]

Koska polyfit()-funktion palauttama arvo on NumPy-taulukko, jossa on kaksi arvoa, voimme tehdä näin.

Ennusteiden tekeminen

Nyt voimme piirtää suoran ja ennustaa uusia muuttujia parametrien avulla.

123456789101112
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

Nyt kun meillä on parametrit, voimme käyttää lineaarisen regressioyhtälöä uusien arvojen ennustamiseen.

1234567891011
import pandas as pd import numpy as np import matplotlib.pyplot as plt file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file X, y = df['Father'], df['Height'] # Assign the variables beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

Lineaarisen regressiomallin parametrien löytäminen on melko helppoa. Jotkin kirjastot voivat kuitenkin tarjota myös lisätietoja.

question mark

Yksinkertaisen lineaarisen regression parametrit voidaan löytää NumPyn funktiolla:

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 3
some-alt