r - 使用 multinom() 输出插入符号序列并评估模型稳定性
问题描述
我想建立一个多项逻辑回归模型来预测类。为了确保模型的预测能力不会因新数据而偏离,我尝试通过caret
包使用重复的交叉验证程序。我无法理解我应该如何解释输出。我拥有的数据非常大,因此出于可重复性的目的,我以iris
数据集为例。代码如下
library(caret)
library(nnet)
iris_data <- iris
## Base Class against which log odds are calculated
iris_data$Species <- relevel(iris_data$Species,ref='setosa')
train_control <- trainControl(method='repeatedcv',number=10,repeats = 10,verboseIter = TRUE)
model_cv <- caret::train(Species~.,data=iris_data,trControl=train_control,
method='multinom')
上面的代码导致 100 次交叉验证迭代(10 倍交叉验证重复 10 次),以下是输出之一。
- Fold10.Rep10: decay=1e-04
Aggregating results
Selecting tuning parameters
Fitting decay = 0.1 on full training set
# weights: 18 (10 variable)
initial value 164.791843
iter 10 value 29.291910
iter 20 value 26.055889
iter 30 value 26.039352
iter 30 value 26.039352
iter 30 value 26.039352
final value 26.039352
converged
我无法理解输出的value
含义。这是残留偏差吗?
模型稳定性
为了评估模型的稳定性,我使用了model_cv$resample
给出以下结果的命令。(截断)。是否应该通过查看准确性分数的偏差来评估模型稳定性?还是我错过了 中的关键功能caret
?先感谢您!
Accuracy Kappa Resample
1 0.9333333 0.9 Fold04.Rep02
2 1.0000000 1.0 Fold03.Rep02
3 0.9333333 0.9 Fold02.Rep02
4 0.9333333 0.9 Fold05.Rep02
5 1.0000000 1.0 Fold01.Rep02
6 1.0000000 1.0 Fold10.Rep01
7 1.0000000 1.0 Fold06.Rep02
8 1.0000000 1.0 Fold03.Rep01
9 1.0000000 1.0 Fold08.Rep01
10 1.0000000 1.0 Fold07.Rep02
解决方案
推荐阅读
- python - Pandas groupby 给出任何非 nan 值
- javascript - 超过最大更新深度。当组件重复调用 setState 时,可能会发生这种情况
- kibana - Kibana 自定义图例标签
- python - 我需要一个起点来编写应用程序以将文本从 pdf 提取到 excel
- svg - 来自预加载内容的内联外部 SVG 文件
- javascript - 如何使用 php 和 ajax 从同一个切换开关触发两个不同的事件
- javascript - 如何将 Blob(八位字节流)读取到 JSON 对象?
- tortoisehg - 为什么文件历史树不再显示?
- javascript - 如何将列表值填充到下拉菜单中?
- angular - 角度:使用相同的
在一个组件中两次