LinearSVC与SVC的区别

news/2024/7/9 9:17:47 标签: sklearn

LinearSVC

基于liblinear库实现
有多种惩罚参数和损失函数可供选择
训练集实例数量大(大于1万)时也可以很好地进行归一化
既支持稠密输入矩阵也支持稀疏输入矩阵
多分类问题采用one-vs-rest方法实现

SVC

基于libsvm库实现
训练时间复杂度为 o ( n 2 ) o(n^2) o(n2)
训练集实例数量大(大于1万)时很难进行归一化
多分类问题采用one-vs-rest方法实现
参数介绍可参考:
https://blog.csdn.net/weixin_41990278/article/details/93137009

LinearSVC详细说明

LinearSVC实现了线性分类支持向量机,它是给根据liblinear实现的,可以用于二类分类,也可以用于多类分类。其原型为:

class Sklearn.svm.LinearSVC(penalty=’l2’, loss=’squared_hinge’,
dual=True, tol=0.0001, C=1.0, multi_class=’ovr’, fit_intercept=True,
intercept_scaling=1, class_weight=None, verbose=0, random_state=None,
max_iter=1000)

初始化参数

C:一个浮点数,惩罚参数. C越小,惩罚力度越大
loss :字符串。表示损失函数。可取值为

  • ‘hinge’:合页损失函数;
  • ‘squared_hinge’:合页损失函数的平方
    penalty:字符串。可取值为’l1’和’l2’分别对应1范数和2范数
    dual:布尔值。如果为true,则求解对偶问题。如果为false,解决原始问题。当样本数量>特征数量时,倾向采用解原始问题
    tol:浮点数,指定终止迭代的阈值
    multi_class: 字符串,指定多分类问题的策略
  • ‘ovr’: 采用one-vs-rest分类策略;
  • ‘crammer_singer’:多类联合分类,很少用。因为它的计算量大,而且精度不会更佳,此时忽略loss,penalty,dual参数
    fit_intercept: 布尔值。如果为true,则计算截距,即决策函数中的常数项;否则忽略截距 intercept_scaling: 浮点值。如果提供了,则实例X变成向量[X,intercept_scaling]。此时相当于添加了一个人工特征,该特征对所有实例都是常数值
    class_weight: 可以是个字典,或者字符串’balanced’。指定各个类的权重,若未提供,则认为类的权重为1
  • 如果是字典,则指定每个类标签的权重;
  • 如果是’balanced’,则每个类的权重是它出现频率的倒数
    verbose:一个整数,表示是否开启verbose输出 random_state: 一个整数或者一个RandomState实例,或者None
  • 如果为整数,则它指定随机数生成器的种子 如果为RandomState实例,则指定随机数生成器 如果为None,则使用默认的随机数生成器
  • max_iter:一个整数,指定最大的迭代次数

属性
coef_: 一个数组,它给出了各个特征的权重 intercept_:一个数组,它给出了截距,即决策函数中的常数项

方法
fix(X,y): 训练模型
predict(X): 用模型进行预测,返回预测值 score(X,y[,sample_weight]):返回在(X, y)上预测的准确率

预测方法
两者的预测方法都是利用公式:
s i g n ( b + y i x T w ) sign(b+y_i x^Tw) sign(b+yixTw)


http://www.niftyadmin.cn/n/1565691.html

相关文章

.NET按照创建时间获取文件夹文件

文件创建时间比较 /// <summary>/// 文件创建时间比较/// </summary>public class FileComparer : IComparer{int IComparer.Compare(object Obj1, object Obj2){FileInfo Fi1 Obj1 as FileInfo;FileInfo Fi2 Obj2 as FileInfo;return Fi1.CreationTime.Compa…

定义磁盘类disk及其派生类harddisk_QEMU/KVM磁盘在线备份

QEMU/KVM磁盘的在线完整及增量备份&#xff0c;是“打包”方案的一种具体实现&#xff0c;可实现基于时间点的备份&#xff0c;同时支持本地与远程2种备份方式&#xff0c;并可指定备份文件进行恢复。tag: qemu, kvm, disk, live, backup, incremental, bitmap小慢哥的原创文章…

Android的虚拟机Dalvik 介绍

2019独角兽企业重金招聘Python工程师标准>>> 随着上周Google的Android SDK的发布&#xff0c;关于它的API以及在移动电话领域所带来的预期影响这些方面的讨论不胜枚举。不过&#xff0c;其中的一个话题在Java社区是一石激起千层浪&#xff0c;这就是 Android平台的基…

conda中的常用命令

安装包 conda install xxx //安装xxx包卸载包 conda uninstall xxx //卸载xxx包搜索安装包 anaconda search -t conda XXX //搜索安装包查看已安装的包 conda list更换清华下载源 利用命令行更换conda源更换为清华 只需输入如下两行命令&#xff1a; conda config -…

python两列时间间隔计算_python的N个小功能(文本字段对应数值,经纬度计算距离,两个时间点计算时间间隔)...

案例1>>> import pandas as pd>>> dfpd.DataFrame({A:[1,2,3],B:[1,2,3],C:[1,2,3]})>>> dfA B C0 1 1 11 2 2 22 3 3 3>>> df.loc[:,[A,B]]A B0 1 11 2 22 3 3案例2#coding:utf-8import sysimport timeimport reimport…

ubuntu执行脚本时报错

ubuntu执行脚本时报错 &#xfeff;&#xfeff;&#xfeff;&#xfeff;&#xfeff;学着编写简单的脚本&#xff1a;&#xff08;使用的机器为ubuntu 10.4) 具体的脚本如下&#xff1a; chengcheng-laptop:~/sh$ cat 3.sh #!/bin/bash #it is use for test #create time 201…

NVIDIA,CUDA,keras和TensorFlow之间的关系

文章目录NVIDIA的显卡驱动器与CUDAtensorflow各个版本需要的CUDA版本以及Cudnn的对应关系如何参考自己安装的CUDA的版本keras与tensorflow的对应关系参考NVIDIA的显卡驱动程序和CUDA完全是两个不同的概念&#xff01;CUDA是NVIDIA推出的用于自家GPU的并行计算框架&#xff0c;也…

python打擂台法_御灵手游怎么打擂台 擂台战打法技巧

御灵手游v0.2.926.1类型&#xff1a;养成游戏大小&#xff1a;440.6M语言&#xff1a;中文 评分&#xff1a;6.0标签&#xff1a;立即下载御灵手游遇到喜欢的地方结果发现有人设了擂台怎么办&#xff0c;那就去挑战他&#xff0c;在擂台战击败对方。御灵手游擂台战怎么打&#…