我在R中學習plsr
,遇到了幾個不同的例子,這些例子讓我感到困惑。我看到了以下兩種方法擬合和找到最佳組件的兩種方法。我只想知道哪一種是正確的方式,並且首選?如何在R中正確使用plsr()?
1)假設我們有一個稱爲數據的數據幀,它被分成列車數據data.train
和測試數據data.test
。然後PLSR安裝爲
plsr.fit = plsr(formula, data = data.train, validation = "CV", scale = TRUE)
summary(plsr.fit)
然後根據最小CV
價值得到ncomp
值。
2)而沒有任何數據分裂,簡單地擬合模型充分數據
plsr(formula, data = data, validation = "CV", scale = TRUE)
summary(plsr.fit)
然後基於最小CV
值越來越ncomp
值。
我感到困惑的部分是第一種方法。由於validation = "CV"
已經包含在內,並且它會自動應用10倍簡歷,爲什麼該模型適合訓練數據而不是完整數據?是不是在這種情況下,訓練數據會再次分成訓練和測試數據,並自動應用10倍交叉驗證?
「plsr」是您定義的函數,還是來自程序包? – bouncyball
不是,它是內置(偏最小二乘迴歸)函數,它在'pls'庫下。 –