在训练和测试之后可视化预测的和实际的类

数据挖掘 机器学习 分类 可视化 交叉验证
2022-03-12 14:05:10

该数据集X有 10 个特征,其中 50 个实例标记为 0 和 1。这里仅考虑 6 个实例作为示例,设YPred标签为[1,0,1,0,1,1],实际的真实标签为YTest = [0,0,1,1,1,0]由于数据集是多维的,因此我无法在分类后绘制决策边界。在以下代码中,pred = predict(svmModel, X(testIdx,:));运行k次数。

我无法理解在交叉验证结束后应该采用哪些预测的类标签来说明这是最终的“好”预测。

1个回答

交叉验证的整个本质是使用各种数据集检查模型,并了解它对“未见”数据的预测效果如何。因此,通过 10 次折叠,您可以创建 10 个不同的训练和测试/验证集。但是,模型保持不变。

您要问的是选择哪种型号。只有一个模型。我们只检查已经使用交叉验证构建的模型。

检查您构建的模型后,使用完整的数据集使用此最终模型训练和预测测试集上的标签。

通常,数据集分为训练集、验证集和测试集。在构建最终模型之前不会触及测试集。您在交叉验证期间创建的测试集实际上是验证集。模型预测良好的能力在这个集合上得到了验证。

希望能帮助到你!

更新: fitcsvm()是训练数据的方法。这是建模位。你在做什么是对的。您需要了解的是交叉验证用于检查模型。在某些情况下,一种模型的预测效果不如另一种。仅使用一项测试无法很好地了解模型的工作情况。这就是为什么我们使用交叉验证——用不同的训练和测试集来测试模型。

仅 50 条记录 10 折可能是矫枉过正。2-3折就够了。