我是靠谱客的博主 忧郁帽子,最近开发中收集的这篇文章主要介绍Scikit-learn_分类算法_支持向量机分类一.描述二.用法和参数三.实例四.注意事项,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
一.描述
- 支持向量机的基本原理是找到一个将所有数据样本分隔成两部分的超平面,使所有样本到这个超平面的累计距离最短。
- 超平面是指n维线性空间中维度为n-1的子空间。例如,在二维平面中,一维的直线可以将二维平面分隔成两部分;在三维空间中,二维的平面可以将空间分成两部分
二.用法和参数
Scikit-learn的支持向量机子模块提供了三个分类模型:LinearSVC、NuSVC和SVC。SVC分类模型和NuSVC分类模型的方法类似,都是基于libsvm实现,他们的区别是损失函数的度量方式不同(NuSVC分类模型中的nu参数和SVC分类模型中的C参数);LinearSVC分类模型实现了线性分类支持向量机,基于liblinear实现,既可以用于二类分类,也可以用于多类分类
三.实例
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import cross_val_score
from sklearn import svm
# 加载威斯康星州乳腺癌数据集
ds = load_breast_cancer()
# 实例化SVC分类模型
msvc = svm.SVC()
# 实例化NuSVC分类模型
mnusvc = svm.NuSVC()
# 实例化LinearSVC分类模型
mlsvc = svm.LinearSVC(dual=False)
score_msvc = cross_val_score(msvc, ds.data, ds.target, cv=10)
score_mnusvc = cross_val_score(mnusvc, ds.data, ds.target, cv=10)
score_mlsvc = cross_val_score(mlsvc, ds.data, ds.target, cv=10)
# SVC分类模型交叉验证10次的平均精度
score_msvc.mean()
# NuSVC分类模型交叉验证10次的平均精度
score_mnusvc.mean()
# LinearSVC分类模型交叉验证10次的平均精度
score_mlsvc.mean()
四.注意事项
- 支持向量机在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并且还能够推广应用到函数拟合等其他机器学习问题中。不过,支持向量机解决多元分类问题时效率较低,也难以对大规模训练样本实施训练
最后
以上就是忧郁帽子为你收集整理的Scikit-learn_分类算法_支持向量机分类一.描述二.用法和参数三.实例四.注意事项的全部内容,希望文章能够帮你解决Scikit-learn_分类算法_支持向量机分类一.描述二.用法和参数三.实例四.注意事项所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复