支持向量机(分类)

支持向量机分类器根据训练样本的分布,搜索所有可能的线性分类器中最佳的那个。我们会发现决定其直线位置的样本并不是所有训练数据,而是其中的两个空间间隔最小的两个不同类别的数据点,而我们把这种可以用来真正帮助决策最优线性分类模型的数据点叫做‘支持向量’。逻辑斯蒂回归模型在训练过程中由于考虑了所有训练样本对参数的影响,因此不一定获得最佳分类器。

代码1:手写体数据读取代码样例

====================》

 #从sklearn.datasets里导入手写体数字加载器

from sklearn.datasets import load_digits

#从通过数据加载器获得手写体数字的数码图像数据并存储在digits变量中。

digits=load_digits()

#检视数据规模和特征维度

print(digits.data.shape)

# (1797, 64)

#该书写体数字的图像数据共有1797条,并且每幅图片是由8x8=64的像素矩阵表示。

#手写字体数据分割代码

from sklearn.cross_validation import train_test_split

#随机采样25%的数据用于测试,剩下的75%用于构建训练集合

X_train,X_test,y_train,y_test=train_test_split(digits.data,digits.target,test_size=0.25,random_state=33)

print(y_train.shape)#(1347,)

print(y_test.shape)#(450,)

#使用支持向量机(分类)对手写数字图像进行识别

#从sklearn.preprocessing里导入StandardScaler数据标准化模块

from sklearn.preprocessing import StandardScaler

#从sklearn.svm导入基于线性假设的支持向量机分类LinearSVC

from sklearn.svm import LinearSVC

#标准化数据,保证每个维度的特征数据方差为1,均值为0。使得预测结果不会被某些维度过大的特征值而主导

ss=StandardScaler()

X_train=ss.fit_transform(X_train)

X_test=ss.fit_transform(X_test)

#初始化线性假设的支持向量机分类器LinearSVC

lsvc=LinearSVC()

#进行模型训练

lsvc.fit(X_train,y_train)

#利用训练好的模型对测试样本的数字类别进行预测,预测结果存储在变量y_predict中

y_predict=lsvc.predict(X_test)

#支持向量机(分类)模型对手写体数字图像识别能力的评估

#使用模型自带的评估函数进行准确性测评

print('The Accuracy of Linear SVC is',lsvc.score(X_test,y_test))

#从sklearn.metrics里导入classification_report模块

from sklearn.metrics import classification_report

print(classification_report(y_test,y_predict,target_names=digits.target_names.astype(str)))

=================》
 
 The Accuracy of Linear SVC is 0.9488888888888889

precision    recall  f1-score   support

0       0.92      0.97      0.94        35

1       0.95      0.98      0.96        54

2       0.98      1.00      0.99        44

3       0.93      0.93      0.93        46

4       0.97      1.00      0.99        35

5       0.94      0.94      0.94        48

6       0.96      0.98      0.97        51

7       0.90      1.00      0.95        35

8       0.98      0.83      0.90        58

9       0.95      0.91      0.93        44

avg / total       0.95      0.95      0.95       450

 

Python机器学习(基础篇---监督学习(支持向量机))的更多相关文章

  1. Python机器学习基础教程-第2章-监督学习之决策树集成

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  2. Python机器学习基础教程-第2章-监督学习之决策树

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  3. Python机器学习基础教程-第2章-监督学习之线性模型

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  4. Python机器学习基础教程-第2章-监督学习之K近邻

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  5. Python 机器学习实战 —— 无监督学习(上)

    前言 在上篇<Python 机器学习实战 -- 监督学习>介绍了 支持向量机.k近邻.朴素贝叶斯分类 .决策树.决策树集成等多种模型,这篇文章将为大家介绍一下无监督学习的使用.无监督学习顾 ...

  6. Python 机器学习实战 —— 无监督学习(下)

    前言 在上篇< Python 机器学习实战 -- 无监督学习(上)>介绍了数据集变换中最常见的 PCA 主成分分析.NMF 非负矩阵分解等无监督模型,举例说明使用使用非监督模型对多维度特征 ...

  7. Python机器学习基础教程

    介绍 本系列教程基本就是搬运<Python机器学习基础教程>里面的实例. Github仓库 使用 jupyternote book 是一个很好的快速构建代码的选择,本系列教程都能在我的Gi ...

  8. Python机器学习基础教程-第1章-鸢尾花的例子KNN

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  9. Python机器学习(基础篇---监督学习(线性分类器))

    监督学习经典模型 机器学习中的监督学习模型的任务重点在于,根据已有的经验知识对未知样本的目标/标记进行预测.根据目标预测变量的类型不同,我们把监督学习任务大体分为分类学习与回归预测两类.监督学习任务的 ...

  10. python+selenium基础篇,切入切出frame

    1.首先制作一个html的文件,代码如下 <!DOCTYPE html> <html> <head> <title>Frame_test</tit ...

随机推荐

  1. 51nod 1201 整数划分 dp

    1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB   收藏  关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2 ...

  2. leecode第二百三十八题(除自身以外数组的乘积)

    class Solution { public: vector<int> productExceptSelf(vector<int>& nums) { int len= ...

  3. nrf52832板子焊接后总结的经验

    将之前打的nrf52832的板子拿到手了,经过一番焊接和调试后,发现了一些问题,因为是第一次画板焊接调试,很多地方做的不好,现在将自己的一些经验总结如下: 1 在制板之前,丝印层有必要好好的检查,建议 ...

  4. gitlab-runner部署

    Gitlab在线安装部署参考 一.    环境 系统 版本 备注 Centos 7_64 建议使用4GB RAM和4或8个CPU内核 二.    安装并配置必要的依赖项 a)      在centos ...

  5. Asp.net core 学习笔记 Razor Page

    更新 2019-04-27 最近做了更多的 research 发现微软视乎有意发展 razor page. razor page 的定位是 mvvm, 现在还有个叫 blazor 的东西, 类似用 c ...

  6. NetSec2019 20165327 EXP5 MSF基础应用

    NetSec2019 20165327 EXP5 MSF基础应用 实践目标 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 1.1一个主动攻击实践,如 ...

  7. 容器虚拟网卡与网桥docker0虚拟网卡的veth pair的配对

    一)基本知识: Docker 安装时会自动在 host 上创建三个网络:none,host,和bridge:详细说明可参考其它文档.我们可用 docker network ls 命令查看: 基于DRI ...

  8. python 数据分类汇总

    STEP1: #读取数据: import pandas as pdinputfile_1 = "F:\\大论文实验\\数据处理\\贫困人口数据_2015.xlsx" data1 = ...

  9. echarts常用方法,legend状态支持两张图片切换(四)

    在UI设计的时候,可能我们在使用echarts时,legend是用图片渲染的,未选中的legend是用置灰的图片展示的.即彩色图片,置灰图片交互切换. 主要代码如下: //图例事件 let lgdt ...

  10. leetcode71

    这道题很简单,大约是词法分析器差不多的原理.但是我觉得看了别人简洁的代码后还是很有收获的.本人的冗余代码就不好意思放上来了,以下是别人的参考代码和值得借鉴的地方: class Solution { p ...