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

如果预测值是离散的,比如“好”“坏”,这类问题称为分类;对只涉及两个类别的二分类问题,通常称一个类为正类,另一个类为负类。我们看一下有关算法和概念。

真实类别和预测类别的关系

在二分类问题中,真实类别和预测类别有四种关系,真正类(true positive, tp)、假正类(false positive, fp)、真负类(false negative, fn)、假负类(true negative, tn),很明显,样本总数=tp+fp+fn+tn。

真实类别 预测类别
正类 负类
正类 tp fn
负类 fp tn

tp:true positive,被预测为正类,事实上也是正类,可以称为真的正确率;

fn:false negative,被预测为负类,事实上是正类,可以称为假的正确率;

fp:false positive,被预测为正类,事实上是负类,可以称为误报率;

tn:false negative,被预测为负类,事实上也是负类,可以称为漏报率;

评价模型的准确性 

准确率(accuracy),表示正确分类的样本数与总样本数之比。

查准率(precision),表示真正类个数与预测为正类的总数之比。

查全率(recall),表示真正类个数与实际为正类的总数之比。

F1度量(F1-Measure),表示查全率和查准率的调和均值。

一般情况:

其中当β>0时度量了查全率和查准率的相对重要性。β=1为F1形式,β>1时查全率有更大影响,β<1时查准率有更大影响。

LogisticRegression分类算法

在线性回归中,我们使用线性函数 来预测y(i),显然它不能很好预测分类问题,比如输出标记y(i)∈{0,1}。我们引入logistic函数来处理二分类问题:

函数称为logistic或者sigmoid函数,函数是S型曲线:

σ(z)∈ [0,1],它能处理二分类问题,比如有“1”“0”两类,当x属于 “1” 类时,调整参数θ使P(y=1|x)=hθ(x)尽可能大;相反使P(y=0|x)尽可能大。

成本函数(cost function)是评价模型拟合训练集好坏的方法。在二分类中,对于x(i)的预测值y(i),i=1,...,m,我们有成本函数:

J(θ)值越小,代表拟合的越好。

为了找到拟合最好的模型,我们把问题转化为求最小的J(θ)。参数不同导致函数hθ(x)有很多,哪个函数才能使J(θ)最小?梯度下降(Gradient Descent)可以找到函数J(θ)的最小值。

梯度下降是一种优化算法,它是在目标函数的超平面上,沿着斜率下降的方向前进,直到遇到了超平面构成的“谷底”,这个谷底就是极小值点,同时也是局部最优点。对于J(θ)的梯度∇θJ(θ)为:

LogisticRegression算法先介绍到这里,如果你还没明白它的原理,也没关系,我们看一下它在Splunk MLTK中,怎样利用防火墙流量日志判定用户恶意行为。

首先,firewall_traffic.csv是一份带有标签(特征)的防火墙流量日志,used_by_malware字段标记了日志是否有恶意行为。我们的目标是通过学习这些日志,判断新来流量是否有恶意行为。

很明显,这是二分类问题,我们可以使用LogisticRegression算法来拟合我们的模型。

对于这个界面相信大家都不陌生,首先我们搜索我们的数据,再选择LogisticRegression算法,选定预测字段(used_by_malware),选择特征字段等,最后拟合模型。

同时,如果你不太熟悉Splunk ML-SPL的话,可以点击“Show SPL”按钮查来看。

拟合后,我们在表格中看到模型准确性指标。

Splunk MLTK提供了创建告警接口,可以快速创建一个告警。

对于机器学习的算法和workflow,Splunk MLTK已经帮你实现,你甚至不需要知道这些算法的原理,只需要根据Splunk MLTK提供的workflow,就可以训练出自己的模型,它是真正把机器学习算法应用到真实数据的工具。

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

时间: 2024-09-20 07:51:48

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

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

在前面的文章中,我们对Splunk Machine Learning Toolkit 3.0.0进行了介绍,今天我们就来聊一下机器学习中最常见的问题:回归. 什么是回归? 回归对数值连续的通常是来预测一个值,比如预测房屋价格.股票走势.产品销售量.未来的天气情况等.线性回归是最简单的一种回归算法,它期望使用一条直线去拟合数据,如图所示: 可以看出,这样直线有很多,那么哪条才是最佳拟合线呢?这就是寻找最佳拟合的问题. 如果预测值和实际值最接近,它应该是最佳拟合线.我们可以用最小二乘法(Least

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

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 机器学习以现有数据为基础创建模型,通过数据驱动,对未来做出决策或者预测.机器学习在最近几年获得大量的关注,因为它对企业与商业做出决策非常有帮助.

Machine Learning: 一部气势恢宏的人工智能发展史

雷锋网(公众号:雷锋网)按:本文作者DataCastle数据城堡,主要介绍了机器学习的从产生,发展,低潮和全盛的历史. AlphaGo的胜利,无人驾驶的成功,模式识别的突破性进展,人工智能的的飞速发展一次又一次地挑动着我们的神经.作为人工智能的核心,机器学习也在人工智能的大步发展中备受瞩目,光辉无限. 如今,机器学习的应用已遍及人工智能的各个分支,如专家系统.自动推理.自然语言理解.模式识别.计算机视觉.智能机器人等领域. 但也许我们不曾想到的事机器学习乃至人工智能的起源,是对人本身的意识.自我

继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正处于机器学习与游戏之间的十字路口.我们的使命是使机器学习研究人员获得最强大的训练场景,将他们最新的机器学习技术

Fuzzy machine learning framework 1.0发布 模糊数据学习工具

Fuzzy machine learning framework 是一个使用直观模糊数据的机器学习的GUI前端,基于直观模糊集和可能性理论. 主要特点是模糊功能和类,基于语言变量的数值计算功能,用户自定义功能,衍生和评估功能,建立多层次系统的分类功能,自动细化相关的功能,增量学习,模糊控制语言的支持,可扩展的对象和自动垃圾收集的面向对象软件设计,通过ODBC.text I/O 和 HTML输出对通用数据的支持,高级的http://www.aliyun.com/zixun/aggregation/

Elastic 全新推出 Machine Learning

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