LinearSVC参数介绍

  1. LinearSVC与SVC的区别
    LinearSVC

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

基于libsvm库实现
训练时间复杂度为 [公式]
训练集实例数量大(大于1万)时很难进行归一化
多分类问题采用one-vs-rest方法实现
2. 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:一个浮点数,惩罚参数
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)上预测的准确率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值