matlab实现SVM算法进行分类

该博客主要介绍了如何使用MATLAB进行支持向量机(SVM)分类,包括线性、非线性和高斯分类,并针对'bedroom,forest'数据进行二分类实验。在实验过程中遇到libsvm路径问题导致的错误,通过修正路径解决了问题,但最终分类准确率仅为30%。" 50413570,798259,使用Fabric进行自动化部署,"['Python', '运维自动化', '部署工具']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.实验内容

(1)掌握支持向量机(SVM)的原理,核函数类型选择以及核参数选择原则等,并用malab的SVM函数求解各类分类问题实例。

(2)熟悉基于libsvm二分类的一般流程与方法,并对"bedroom,forest"两组数据进行分类(二分类),最后对试验分类的准确率进行分析。

2.实验过程

(1)线性分类

>> sp = [3,7;6,4;4,6;7.5,6.5]

sp =

    3.0000    7.0000
    6.0000    4.0000
    4.0000    6.0000
    7.5000    6.5000

>> nsp = size(sp)

nsp =

     4     2

>> sn = [1,3;5,2;7,3;3,4;6,1]

sn =

     1     3
     5     2
     7     3
     3     4
     6     1

>> nsn = size(sn)

nsn =

     5     2

>> sd = [sp;sn]

sd =

    3.0000    7.0000
    6.0000    4.0000
    4.0000    6.0000
    7.5000    6.5000
    1.0000    3.0000
    5.0000    2.0000
    7.0000    3.0000
    3.0000    4.0000
    6.0000    1.0000

>> lsd = [true true true true false false false false false]

lsd =

  1×9 logical 数组

   1   1   1   1   0   0   0   0   0

>> Y = nominal(lsd)

Y = 

  1×9 nominal 数组

     true      true      true      true      false      false      false      false      false 

>> figure(1);
>> subplot(1,2,1)
>> plot(sp(1:nsp,1),sp(1:nsp,2),'m+');
>> hold on
>> plot(sn(1:nsn,1),sn(1:nsn,2),'c*');
>> subplot(1,2,2)
>> svmStruct = svmtrain(sd,Y,'showplot',true);
警告: svmtrain will be removed in a future release. Use fitcsvm instead. 
> In svmtrain (line 230) 
>> 

 线性分类结果:

线性分类结果图

(2)非线性分类

  >> sp = [3,7;6,6;4,6;5,6.5]

sp =

    3.0000    7.0000
    6.0000    6.0000
    4.0000    6.0000
    5.0000    6.5000

>> nsp = size(sp);
>> sn = [1,2;3,5;7,3;3,4;6,2.7;4,3;2,7];
>> nsn = size(sn)

nsn =

     7     2

>> sd = [sp;sn]

sd =

    3.0000    7.0000
    6.0000    6.0000
    4.0000    6.0000
    5.0000    6.5000
    1.0000    2.0000
    3.0000    5.0000
    7.0000    3.0000
    3.0000    
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值