sklearn svm数据维度_数据挖掘入门系列教程(九)之基于sklearn的SVM使用

介绍

在上一篇博客:数据挖掘入门系列教程(八点五)之SVM介绍以及从零开始公式推导中,详细的讲述了SVM的原理,并进行了详细的数学推导。在这篇博客中,主要是应用SVM,使用SVM进行数据分类,不会涉及到SVM的解释,so,如果对svm并不是特别了解的话,非常建议先去看我的上一篇博客(or其他博主的博客),然后再来看这一篇博客。因为在这篇并不是自己实现SVM而是基于sklearn中的svm包来进行应用。因此,我们可能使用几行代码可能就可以对数据集进行训练了。

「我们不仅要知其然,更要知其所以然。」

在这一章博客中,我们会使用SVM做两个任务:

  • 基于SVM对MINIST数据集进行分类。
  • 基于SVM对垃圾邮件进行判断

基于SVM对MINIST数据集进行分类

在前面神经网络的博客中,我们基于pybrain使用神经网络对MINIST手写数据集进行分类,但是最后结果并不是很好(可以说得上是比较差了),只有:

e928288debd11bf791b22ae82a72be48.png

这次我们使用SVM来进行继续操作。数据集在前面的博客中已经进行说明,就不再赘述。

直接看代码吧:

使用SVM

下面的代码没有什么好说的,就是加载下载处理好的数据集,然后在将数据集分割成训练集和测试集(在Github中有这两个数据集,先解压再使用【其中dataset是压缩包,需要解压】):

import numpy as np
X = np.load("./Data/dataset.npy")
y = np.load("./Data/class.npy")
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(X,y,random_state=14 )

然后我们就可以使用SVM进行训练了:

from sklearn import svm
predictor = svm.SVC(gamma='scale', C=1.0, decision_function_shape='ovr', kernel='rbf')
# 进行训练
predictor.fit(x_train, y_train)

同样关于SVM的官网介绍在这里。关于svm包具体的使用可以看官方文档,官方文档写的还是蛮详细的。

这里来解释一下代码:

svm有很多类型的Estimators如下:

15259ecd564f2225b89752106ed288f8.png

在这里我们选择SVC,也就是说使用SVM进行分类。具体的使用在这里。关于代码中参数的介绍:

  1. C = 1.0
    在上一章博客中,我们提到的软间隔支持向量机中提到了以下公式:
  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值