Есть два компонента, первый - это тип модели, которую вы установили / обучаете, и поскольку вы использовали частичную регрессию наименьших квадратов, резюме (модель) возвращает вам информацию о лучшей модели, выбранной каретой.
library(caret)
library(pls)
model = train(mpg ~ .,data=mtcars,
trControl=trainControl(method="cv",number=5),
method="pls")
Partial Least Squares
32 samples
10 predictors
No pre-processing
Resampling: Cross-Validated (5 fold)
Summary of sample sizes: 25, 27, 26, 24, 26
Resampling results across tuning parameters:
ncomp RMSE Rsquared MAE
1 3.086051 0.8252487 2.571524
2 3.129871 0.8122175 2.650973
3 3.014511 0.8582197 2.519962
RMSE was used to select the optimal model using the smallest value.
The final value used for the model was ncomp = 3.
Когда вы делаете print(model)
, вы смотрите на результаты обучения модели и выбираете лучший параметр. С помощью pls вы выбираете количество компонентов, и оно составляет caret
, и, скорее всего, будет выглядеть так же и для других методов. Выше были протестированы модели с 1,2,3 компонентами и выбрана модель с 3 компонентами, поскольку она имеет наименьшее среднеквадратичное значение. Конечная сохраненная модель находится в модели $ finalModel, и вы можете посмотреть на нее:
class(model$finalModel)
[1] "mvr"
pls:::summary.mvr(model$finalModel)
Data: X dimension: 32 10
Y dimension: 32 1
Fit method: oscorespls
Number of components considered: 3
TRAINING: % variance explained
1 comps 2 comps 3 comps
X 92.73 99.98 99.99
.outcome 74.54 74.84 83.22
Из приведенного выше вы можете увидеть, что сводная функция вызывается из пакета pls и задает c для этого типа модель и сводка (модель) ниже дают тот же результат:
summary(model)
Data: X dimension: 32 10
Y dimension: 32 1
Fit method: oscorespls
Number of components considered: 3
TRAINING: % variance explained
1 comps 2 comps 3 comps
X 92.73 99.98 99.99
.outcome 74.54 74.84 83.22
частичная наименьшая квадратная регрессия - это что-то вроде анализа главных компонентов, за исключением того, что декомпозиция (или уменьшение размерности) сделано на tranpose (X) * Y и компоненты называются скрытыми переменными. Таким образом, в итоге вы видите пропорцию дисперсии X (всех ваших предикторов) и .outcome (вашей зависимой переменной), которые объясняются скрытыми переменными.