python支持向量机库安装_为支持向量机库LIBSVM使用python绑定的示例

这个例子演示了一个单类SVM分类器,它尽可能简单,同时仍然显示完整的LIBSVM工作流。

步骤1:导入NumPy&LIBSVMimport numpy as NP

from svm import *

步骤2:生成合成数据:例如,给定边界内的500个点(注意:LIBSVMwebsite上提供了相当多的实数据集)Data = NP.random.randint(-5, 5, 1000).reshape(500, 2)

步骤3:现在,为一个类分类器选择一些非线性决策边界:rx = [ (x**2 + y**2) < 9 and 1 or 0 for (x, y) in Data ]

步骤4:下一步,使用此决策边界对数据进行任意分区:I类:位于上或内的任意圆

II类:决策边界(圆)外的所有点

SVM模型的构建从这里开始;在此之前的所有步骤只是准备一些合成数据。

步骤5:通过调用svm问题,传入决策边界函数和数据来构造问题描述,然后将此结果绑定到变量。px = svm_problem(rx, Data)

步骤6:为非线性映射选择一个核函数

对于这个例子,我选择了RBF(径向基函数)作为我的核函数pm = svm_parameter(kernel_type=RBF)

步骤7:训练分类器,

通过调用svm模型,传递问题描述(px)&amp;内核(pm)v = svm_model(px, pm)

第8步:最后,对训练后的模型对象('v')调用predict来测试训练后的分类器v.predict([3, 1])

# returns the class label (either '1' or '0')

在上面的例子中,我使用了LIBSVM的3.0版本(这个答案发布时的当前稳定释放)。

最后,w/r/t关于选择核函数的部分,支持向量机不是特定于特定核函数的,例如,我可以选择不同的核(高斯核、多项式等)。

LIBSVM包含所有最常用的内核函数——这是一个很大的帮助,因为您可以看到所有可能的替代项,并选择一个用于您的模型,这只是调用svm_parameter并为kernel_type传递一个值(所选内核的三个字母缩写)。

最后,选择用于训练的内核函数必须与测试数据匹配。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值