Bygga Linjär Regression med Statsmodels
Svep för att visa menyn
Bygga en linjär regressionsmodell
I statsmodels kan OLS-klassen användas för att skapa en linjär regressionsmodell.
Vi behöver först initiera ett objekt av OLS-klassen med
sm.OLS(y, X_tilde).
Träna sedan modellen med metoden fit().
model = sm.OLS(y, X_tilde)
model = model.fit()
Vilket är ekvivalent med:
model = sm.OLS(y, X_tilde).fit()
Konstruktorn för klassen OLS förväntar sig en specifik array X_tilde som indata, vilket vi såg i Normalekvationen. Därför behöver du konvertera din X-array till X_tilde. Detta kan göras med funktionen sm.add_constant().
Hitta parametrar
När modellen är tränad kan du enkelt komma åt parametrarna med attributet params.
123456789import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
Göra förutsägelser
Nya instanser kan enkelt förutsägas med hjälp av metoden predict(), men du behöver också förbehandla indata för dessa:
12345import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
Hämta sammanfattningen
Som du förmodligen har märkt är det inte lika enkelt att använda klassen OLS som funktionen polyfit(). Men att använda OLS har sina fördelar. Under träningen beräknas mycket statistisk information. Du kan komma åt informationen med metoden summary().
1print(model.summary())
Det är mycket statistik. Vi kommer att diskutera tabellens viktigaste delar i senare avsnitt.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Bygga Linjär Regression med Statsmodels
Bygga en linjär regressionsmodell
I statsmodels kan OLS-klassen användas för att skapa en linjär regressionsmodell.
Vi behöver först initiera ett objekt av OLS-klassen med
sm.OLS(y, X_tilde).
Träna sedan modellen med metoden fit().
model = sm.OLS(y, X_tilde)
model = model.fit()
Vilket är ekvivalent med:
model = sm.OLS(y, X_tilde).fit()
Konstruktorn för klassen OLS förväntar sig en specifik array X_tilde som indata, vilket vi såg i Normalekvationen. Därför behöver du konvertera din X-array till X_tilde. Detta kan göras med funktionen sm.add_constant().
Hitta parametrar
När modellen är tränad kan du enkelt komma åt parametrarna med attributet params.
123456789import statsmodels.api as sm import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv') X, y = df['Father'], df['Height'] X_tilde = sm.add_constant(X) model = sm.OLS(y, X_tilde).fit() beta_0, beta_1 = model.params print(beta_0, beta_1)
Göra förutsägelser
Nya instanser kan enkelt förutsägas med hjälp av metoden predict(), men du behöver också förbehandla indata för dessa:
12345import numpy as np X_new = np.array([65, 70, 75]) X_new_tilde = sm.add_constant(X_new) print(model.predict(X_new_tilde))
Hämta sammanfattningen
Som du förmodligen har märkt är det inte lika enkelt att använda klassen OLS som funktionen polyfit(). Men att använda OLS har sina fördelar. Under träningen beräknas mycket statistisk information. Du kan komma åt informationen med metoden summary().
1print(model.summary())
Det är mycket statistik. Vi kommer att diskutera tabellens viktigaste delar i senare avsnitt.
Tack för dina kommentarer!