Scikit-Learn中的SVM实现

sklearn.svm

sklearn.svm模块提供支持向量机算法,可用于分类、回归和异常值检测。
分类实现有三种方式
LinearSVC基于liblinear实现线性SVM

  1. 比基于libsvm实现的线性SVC/NuSVC更快,
  2. 同时可采用更多正则选择(L1/L2)和损失函数选择,
  3. L1正则可以得到特征系数稀疏的效果,
  4. 适用于样本数更多的情况

SVC和NuSVC类似,都是基于libsvm实现的C-SVM
二者在参数方面有细微不同( NuSVC有参数nu控制训练误差的上限和支持向量的下限)

SGDClassifier(不在sklearn.svm模块,在sklearn.linear_model )
实现了基于随机梯度下的线性SVM分类。

回归实现方式同分类类似

• SVM还支持非监督的异常值检测OneClassSVM

LinearSVC

官方文档: https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html

class sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='scale', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape='ovr', break_ties=False, random_state=None)

  1. 支持两种正则:L2正则和L1正则,正则参数为:penalty、C。
  2. 支持两种损失函数: 标准的合页损失‘hinge’ 和合页损失的平方‘squared_hinge’ 。
  3. 支持不同类别的样本权重设置:class_weight

方法
fit(X, y[, sample_weight]) 模型训练。
参数X, y为训练数据,也可以通过sample_weight设置每个样本权重。
predict(X) 返回X对应的预测值(类别标签)
decision_function(X) 预测的置信度(样本到分类超平面的带符号距离)
score(X, y[, sample_weight]) 评估模型预测性能,返回模型预测的正确率。
densify() 如果之前将系数矩阵变成了稀疏模式,再将其变回稠密模式(fit函数的格式)
sparsify() 将系数矩阵变成了稀疏模式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值