我正在使用R中的xgboost进行交叉验证。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'xxxxxxx',
'USER': 'xxxxxxx',
'PASSWORD': 'xxxxxxxxxxx',
'HOST': 'xxxxxxxxxxxxxxx.compute-1.amazonaws.com',
'PORT': '5432',
},
'admin': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'xxxxxxxxxxxx',
'USER': 'xxxxxxxxxxxxxxxxxxx',
'PASSWORD': 'xxxxxxxxxxxxxxxxxxxx',
'HOST': 'xxxxxxxxxxxxxxxxxx.compute-1.amazonaws.com',
'PORT': '5432',
}
}
输出如下
library(xgboost)
data(agaricus.train, package='xgboost')
data(agaricus.test, package='xgboost')
train <- agaricus.train
test <- agaricus.test
cv.res <- xgb.cv(data = train$data, label = train$label, nfold = 5,
nrounds = 2, objective = "binary:logistic")
我假设错误只是执行回归时所有k倍之间的误差平均值和执行分类时的模式,这是正确的吗?加号后的第二个词是什么?
在回归中,当计算k折叠之间的平均值时,是否考虑到每个折叠的相同重量,或者在某些情况下它会对特定折叠赋予更多权重?
答案 0 :(得分:1)
<强> 1。我假设错误只是执行回归时所有k倍之间的误差平均值和执行分类时的模式
来自holdout crossfold的错误(请参阅下面的引文,该引用也适用于您的第3个问题)。默认情况下,它是此目标函数的二进制分类错误率。
实际上,您可以在此查看哪个指标。您可以使用metrics
选项指定它。您的选择是:
如果未指定,则根据目标函数选择评估指标。
<强> 2。加号后的第二个词是什么?
它是误差估计的标准偏差。它在文档中提到它。您可以使用showsd
打开或关闭此功能。
第3。在回归中,当计算k折叠之间的平均值时,是否考虑到每个折叠的相同重量,或者在某些情况下它会对特定折叠赋予更多权重?
根据文件:
在nfold子样本中,单个子样本被保留为 用于测试模型的验证数据,以及剩余的nfold - 1 子样本用作训练数据。