Lineaarisen Regressiomallin Rakentaminen NumPyn Avulla
Olet jo perehtynyt yksinkertaiseen lineaariseen regressioon ja siihen, miten löydetään 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ä:
123456import 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
Aineistossa on kaksi saraketta: ensimmäinen on 'Father', joka toimii syöteominaisuutena, ja toinen on 'Height', joka on meidän kohdemuuttujamme.
Kohdearvot sijoitetaan muuttujaan y ja ominaisuusarvot muuttujaan X, minkä jälkeen rakennetaan hajontakuvio.
12345678910import 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()
Parametrien etsiminen
NumPy tarjoaa kätevän funktion lineaarisen regressiomallin parametrien löytämiseen.
Lineaarinen regressio on polynomiregressio asteen 1 mukaan (käsittelemme polynomiregressiota myöhemmissä osioissa). Siksi meidän täytyy asettaa deg=1 saadaksemme lineaarisen regression parametrit.
Tässä on esimerkki:
12345678910import 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)
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 palautusarvo on NumPy-taulukko, jossa on kaksi arvoa, voimme tehdä näin.
Ennusteiden tekeminen
Nyt voimme piirtää suoran ja ennustaa uusia muuttujia parametrien avulla.
123456789101112import 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()
Nyt kun meillä on parametrit, voimme käyttää lineaarisen regressioyhtälöä uusien arvojen ennustamiseen.
1234567891011import 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)
Lineaarisen regressiomallin parametrien määrittäminen on melko helppoa. Jotkin kirjastot voivat lisäksi tarjota lisätietoja.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 5.26
Lineaarisen Regressiomallin Rakentaminen NumPyn Avulla
Pyyhkäise näyttääksesi valikon
Olet jo perehtynyt yksinkertaiseen lineaariseen regressioon ja siihen, miten löydetään 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ä:
123456import 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
Aineistossa on kaksi saraketta: ensimmäinen on 'Father', joka toimii syöteominaisuutena, ja toinen on 'Height', joka on meidän kohdemuuttujamme.
Kohdearvot sijoitetaan muuttujaan y ja ominaisuusarvot muuttujaan X, minkä jälkeen rakennetaan hajontakuvio.
12345678910import 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()
Parametrien etsiminen
NumPy tarjoaa kätevän funktion lineaarisen regressiomallin parametrien löytämiseen.
Lineaarinen regressio on polynomiregressio asteen 1 mukaan (käsittelemme polynomiregressiota myöhemmissä osioissa). Siksi meidän täytyy asettaa deg=1 saadaksemme lineaarisen regression parametrit.
Tässä on esimerkki:
12345678910import 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)
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 palautusarvo on NumPy-taulukko, jossa on kaksi arvoa, voimme tehdä näin.
Ennusteiden tekeminen
Nyt voimme piirtää suoran ja ennustaa uusia muuttujia parametrien avulla.
123456789101112import 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()
Nyt kun meillä on parametrit, voimme käyttää lineaarisen regressioyhtälöä uusien arvojen ennustamiseen.
1234567891011import 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)
Lineaarisen regressiomallin parametrien määrittäminen on melko helppoa. Jotkin kirjastot voivat lisäksi tarjota lisätietoja.
Kiitos palautteestasi!