sklearn学习笔记(3)svm多分类
SVC、NuSVC、LinearSVC都可以在一个数据集上实现多分类。
SVC和NuSVC方法类似,但是有不同的输入参数集和不同的数学表述。另一方面,linearSVC是SVC的在线性核的基础上的另一种实现,所以LinearSVC不能不能接受关键字“kernel”,只能是线性。
二分类
和别的分类器一样,三种分类器需要输入两个数组:X[n样本][n维特征](训练数据集)Y[n个标签](类标签)
from sklearn import svm
X = [[0,0], [1,1]]
Y = [0, 1]
模型学习之后可以进行预测:
clf = svm.SVC()
clf.fit(X,y)
clf.predict([[2.,2.]])
SVM的决策函数依赖于训练数据集的支持向量子集。这些属性可以通过下面函数进行查看
#get support vector
clf.support_vectors_
#get indices of support vectors
clf.support_
#get number of support vectors for each class
clf.n_support_
多分类
SVC和NuSVC实现“1v1“的方法进行多分类(Knerr et al,1990)。如果n_class是类别的数量,那么需要建立n*n/2个分类器,desision_function_shape选项允许集成“1v1”分类器来刻画(n_samples,n_features)
clf = svm.SVC(decision_function_shape='ovo')
clf.fit(X, Y)
dec = clf.decision_function([[1]])
print dec.shape[1] # 4 classes: 4*3/2 = 6
print clf.predict([[1]])clf.decision_function_shape = "ovr"
dec = clf.decision_function([[1]])
print dec.shape[1]
print clf.predict([[2.4]])
同时,LinearSVC也实现了“one vs the rest”多分类策略。
lin_clf = svm.LinearSVC()
lin_clf.fit(X,Y)
dec = lin_clf.decision_function([[3]])
print dec.shape[1]
print lin_clf.predict(2.4)
评分和概率
SVC方法decision_function给每个样本中的每个类一个评分,当我们将probability设置为True之后,我们可以通过predict_proba和predict_log_proba可以对类别概率进行评估。
Wu, Lin and Weng, “Probability estimates for multi-class classification by pairwise coupling”, JMLR 5:975-1005, 2004.
不均衡问题
我们可以通过class_weight和sample_weight两个关键字实现对特定类别或者特定样本的权重调整。
sklearn学习笔记(3)svm多分类相关推荐
- SKlearn学习笔记——XGBoost
SKlearn学习笔记--XGBoost 1. 概述 1.1 xgboost库与XGB的sklearn API 1.2 XGBoost的三大板块 2. 梯度提升树 2.1 提升集成算法:重要参数 n_ ...
- TensorFlow学习笔记——车牌标志识别分类
TensorFlow--车牌标志识别分类学习笔记 本博客的内容是:在 BlackWalnut Labs 完成车牌标志识别实验的学习笔记 其中主要的部分是 BlackWalnut Labs 的实验过程介 ...
- 技术小白的AI产品经理成长之路第一步(吴恩达《深度学习工程师》学习笔记2.1二分分类)希望可以给同为技术小白的同学一点深参考
<背景> 作为一个在市场营销岗位多年的技术小白,突然某天想到自己曾经的产品梦正在伤感之余(话说曾经因为舍不得在营销岗多年的经验,因此在三年前想要转行却一直未能成功,直到现在移动端红利期已过 ...
- python sklearn学习笔记大全(常见代码速查)
skleran是python中常见的机器学习包,整理下笔记.方便查询. 官方文档链接:sklearn官方英文文档 常见模型 from sklearn.linear_model import Linea ...
- sklearn学习笔记
1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法 class sklearn.linear_model.LinearRegression(fit_intercept=True, norm ...
- Sklearn学习笔记3 model_selection模块
3 Model selection and evaluation 1 sklearn.model_selection: Model Selection 1.1 Splitter Classes(分组) ...
- DataWhale sklearn学习笔记(一)
线性回归 数据生成: 生成数据的思路是设定一个二维的函数(维度高了没办法在平面上画出来),根据这个函数生成一些离散的数据点,对每个数据点我们可以适当的加一点波动,也就是噪声,最后看看我们算法的拟合或者 ...
- 数据挖掘导论学习笔记 第五章 分类算法
5.1基于规则的分类器 基于规则的分类器的规则用析取范式R=(r1∨r2∨⋯∨rk)R=(r_1\lor r_2 \lor \cdots \lor r_k)R=(r1∨r2∨⋯∨rk)表示.R称 ...
- python之sklearn学习笔记
sklearn介绍 scikit-learn是数据挖掘与分析的简单而有效的工具. 依赖于NumPy, SciPy和matplotlib. 它主要包含以下几部分内容: 从功能来分: classifica ...
- 深度学习笔记13_猫狗分类案例 - 从头开始训练一个神经网络
在小型数据集上从头开始训练一个卷积神经网络 小型数据集的模型构建的策略 小型数据集:"很少的"样本可能是几百张图像,也可能是几万张图像. 接下来的示例中,主要用来猫狗分类:4000 ...
最新文章
- 电商网站前台与后台系统架构
- 阿里云服务器开启端口
- Java中常用的设计模式【模板模式】
- CAD输出pdf显示失真
- ImageJ开发插件注意事项
- 在线caj免费转换Word格式
- Centos7配置ssh、rsh免密互信集群服务
- 学习笔记-《python程序员面试宝典》-基础知识-数据结构-编程思维(一)
- 硬件设计分享-⑨电感与磁珠
- jdbc连接mysql数据库,设置字符集编码
- studio 不能输入中文
- 论邮政有多硬核!邮车意外滑落悬崖,快递员的行为让人动容!
- 信息安全复习四:置换密码乘积密码隐写术
- 关于ARM的内核架构
- word公式编号及交叉引用技巧
- python中gensim库详解
- 特斯拉AI Day:车企能造好机器人吗?
- SCI与EI检索是什么意思,包括哪些专业?
- Java程序员的认证--SUN认证
- java lombok.getter_Lombok注解@Getter @Setter详解
热门文章
- 【JXTA概念介绍(翻译)】
- 啦啦外卖独立版配送小程序(黑色UI风格)
- Hadoop安装教程(Hadoop3.3.1版本),centos7系统,避免踩坑
- 如何使用EDI系统解决对接多工厂的问题?
- Yahoo 股票数据抓取
- aria2,破解限速的傻瓜式教程
- java完全自学手册 pdf_fortran教程下载
- 简单易学的机器学习算法——极限学习机(ELM)
- AMD IOMMU与Linux (2) -- IVRS及AMD IOMMU硬件初始化
- NB-IOT之一个完整的BC95 UDP从开机到数据发送接收过程