gpt4 book ai didi

matlab - 模式识别中绘图的相关问题(第1部分)

转载 作者:行者123 更新时间:2023-12-02 02:08:45 25 4
gpt4 key购买 nike

我无法遵循 MATLAB 文档 crossval() 中给出的 crossval()cvpartition() 函数。参数中包含什么以及它将如何帮助比较不同分类器的性能和准确性。如果此处提供更简单的版本,我们将不胜感激。

最佳答案

让我们研究 CROSSVAL 中的示例 2文档。

load('fisheriris');
y = species;
X = meas;

这里我们从示例 mat 文件加载数据并将变量分配给 Xymeas amtrix 包含鸢尾花的不同测量值,而 species 是鸢尾花的树类,我们试图用数据来预测。

交叉验证用于在同一数据集上多次训练分类器。基本上,在每次迭代时,您都将数据集拆分为训练数据和测试数据。比例由k倍决定。例如,如果 k 为 10,则 90% 的数据将用于训练,其余 10% 用于测试,并且您将进行 10 次迭代。这是由 CVPARTITION 完成的功能。

cp = cvpartition(y,'k',10); % Stratified cross-validation

如果您键入 cp. 并按 Tab,则可以探索 cp 对象。您将看到不同的属性和方法。例如,find(cp.test(1)) 将显示第一次迭代的测试集索引。

下一步是准备预测函数。这可能是您遇到主要问题的地方。该语句使用匿名函数创建函数句柄。 @(XTRAIN, ytrain,XTEST) 部分声明该函数有 3 个输入参数。下一部分 (classify(XTEST,XTRAIN,ytrain)) 定义函数,该函数使用已知的 ytrain 类别获取训练数据 XTRAIN 并预测类别带有生成模型的 XTEST 数据。 (这些数据来自 cp,还记得吗?)

classf = @(XTRAIN, ytrain,XTEST)(classify(XTEST,XTRAIN,ytrain));

然后我们运行 CROSSVAL 函数来估计误分类率 (mcr),传递完整的数据集、预测函数句柄和分区对象 cp

cvMCR = crossval('mcr',X,y,'predfun',classf,'partition',cp)
cvMCR =
0.0200

还有疑问吗?

关于matlab - 模式识别中绘图的相关问题(第1部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9983119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com