您好,登錄后才能下訂單哦!
本篇內容介紹了“R語言多元線性回歸實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1 讀入數據集
# 導入數據
setwd("C:\\Users\\****\\Documents\\ML\\day3\\") dataset = read.csv('50_Startups.csv') head(dataset) R.D.Spend Administration Marketing.Spend State Profit 1 165349.2 136897.80 471784.1 New York 192261.8 2 162597.7 151377.59 443898.5 California 191792.1 3 153441.5 101145.55 407934.5 Florida 191050.4 4 144372.4 118671.85 383199.6 New York 182902.0 5 142107.3 91391.77 366168.4 Florida 166187.9 6 131876.9 99814.71 362861.4 New York 156991.1
2 數據預處理
# 虛擬變量 dataset$State = factor(dataset$State, levels = c('New York', 'California', 'Florida'), labels = c(1, 2, 3))
3 訓練集和測試集
將數據按照4:1拆分,每一組分別包含自變量和因變量
# install.packages('caTools') library(caTools) set.seed(123) split = sample.split(dataset$Profit, SplitRatio = 0.8) training_set = subset(dataset, split == TRUE) # 多自變量 test_set = subset(dataset, split == FALSE) # 單因變量 dim(training_set) [1] 40 5 dim(test_set) [1] 10 5
4 模型擬合及預測
通過訓練集進行模型擬合得到曲線,然后將測試集的X_test帶入曲線中,得到預測結果y_pred,最后將預測結果y_pred與測試集中的y_test進行比較,確定預測是否準確。
4.1 多重線性回歸
regres = lm(formula = Profit ~ R.D.Spend + Administration + Marketing.Spend + State, data = training_set) summary(regres) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 4.965e+04 7.637e+03 6.501 1.94e-07 *** R.D.Spend 7.986e-01 5.604e-02 14.251 6.70e-16 *** Administration -2.942e-02 5.828e-02 -0.505 0.617 Marketing.Spend 3.268e-02 2.127e-02 1.537 0.134 State2 1.213e+02 3.751e+03 0.032 0.974 State3 2.376e+02 4.127e+03 0.058 0.954 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
4.2 進行逐步回歸分析
regres.step <- step(regres) Step: AIC=735.89 Profit ~ R.D.Spend + Marketing.Spend Df Sum of Sq RSS AIC <none> 3.3627e+09 735.89 - Marketing.Spend 1 3.1338e+08 3.6761e+09 737.45 - R.D.Spend 1 2.3344e+10 2.6706e+10 816.77 regres2 = lm(formula = Profit ~ R.D.Spend + Marketing.Spend , data = training_set)
4.3 預測結果
y_pred = predict(regres2, newdata = test_set) y_pred 4 5 8 11 16 20 21 24 173687.21 171299.96 160499.08 134783.16 145873.04 114467.75 117025.30 110369.71 31 32 98447.39 97668.22 test_set$Profit [1] 182901.99 166187.94 155752.60 146121.95 129917.04 122776.86 118474.03 108733.99 [9] 99937.59 97483.56
4.4 結果可視化
plot(test_set$Profit,col="red") points(y_pred,col="blue")
“R語言多元線性回歸實例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。