1:原理理解@H_404_1@
@H_404_1@
@H_404_1@
图中有分别属于两类的一些二维数据点和三条直线。如果三条直线分别代表三个分类器的话,请问哪一个分类器比较好?@H_404_1@
我们凭直观感受应该觉得答案是H3。首先H1不能把类别分开,这个分类器肯定是不行的;H2可以,但分割线与最近的数据点只有很小的间隔,如果测试数据有一些噪声的话可能就会被H2错误分类(即对噪声敏感、泛化能力弱)。H3以较大间隔将它们分开,这样就能容忍测试数据的一些噪声而正确分类,是一个泛化能力不错的分类器。@H_404_1@
@H_404_1@维向量,我们用
@H_404_1@维的超平面来分开这些点。但是可能有许多超平面可以把数据分类。最佳超平面的一个合理选择就是以最大间隔把两个类分开的超平面。因此,SVM选择能够使离超平面最近的数据点的到超平面距离最大的超平面。@H_404_1@
以上介绍的SVM只能解决线性可分的问题,为了解决更加复杂的问题,支持向量机学习方法有一些由简至繁的模型:@H_404_1@
- 线性可分SVM
- 线性SVM
- 非线性SVM
2:使用@H_404_1@
import numpy as np import sklearn.svm sk_svm import sklearn.datasets datasets iris = datasets.load_iris() # 鸟分类数据集 X = iris['data'] y = iris[target] from sklearn.model_selection import train_test_split X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2) print("训练集:",X_train.shape,y_train.shape) print(测试集:1,kernel=rbf',gamma=auto) model.fit(X_train,y_train) acc=model.score(X_test,y_test) #根据给定数据与标签返回正确率的均值 print(SVM模型评价:
@H_404_1@
@H_404_1@
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。