Scikit-learn实战之 SVM回归分析、密度估计、异常点检测
时间:2022-05-03
本文章向大家介绍Scikit-learn实战之 SVM回归分析、密度估计、异常点检测,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Scikit-learn实战之
SVM回归分析、密度估计
异常点检测
1. SVM回归
SVM的支持向量的方法能够被扩展以解决回归问题。这种方法被称之为SVR(Support Vector Regression 支持向量回归)。该模型是由SVC(支持向量分类)演化而来,它依然依赖于训练数据的子集。因为构建Model的损失函数并不关心位于边缘上的训练点(样本)集。类似的,由支持向量回归(SVR)生成的模型仅仅依赖于训练数据的某个子集,因为构建模型的损失函数忽略了所有的接近模型预测的训练数据。
Scikit-learn提供了三种不同的支持向量回归的实现:SVR, NuSVR 和 LinearSVR。LinearSVR提供了最快的实现,但是它仅仅实现了线性核函数。如果想搞清楚它们三者的具体实现细节,请参考:
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
作为回归分析的参数,y必须是浮点数型:
代码
>>> from sklearn import svm
>>> X = [ [0, 0], [2, 2] ]
>>> y = [0.5, 2.5]
>>> clf = svm.SVR()
>>> clf.fit(X, y)
>>> clf.predict( [ [1, 1] ] )
array( [ 1.5] )
2. 密度估计、异常点检测
One-class SVM用于异常点检测。也就是说,给一个样本集合,它将检测该点集的软边缘以对将来的新的检测点是否属于该集合加以判断。该类的实现是OneClassSVM。检测结果为1表示内部点,-1表示离群点。
代码
>>> from sklearn import svm
>>> X = [ [0, 0], [1, 1], [2, 0], [0, 3], [-3, 0],
[-1, -1], [-2, -2], [-2, 2], [2, -2] ]
>>> Y = [ [0.5, 0.5], [-2.5, 0], [9, 9], [5, -2] ]
>>> estimate = svm.OneClassSVM()
>>> estimate.fit(X)
>>> results = estimate.predict(Y)
>>> print(results)
[ 1. 1. -1. -1.]
3. 复杂性分析
SVM是一个强大的工具,但是它对计算和存储需求随着训练样本的增加而急剧增长。
SVM的核心是一个二次规划问题,计算的复杂度在:
和
之间。
作者:章华燕
小编:赵一帆
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Jmeter 常用函数(15)- 详解 __StringFromFile
- Jmeter 常用函数(16)- 详解 __split
- Jmeter 常用函数(18)- 详解 __isDefined
- Jmeter 常用函数(19)- 详解 __BeanShell
- PyTorch 60分钟入门系列之训练分类器
- Jmeter 常用函数(20)- 详解 __counter
- Jmeter 常用函数(21)- 详解 __char
- Jmeter 常用函数(22)- 详解 __intSum
- Jmeter 常用函数(23)- 详解 __longSum
- Jmeter 常用函数(24)- 详解 __digest
- you-dont-know-websocket
- Cent os 7之KVM虚拟化基础管理
- 常用 Maven 命令介绍
- Linux下diff命令用法详解
- 详解Numpy中的数组拼接、合并操作