交叉验证法划分训练集matlab,matlab 下交叉验证与 svm (多分类)模型的使用

笔记

下面是代码,注释一般都能看懂的。

%datas为读入的数据集 labels为读入的标签

%规范化数据

[datas_normal] = premnmx(datas) ;

%交叉验证

k =10;%预将数据分成十份

sum_accuracy_svm = 0;

[m,n] = size(datas_normal);

%交叉验证,使用十折交叉验证 Kfold

%indices为 m 行一列数据,表示每个训练样本属于k份数据的哪一份

indices = crossvalind('Kfold',m,k);

for i = 1:k

test_indic = (indices == i);

train_indic = ~test_indic;

train_datas = datas_normal(train_indic,:);%找出训练数据与标签

train_labels = labels(train_indic,:);

test_datas = datas_normal(test_indic,:);%找出测试数据与标签

test_labels = labels(test_indic,:);

% 开始svm多分类训练,fitcsvm用于二分类,fitcecoc用于多分类,

classifer = fitcecoc(train_datas,train_labels);%训练模型

predict_label = predict(classifer, test_datas);%测试

accuracy_svm = length(find(predict_label == test_labels))/length(test_labels)%准确率

sum_accuracy_svm = sum_accuracy_svm + accuracy_svm;

end

%求平均准确率

mean_accuracy_svm = sum_accuracy_svm / k;

disp('平均准确率:');

disp( mean_accuracy_svm);

以后不能吃红烧肉了,减肥ing

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab是一种强大的编程语言和数值计算环境,其中包含了丰富的工具和函数用于分类算的研究和应用。Matlab提供了多种分类算的实现和函数,包括决策树、支持向量机、神经网络、朴素贝叶斯等。 对于决策树分类算Matlab提供了CART(分类与回归树)和C4.5等决策树的算实现函数,可以用于构建分类模型并进行预测。支持向量机算也是Matlab中的一个重要分类算,通过svmtrain函数可以进行训练,并利用svmclassify函数对新样本进行分类预测。此外,Matlab中还包括了一些基于神经网络的分类算,如BP(反向传播)算和RBF(径向基函数)网络等,通过neuralnet和newrb等函数可以方便地构建和训练神经网络模型。 朴素贝叶斯分类算Matlab中另一个常用的分类算,通过naivebayes和fitcnb等函数可以进行朴素贝叶斯模型的训练和分类预测。此外,Matlab还包含了其他一些分类算的实现,如K最近邻算(k-nearest neighbors,KNN)和随机森林(random forest)等。 总之,Matlab提供了丰富的分类算工具和函数,可以方便地进行分类模型的构建、训练和预测。研究人员和应用工程师可以根据具体问题的需求选择适合的分类算,并利用Matlab进行实现和验证。通过Matlab的分类算工具,可以提高分类任务的效率和准确性,促进科研和应用领域的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值