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的核心是一个二次规划问题,计算的复杂度在:

之间。

作者:章华燕

小编:赵一帆

原文发布于微信公众号 - 机器学习算法全栈工程师(Jeemy110)

原文发表时间:2017-09-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SeanCheney的专栏

《Scikit-Learn与TensorFlow机器学习实用指南》 第07章 集成学习和随机森林

假设你去随机问很多人一个很复杂的问题,然后把它们的答案合并起来。通常情况下你会发现这个合并的答案比一个专家的答案要好。这就叫做群体智慧。同样的,如果你合并了一组...

694
来自专栏窦融的专栏

个性化推荐 101

本文聚焦在如何做个性化推荐的流程,算法则采用常用的逻辑回归 LR,这里主要介绍怎么用 LR 这个工具来做推荐,并不涉及算法本身的研究和细节;本文主要讨论 4 个...

1.8K3
来自专栏SeanCheney的专栏

《Scikit-Learn与TensorFlow机器学习实用指南》 第08章 降维

很多机器学习的问题都会涉及到有着几千甚至数百万维的特征的训练实例。这不仅让训练过程变得非常缓慢,同时还很难找到一个很好的解,我们接下来就会遇到这种情况。这种问题...

301
来自专栏机器之心

资源 | 你需要的Scikit-learn中文文档:步入机器学习的完美实践教程

机器之心整理 参与:思源 Scikit-learn 中文文档已经由 ApacheCN 完成校对,这对于国内机器学习用户有非常大的帮助。该文档自 2017 年 1...

3398
来自专栏机器学习入门

PRML系列:1.1 多项式函数拟合

前言 此系列关于Pattern Recognition and Machine Learning的总结,博文记录一些在阅读过程中遇到的难点和自己的感悟。话不多说...

2108
来自专栏信数据得永生

《Scikit-Learn与TensorFlow机器学习实用指南》第8章 降维

3597
来自专栏机器学习算法原理与实践

支持向量机高斯核调参小结

    在支持向量机(以下简称SVM)的核函数中,高斯核(以下简称RBF)是最常用的,从理论上讲, RBF一定不比线性核函数差,但是在实际应用中,却面临着几个重...

623
来自专栏数据科学与人工智能

【Python环境】Python分类现实世界的数据

引入 一个机器可以根据照片来辨别鲜花的品种吗?在机器学习角度,这其实是一个分类问题,即机器根据不同品种鲜花的数据进行学习,使其可以对未标记的测试图片数据进行分类...

2536
来自专栏AI研习社

使用 Scikit-learn 理解随机森林

在我以前的一篇文章(https://blog.datadive.net/interpreting-random-forests/)中,我讨论了随机森林如何变成一...

922
来自专栏小樱的经验随笔

灰色理论预测模型

灰色理论 通过对原始数据的处理挖掘系统变动规律,建立相应微分方程,从而预测事物未来发展状况。  优点:对于不确定因素的复杂系统预测效果较好,且所需样本数据较小...

3416

扫描关注云+社区