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中的fit、apply、summary等命令和训练出的模型可以通过splunk对象权限模型来管理;“加载现有设置”选项卡只加载当前用户的配置。

 

4、ML-SPL API重构

开发者可以友好的导入自定义算法,增强了ML-Toolkit的扩展能力。

 

新的算法

1、Gradient Boosting Classifier

2、Gradient Boosting Regressor

3、ACF

4、PACF

5、ARIMA

 

功能介绍

模型管理模块
在APP导航栏加入“Models”选项,进入我们可以看到模型清单,包括一个过滤器和筛选框

Splunk Machine Learning Toolkit 3.0.0介绍

加入创建模型按钮

Splunk Machine Learning Toolkit 3.0.0介绍

查看模型信息

Splunk Machine Learning Toolkit 3.0.0介绍

配置模型权限Splunk Machine Learning Toolkit 3.0.0介绍

使用ML-SPL API添加自定义算法
1、 加入算法代码文件

我们建立SVR_app应用,使用Support Vector Regression(SVR)算法,在SPLUNK_HOME/etc/apps/SVR_app/bin/目录下建立app_algos文件夹,在app_algos目录下建立文件__init__.py、SVR.py,在SVR.py文件加入以下代码并保存:

from sklearn.svm import SVR as _SVR
from base import BaseAlgo, RegressorMixin
from util.param_util import convert_params

class SVR(RegressorMixin, BaseAlgo):
   def __init__(self, options):
       self.handle_options(options)
       params = options.get('params', {})
       out_params = convert_params(
           params,
           floats=['C', 'gamma'],
           strs=['kernel'],
           ints=['degree'],
       )
       self.estimator = _SVR(**out_params)
   @staticmethod
   def register_codecs():
       from codec.codecs import SimpleObjectCodec
       from codec import codecs_manager
       codecs_manager.add_codec('algos.SVR', 'SVR', SimpleObjectCodec)
       codecs_manager.add_codec('sklearn.svm.classes', 'SVR', SimpleObjectCodec)

2、修改配置文件

在SPLUNK_HOME/etc/apps/SVR_app/local/目录下建立文件algos.conf文件,加入以下内容:

[SVR]
package=app_algos
disabled=false

3、 修改权限

打开SPLUNK_HOME/etc/apps/SVR_app/metadata/local.meta文件修改权限,添加以下内容:

[algos]
export = system

4、测试

重启splunk服务后,进入Ml-Toolkit应用的search,使用以下SPL进行搜索,如果没有错误说明自定义算法可以使用了。

|inputlookup iris.csv | fit SVR petal_width from sepal_length

 

总结

如果你了解机器学习确不知道如何使用、想避免复杂的算法,减少学习成本、想快速知道哪种算法最适合你的数据、想让自己算法和一套成熟可视化数据平台相结合、使用了开源算法想减少开发成本,那么使用Splunk Machine Learning Toolkit是不错的选择。

 

更多资源

http://ask.10data.com/?/article/35

上一篇:结合Splunk与Gigamon构建安全监控分析响应系统


下一篇:Splunk ES的风险评分功能