Przykład w R
Uczenie modelu:
regressor = lm(formula = Salary ~ YearsExperience,
data = training_set)
Formuła: Salary ~ YearsExperience oznacza, że zmienna Salary jest skorelowana ze zmienną YearsExperience, czyli od niej zależy.
Po wykonaniu kodu i wykonaniu polecenia:
summary(regressor)
otrzymamy szereg informacji o działaniu naszego modelu:
Call:
lm(formula = Salary ~ YearsExperience, data = training_set)
Residuals:
Min 1Q Median 3Q Max
-7325.1 -3814.4 427.7 3559.7 8884.6
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 25592 2646 9.672 1.49e-08 ***
YearsExperience 9365 421 22.245 1.52e-14 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 5391 on 18 degrees of freedom
Multiple R-squared: 0.9649, Adjusted R-squared: 0.963
F-statistic: 494.8 on 1 and 18 DF, p-value: 1.524e-14
W szczególności interesująca jest sekcja "Coefficients" która pokazuje statystyczną zależność zmiennej zależnej od zmiennej niezależnej. W naszym przypadku trzy gwiazdki oznaczają, że ta zależność liniowa jest bardzo silna.
Zastosowanie modelu do predykcji wartości dla danych testowych:
y_pred = predict(regressor, newdata = test_set)
Podobnie jak w przypadku Python najlepszym sposobem intuicyjnego zrozumienia działania regresji liniowej jest narysowanie wykresu prezentującego wartości zmiennych niezależnych i zależnych z podzbioru treningowego i prostej będącej wynikiem predycji:
library(ggplot2)
ggplot() +
geom_point(aes(x = training_set$YearsExperience, y = training_set$Salary),
colour = 'red') +
geom_line(aes(x = training_set$YearsExperience, y = predict(regressor, newdata = training_set)),
colour = 'blue') +
ggtitle('Salary vs Experience (Training set)') +
xlab('Years of experience') +
ylab('Salary')
Metoda ggplot wykorzystuje do rysowania warstwy i stąd intuicyjne nanoszenie tych warstw poprzez operator +.