|
|
|
|
移动端

2.3 实例详解

《大数据分析:数据挖掘必备算法示例详解》第2章SVM 算法,本书详细介绍了大数据分析,尤其是数据分类相关算法的原理及实现 细节,并给出了每个算法的编程实例。本节为实例详解。

作者:张重生来源:机械工业出版社|2017-12-13 17:39

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


2.3 实例详解

下面通过实例向读者介绍 LibSVM的使用方法。在使用 LibSVM之前,读者需准备一些数据集供实例使用,可从网上下载数据挖掘公开数据集,也可使用自己的数据集。本章实例中使用的数据集 (carmat)是从 UCI[5]数据集中下载的。

在 MATLAB命令行窗口中输入:

  1. >>load(′carmat′); 

即可在工作区中看到数据集 car的相关信息如图 2-4所示。

可以看到数据集 car中共 1728个样本,每个样本包含 6个属性。

在命令行窗口中输入:

  1.  labels=unique(target); 

即可看到 labels=[1;2;3;4],这说明数据集 car中数据分为 4个类别,分别用数字 1、2、3、4表示。下面,我们将数据集 car按 9∶1的比例分为训练集和测试集。在命令行窗口中输入:

  1. >>[row,col]=size(feature);  
  2. >>split=floor(row09);  
  3. >>train=feature(1:split,:);  
  4. >>train_label=target(1:split,:);  
  5. >>test=feature(split+1:end,:);  
  6. >>test_label=target(split+1:end,:); 

此时,可在工作区中看到训练集和测试集的属性和标签变量,如图 2-5所示。

使用训练集的属性 (train)和标签 (train_label)进行训练,输入命令:

  1.  >>model=svmtrain(train_label,train,′-t4-q′); 

双击工作区中的变量 “model”,可以看到训练好的模型的基本参数信息,如图 2-6所示。

最后,用训练好的模型对测试集进行预测。在命令行窗口中输入:

  1. >>[predict_label,accuracy,dec_values]=svmpredict(test_label,test,model) 

其中,predict_label是训练模型对测试集中的每个样本的预测标签,accuracy中的第一个值是预测的准确率,本实例的预测准确率为 930636%。本章所有实例均只对分类器性能指标之一的整体准确率进行计算,若无法满足读者对分类器性能评定的需求,读者可自行计算其他衡量指标。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码

 

51CTO读书频道活动讨论群:365934973
【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

超级网管员——网络应用

本书全面、深入地介绍了网络应用技术,主要内容包括:RMS权限管理服务、Exchange邮件服务、LCS即时消息服务、WSUS系统更新服务、Symantec网...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊