Splunk Machine Learning Toolkit在回归问题上的应用

在前面的文章中,我们对Splunk Machine Learning Toolkit 3.0.0进行了介绍,今天我们就来聊一下机器学习中最常见的问题:回归。

什么是回归?

回归对数值连续的通常是来预测一个值,比如预测房屋价格、股票走势、产品销售量、未来的天气情况等。线性回归是最简单的一种回归算法,它期望使用一条直线去拟合数据,如图所示:

可以看出,这样直线有很多,那么哪条才是最佳拟合线呢?这就是寻找最佳拟合的问题。

如果预测值和实际值最接近,它应该是最佳拟合线。我们可以用最小二乘法(Least squares)来解决这个问题。

最小二乘法通过最小化误差的平方和寻找最佳函数匹配。

用最小二乘法容易计算,如果数据集存在线性关系,它能拟合的非常好,但对异常值非常敏感。

评价模型的准确性

欠拟合(under-fit)是模型没有很好地捕捉到数据特征,不能够很好地拟合数据;过拟合(over-fitting) 是模型把数据学习的太彻底,模型泛化能力太差,不能很好的预测数据。理想情况下,我们希望既不欠拟合,也不过拟合。

了解了欠拟合和过拟合,我们需要选择一个能反映模型预测能力的评估标准。

和方误差(sum-squared error, SSE),即真实值与模型预测值误差平方。

 

均方误差(mean-square error, MSE),即真实值与模型预测值误差平方的平均值。

方均根差(root-mean-square error, RMSD)也是一种常用的测量数值之间差异的方法。RMSD表示预测的值和实际值之差的样本标准差。

防止过拟合

正则化可以减少过拟合的风险,通过惩罚因子对回归系数进行抑制。

L1正则化表示各个参数绝对值之和;L2正则化表示各个参数平方和的开方值。在常用的回归方法中,岭(Ridge)回归使用L2正则化、Lasso法使用L1正则化、弹性网(Elastic net)使用L1+L2正则化,它们都能有效的避免过拟合。

这些回归算法在Splunk MLTK中可以直接使用,并且不需要编写复杂的代码,甚至变得更简单。

我们来看Splunk MLTK中数值预测用例:第一步,在搜索框内搜索数据,这里我们使用测试数据housing.csv,同样你也可以使用自己的数据;第二步,选择一种回归算法、确定要预测的字段、选择用来预测的字段(特征)、调整训练集和验证集的比例;第三步,填写模型名称并进行训练。

图表详细展示了字段预测值和真实值的差距:

同样Splunk MLTK也实现了模型准确性的验证,并且可以通过特征系数来解释为什么会产生这样的模型:

如果你想了解更多有关机器学习信息,或者在使用Splunk MLTK中有任何疑问,都可以到论坛(http://ask.10data.com)进行留言和讨论。

时间: 2024-09-27 02:07:31

Splunk Machine Learning Toolkit在回归问题上的应用的相关文章

Splunk Machine Learning Toolkit在分类问题上的应用(一)

如果预测值是离散的,比如"好""坏",这类问题称为分类:对只涉及两个类别的二分类问题,通常称一个类为正类,另一个类为负类.我们看一下有关算法和概念. 真实类别和预测类别的关系 在二分类问题中,真实类别和预测类别有四种关系,真正类(true positive, tp).假正类(false positive, fp).真负类(false negative, fn).假负类(true negative, tn),很明显,样本总数=tp+fp+fn+tn. 真实类别 预测类

Splunk Machine Learning Toolkit 3.0.0介绍

在前面文章中我们对Splunk Machine Learning Toolkit 2.1.0版本进行了介绍,近日ML-Toolkit迎来了3.0.0版本,相比2.1.0版本有哪些更新和改进呢,我们来看一下吧.   新的功能 1.加入模型管理模块 可以在模型管理模块中查看训练出的模型,查看模型详情,检查模型的配置,删除模型,更改模型权限.   2. 自定义算法和打包 自定义算法加入"algos.conf"配置文件,可以把自定义算法轻松打包成APP.   3.权限控制 ML-Toolkit

Machine Learning in Action -- 回归

机器学习问题分为分类和回归问题  回归问题,就是预测连续型数值,而不像分类问题,是预测离散的类别 至于这类问题为何称为回归regression,应该就是约定俗成,你也解释不通  比如为何logistic regression叫逻辑回归,明明解决的是分类问题,而且和逻辑没有半点关系 谈到回归,最简单的就是线性回归 用直线去拟合数据点, 我们通常用平方误差来作为目标函数,称为最小二乘(ordinary least squares),参考AndrewNG的讲义 如何解这个问题,可以用梯度下降,但其实更

Awesome Machine Learning

  Awesome Machine Learning  A curated list of awesome machine learning frameworks, libraries and software (by language). Inspired by awesome-php. If you want to contribute to this list (please do), send me a pull request or contact me @josephmisiti A

《Machine Learning with Spark》书评与作者访谈

机器学习是基于现有数据,通过数据驱动做出决策或者预测的技术.Apache Spark及其机器学习库MLlib为开发可伸缩的机器学习应用,提供了多种有用的算法.InfoQ采访了<Machine Learning with Spark>一书的作者Nick Pentreath,共同探讨了有关数据科学和机器学习的话题. By Srini Penchikala 机器学习以现有数据为基础创建模型,通过数据驱动,对未来做出决策或者预测.机器学习在最近几年获得大量的关注,因为它对企业与商业做出决策非常有帮助.

继Cloud,Machine Learning之后,OOW2017的第三个关键词

伴随着秋雨绵绵,我们郑重地向假日告别,从此迎来又一段筑梦的旅程. 刚刚过去的国庆中秋双节,Oracle OpenWorld 2017于美国旧金山隆重开幕,在这场盛大的技术盛宴上,通过来自现场的及时分享,我们感受创新和变革的力量.技术日新月异,无论个人和企业,不变革就面临淘汰.(拉里·埃里森亲自支招,数据库自动化之后,DBA何去何从?) 盖老师从以下五个方面概括了OOW2017的技术要点:云程发轫,扬帆起航:从物联网,到区块链:自治自动,推陈出新:Oracle 18c,明年发布:技术社区,开发者先

打造AI训练基础平台!Unity推出Machine Learning Agents

但在未来,人工智能游戏选手或许将会面临新的对手:另一个人工智能.今天,全球最大的3D游戏引擎Unity宣布发布Unity Machine Learning Agents,通过将其游戏引擎与TensorFlow等机器学习框架相连接,游戏中的NPC有望通过机器学习的方式变得更有策略性,从而增加游戏的对抗性和可玩性. 但Unity的意图不仅如此.在其博客中,Unity这样写道: "Unity正处于机器学习与游戏之间的十字路口.我们的使命是使机器学习研究人员获得最强大的训练场景,将他们最新的机器学习技术

Elastic 全新推出 Machine Learning

今天,我们非常荣幸地宣布,首次发布通过 X-Pack 提供的 Elastic Stack Machine Learning 功能.加入 Elastic 就像跳上了火箭船,但是经过 7 个月不可思议的工作,我们现已将 Prelert Machine Learning 技术完全集成到 Elastic Stack.这让我们很激动,而且我们非常迫切地想要收到用户的反馈. 温馨提示:请注意,不要太过激动,这项功能在 5.4.0 版本中尚标记为 beta. Machine Learning 我们的目标是通过

Teaching Your Computer To Play Super Mario Bros. – A Fork of the Google DeepMind Atari Machine Learning Project

  Teaching Your Computer To Play Super Mario Bros. – A Fork of the Google DeepMind Atari Machine Learning Project   Posted by ehrenbrav on August 25, 2016Leave a comment (14)Go to comments     For those who want to get right to the good stuff, the in