Einfache lineare Regression ist eine statistische Methode zur Untersuchung der Beziehung zwischen zwei kontinuierlichen Variablen. Unter diesen wird eine Variable als unabhängige Variable (x) und die andere Variable als abhängige Variable (y) bezeichnet. Wir gehen davon aus, dass zwischen diesen beiden Variablen eine lineare Beziehung besteht, und versuchen, eine lineare Funktion zu finden, die den Antwortwert (y) der abhängigen Variablen basierend auf den Eigenschaften der unabhängigen Variablen genau vorhersagt. Durch Anpassen einer geraden Linie können wir die vorhergesagten Ergebnisse erhalten. Dieses Vorhersagemodell kann verwendet werden, um zu verstehen und vorherzusagen, wie sich die abhängige Variable ändert, wenn sich die unabhängigen Variablen ändern.
Um dieses Konzept zu verstehen, können wir einen Gehaltsdatensatz verwenden, der den Wert der abhängigen Variablen (Gehalt) enthält, die jeder unabhängigen Variablen (Jahre Erfahrung) entspricht.
Jahresgehalt und Erfahrung
1,1 39343,00
1,3 46205,00
1,5 37731,00
2,0 43525,00
2.2.39 891,0 0
2,9 56642,00
3,0 60150,00
3,2 54445,00
3,2 64445,00
3,7 57189,00
Für allgemeine Zwecke definieren wir:
x als Merkmalsvektor, d. h. x=[x_1,x_2,....,x_n],
y als Antwortvektor, d. h. y=[y_1,y_2, .. ..,y_n]
für n Beobachtungen (im Beispiel oben, n=10).
Jetzt müssen wir eine Linie finden, die zum obigen Streudiagramm passt, anhand derer wir die Reaktion für jeden y-Wert oder für jeden x-Wert vorhersagen können.
Die Linie der besten Anpassung wird Regressionslinie genannt.
dataset=read.csv('salary.csv') install.packages('caTools') library(caTools) split=sample.split(dataset$Salary,SplitRatio=0.7) trainingset=subset(dataset,split==TRUE) testset=subset(dataset,split==FALSE) lm.r=lm(formula=Salary~YearsExperience, data=trainingset) coef(lm.r) ypred=predict(lm.r,newdata=testset) install.packages("ggplot2") library(ggplot2) ggplot()+geom_point(aes(x=trainingset$YearsExperience, y=trainingset$Salary),colour='red')+ geom_line(aes(x=trainingset$YearsExperience, y=predict(lm.r,newdata=trainingset)),colour='blue')+ ggtitle('Salary vs Experience(Training set)')+ xlab('Years of experience')+ ylab('Salary') ggplot()+ geom_point(aes(x=testset$YearsExperience,y=testset$Salary), colour='red')+ geom_line(aes(x=trainingset$YearsExperience, y=predict(lm.r,newdata=trainingset)), colour='blue')+ ggtitle('Salary vs Experience(Test set)')+ xlab('Years of experience')+ ylab('Salary')
Das obige ist der detaillierte Inhalt vonImplementieren Sie eine einfache lineare Regressionsmethode in R und erläutern Sie deren Konzepte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!