【发布时间】:2018-08-23 11:02:11
【问题描述】:
我应用了 10 次交叉验证,输出是混淆矩阵的 10 倍,那么如何通过混淆矩阵找到倍数的平均值?
我的工作是否正确?
这是我的代码:
set.seed(100)
library(caTools)
library(caret)
library(e1071)
folds<-createFolds(wpdc$outcome, k=10)
CV <- lapply(folds, function(x){
traing_folds=wpdc[-x,]
test_folds=wpdc[x,]
dataset_model_nb<-naiveBayes(outcome ~ ., data = traing_folds)
dataset_predict_nB<-predict(dataset_model_nb, test_folds[-1])
dataset_table_nB<-table(test_folds[,1],dataset_predict_nB)
accuracy<-confusionMatrix(dataset_table_nB, positive ="R")
return(accuracy)
})
outcome radius_mean texture_mean perimeter_mean area_mean smoothness_mean compactness_mean concavity_mean concave_points_mean symmetry_mean fractal_dimension_mean radius_se texture_se perimeter_se area_se smoothness_se
1 N 18.02 27.60 117.50 1013.0 0.09489 0.1036 0.1086 0.07055 0.1865 0.06333 0.6249 1.8900 3.972 71.55 0.004433
2 N 17.99 10.38 122.80 1001.0 0.11840 0.2776 0.3001 0.14710 0.2419 0.07871 1.0950 0.9053 8.589 153.40 0.006399
3 N 21.37 17.44 137.50 1373.0 0.08836 0.1189 0.1255 0.08180 0.2333 0.06010 0.5854 0.6105 3.928 82.15 0.006167
【问题讨论】:
-
您是否要计算平均 cv 准确率? “混淆矩阵的平均折叠”是什么意思?请提供样本数据集。
-
是的,输出是 10 个混淆矩阵,所以我需要平均值(一个混淆矩阵)我的意思是我需要以混淆矩阵的方式计算平均值,希望你能理解我,谢谢跨度>
-
1.让你的函数只返回
matrix,即return(accuracy$table)。 2. 使用Reduce对CV中的矩阵求和,即。Reduce('+', CV) -
非常有帮助,谢谢
标签: r data-mining naivebayes