美文网首页机器学习读书笔记
2.1.1.2支持向量机(分类)

2.1.1.2支持向量机(分类)

作者: idatadesign | 来源:发表于2017-11-13 21:13 被阅读32次

模型介绍:如图所示的数据分类问题,我们更有无数种线性分类边界可供选择。
支持向量机分类器,便是根据训练样本的分布,搜索所有的线性分类器中最佳的一个。进一步仔细观察图中的红线,我们会发现决定其直线位置的样本并不是所有训练数据,而是其中的两个空间间隔最小的两个不同类别的数据点,而我们把这种可以用来真正帮助决策最优线性分类模型的数据点叫做“支持向量”。
逻辑斯蒂回归模型在训练过程中由于考虑了所有训练样本对参数的影响,因此不一定获得最佳的分类器。

读取代码样例
from sklearn.datasets import load_digits
#从通过数据加载器获得手写体数字的数码图像数据并储存在digits变量中
digits=load_digits()
#检视数据规模和特征维度
digits.data.shape

(1797, 64)
数据图像数据共有1797条,并且每幅图片是由8*8=64的像素矩阵表示。

分割代码样例
from sklearn.cross_validation import train_test_split
X_train,X_test,y_train,y_test=train_test_split(digits.data,digits.target,test_size=0.25,random_state=33)
#检视训练数据规模
y_train.shape

(1347,)

#检视测试数据规模
y_test.shape

(450,)
1797*0.25=450

使用支持向量机(分类)对手写体数字图像进行识别
from sklearn.preprocessing import StandardScaler
#从仍然需要训练和测试的特征数据进行标准化
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test=ss.transform(X_test)
from sklearn.svm import LinearSVC
#初始化线性假设的支持向量机分类器LinearSVC
lsvc=LinearSVC()
#进行模型训练
lsvc.fit(X_train,y_train)
#利用训练好的模型对测试样本的数字类别进行预测,预测结果储存在变量y_predict中。
y_predict=lsvc.predict(X_test)
支持向量机(分类)对手写体数字图像进行识别能力的评估
#使用模型自带的评估函数进行准确性测评
print('The Accuracy of LinearSVC is',lsvc.score(X_test,y_test))

The Accuracy of LinearSVC is 0.953333333333

#依然使用sklearn.metrics里面的classification_report模块对预测结果做更加详细的分析
from sklearn.metrics import classification_report
print(classification_report(y_test,y_predict,target_names=digits.target_names.astype(str)))

支持向量机(分类)模型的确能提供比较高的手写体数字识别性能。平均而言,各项指标都在95%上下。
在这里需要进一步指出:召回率、准确率和F1指标最先适用于二分类任务;但是在本示例中,我们的分类目标有10个类别,即0-9的10个数字。因此无法直接计算上述三个指标。通常的做法是,逐一评估某个类别的这三个性能指标。

相关文章

  • 2.1.2.2支持向量机(回归)

    模型介绍:相必读者朋友已经对2.1.1.2支持向量机(分类)中提到的分类模型的作用机理有所了解。本节介绍的支持向量...

  • 2.1.1.2支持向量机(分类)

    模型介绍:如图所示的数据分类问题,我们更有无数种线性分类边界可供选择。支持向量机分类器,便是根据训练样本的分布,搜...

  • 支持向量机

    问题 1. 支持向量机是如何进行数据分类? 2. 支持向量机求解过程 3. 支持向量机是怎么对 线性不...

  • 支持向量机(分类问题公式及python实现)

    NOTEBOOK支持向量机(分类问题公式及python实现) 此notebook包括:1、支持向量机介绍2、什么是...

  • 多分类

    基于LSTM的中文文本多分类实战sklearn 多种分类实现支持向量机1支持向量机2 随机森林理论内容

  • 第五章 数据分类算法——基于支持向量机的分类器

    5.3 基于支持向量机的分类器 支持向量机分类器时一种有监督学习的分类方法,属于一般化的线性分类器。 5.3.1 ...

  • 支持向量机—从推导到python手写

    笔者比较懒能截图的地方都截图了。 1 支持向量机分类 支持向量机分为三类:(1)线性可分支持向量机,样本线性可分,...

  • 支持向量机

    支持向量机(SVMs)是一组用于回归、分类和异常值检测的监督学习方法。 支持向量回归(SVR) 支持向量分类的方法...

  • Sklearn各分类算法实现

    1、逻辑回归 使用逻辑回归来实现对癌症患者的分类: 2、支持向量机 本节使用支持向量机实现对手写数字的分类 3、朴...

  • 《人工智能基础》65/71天阅读

    支持向量机 支持向量机是在特征空间上分类间隔最大的分类器,它与感知器一样,是对两个类别进行分类。 把和分类直线相接...

网友评论

    本文标题:2.1.1.2支持向量机(分类)

    本文链接:https://www.haomeiwen.com/subject/sictvxtx.html