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 +.

results matching ""

    No results matching ""