##

资料分享 技术文章

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

Posted on 2017年12月18日

在前面的文章中,我们对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)进行留言和讨论。

点击查看更多技术文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们联系我们

希望我们主动联系您

关于我们关于我们

10DATA关注于机器大数据技术与互联数据应用推广拥有国内丰富的项目实施经验和专业的产品技术团队。总部位于上海,在北京和深圳分设办事处。
10DATA团队以Startup初创公司的方式进行组建、成长壮大。 创新、自由、平等、互相尊重的精神始终贯穿于整个团队, 鼓励员工在享受工作的乐趣和满足的同时,为客户带来持续的有深度的价值。

您也可通过以下方式联系我们

  • 客服电话:4000671005
  • 电子邮件:contact@10data.com
  • 公司地址:上海市浦东新区世纪大道1229号东方汇广场1号楼3楼
  • 公司官网:www.10data.com
  • Splunk中文社区: ask.10data.com

##

沪ICP备11017547 沪公网安备 31011502002368号 ©版权所有 2005-2017 上海天旦网络科技发展有限公司(Netis)

GO TOP

返回

发表评论

电子邮件地址不会被公开。 必填项已用*标注