मैं वास्तव में पैकेज की तरह caret
इस तरह बातों के लिए लेकिन दुर्भाग्य से मैं सिर्फ यह है कि आप निर्दिष्ट नहीं कर सकते पढ़ा formula
में gam
इसके लिए वास्तव में।
"जब आप इस मॉडल के साथ ट्रेन का उपयोग करते हैं, तो आप (इस समय) गाम के फॉर्मूले को निर्दिष्ट नहीं कर सकते। कैरेट में एक आंतरिक कार्य होता है, जो एक सूत्र के आधार पर एक सूत्र बताता है कि प्रत्येक भविष्यवक्ता के कितने अनूठे स्तर हैं आदि। दूसरे शब्दों में, ट्रेन वर्तमान में निर्धारित करती है कि शब्द सुचारू हैं और जो सादे पुराने रैखिक मुख्य प्रभाव हैं। "
स्रोत: /programming/20044014/error-with-train-from-caret-package-use-method-gam
लेकिन अगर आप train
चिकनी शर्तों का चयन करते हैं, तो इस मामले में यह आपके मॉडल को बिल्कुल वैसे भी पैदा करता है। इस मामले में डिफ़ॉल्ट प्रदर्शन मीट्रिक RMSE है, लेकिन आप फ़ंक्शन के summaryFunction
तर्क का उपयोग करके इसे बदल सकते हैं trainControl
।
मुझे लगता है कि LOOCV की एक मुख्य खामी यह है कि जब डेटासेट बड़ा होता है, तो यह हमेशा के लिए होता है। चूंकि आपका डेटासेट छोटा है और यह काफी तेज काम करता है, मुझे लगता है कि यह एक समझदार विकल्प है।
उम्मीद है की यह मदद करेगा।
library(mgcv)
library(caret)
set.seed(0)
dat <- gamSim(1, n = 400, dist = "normal", scale = 2)
b <- train(y ~ x0 + x1 + x2 + x3,
data = dat,
method = "gam",
trControl = trainControl(method = "LOOCV", number = 1, repeats = 1),
tuneGrid = data.frame(method = "GCV.Cp", select = FALSE)
)
print(b)
summary(b$finalModel)
उत्पादन:
> print(b)
Generalized Additive Model using Splines
400 samples
9 predictors
No pre-processing
Resampling:
Summary of sample sizes: 399, 399, 399, 399, 399, 399, ...
Resampling results
RMSE Rsquared
2.157964 0.7091647
Tuning parameter 'select' was held constant at a value of FALSE
Tuning parameter 'method' was held constant at a value of GCV.Cp
> summary(b$finalModel)
Family: gaussian
Link function: identity
Formula:
.outcome ~ s(x0) + s(x1) + s(x2) + s(x3)
Parametric coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 7.9150 0.1049 75.44 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Approximate significance of smooth terms:
edf Ref.df F p-value
s(x0) 5.173 6.287 4.564 0.000139 ***
s(x1) 2.357 2.927 103.089 < 2e-16 ***
s(x2) 8.517 8.931 84.308 < 2e-16 ***
s(x3) 1.000 1.000 0.441 0.506929
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
R-sq.(adj) = 0.726 Deviance explained = 73.7%
GCV = 4.611 Scale est. = 4.4029 n = 400