当molten遇到机器学习

molten

molten是一个链路追踪的php扩展, git地址:molten

它能够用来构建php全链路追踪系统, 这个在上一篇的blog中已经介绍过了《Molten 功能简介以及使用指南》

在如今机器学习如火如荼的今天, 全链路追踪系统和机器学习相结合 和爆发出怎样的火花? 下面让我们玩转起来这个追踪系统。

机器学习

在ai人工智能越来越完善的今天, php也有了自己能够应用得上的人工智能库了 - PHP-ML 其中已经包含了常用的机器学习的算法, 数据处理的简单工具。 能够满足我们当前的学习内容

数据训练

收集单台机器上某个应用的tracing log, 将其中http/redis/memcached/mysql 的单个request的调用次数以及整个request的请求时间获取出来,将其信息整理为cvs文件,作为我们的训练数据。

文件内容如下:

3,7,0,10626

0,2,0,4386

0,3,0,17755

0,2,0,2584

0,2,0,3468

3,4,0,5469

0,4,0,2570

我们采用svr (support vector regression)进行模型的训练。将外部组件和php执行时间的调用关系整理处理

训练代码如下:

$dataset = new \Phpml\Dataset\CsvDataset('example.cvs', 4, true);

// split dataset

$split = new \Phpml\CrossValidation\RandomSplit($dataset, 0.2);

echo " start train .........\n";

// support vector regression

$svr = new \Phpml\Regression\SVR(\Phpml\SupportVectorMachine\Kernel::POLYNOMIAL, $degree = 3);

$svr->train($split->getTrainSamples(), $split->getTrainLabels());

echo " end training ..... \n";

$testSamples = $split->getTestSamples();

$testLabel = $split->getTestLabels();

foreach ($testSamples as $key => $sample) {

echo "predict: " . $svr->predict($sample) . ' Accuracy: '. $testLabel[$key] . "\n";

}

//echo $svr->predict([0, 1, 1]);

$moduleManager = new \Phpml\ModelManager();

$moduleManager->saveToFile($svr, './svr');

最终我们能够得到一个组件调用和整体时间的非线性模型。 根据这个模型我们能够在一定范围内 预测我们应用时间相应的合理响应时间。

让你的应用说话

例子中只是应用了一个最为简单的机器学习的例子。

我们根据抓取到的组件信息, 我们能够构建出一个关于应用的整体模型, 比如组件和组件的关系, 响应时间和调用链的关系, 应用的聚类等等, 信息越多,我们能够推测出的信息就越多。

最终让数据跟我们对话。

php molten,当molten遇到机器学习相关推荐

  1. php抓取数据并且保存到Excel

    <?php //获取网页内容 require './lib/PHPExcel-1.8/Classes/PHPExcel.php'; set_time_limit(0); //$arr = 'Ar ...

  2. 机器学习分类指标:精确率、准确率、召回率详解

    混淆矩阵 在介绍具体的定义之前先了解一些混淆矩阵(confusion matrix): 一种 NxN 表格,用于总结分类模型的预测效果:即标签和模型预测的分类之间的关联.在混淆矩阵中,一个轴表示模型预 ...

  3. 【机器学习】RNN循环神经网络

    循环神经网络归属: 领域:机器学习 方向:自然语言处理 贡献:自动文本生成 循环神经网络实际应用: 生活中因为原始数据都是序列化的,比如自然语言,语音处理,时间序列问题(股票价格)等问题, 这个时候需 ...

  4. 开源自动化机器学习框架

    20211101 在 Airbnb 使用机器学习预测房源的价格 https://blog.csdn.net/weixin_33735077/article/details/87976278?spm=1 ...

  5. 机器学习常用术语词汇表

    EOF是一个计算机术语,为End Of File的缩写 ,在操作系统中表示资料源无更多的资料可读取. 刚接触机器学习框架 TensorFlow 的新手们,这篇由 Google 官方出品的常用术语词汇表 ...

  6. 预见未来丨机器学习:未来十年研究热点

    <h2 class="subheader">机器学习:未来十年研究热点 </h2><div class="gray-d1-c margin- ...

  7. SMOTE算法代码实现-机器学习

    类别不平衡问题 类别不平衡问题,顾名思义,即数据集中存在某一类样本,其数量远多于或远少于其他类样本,从而导致一些机器学习模型失效的问题.例如逻辑回归即不适合处理类别不平衡问题,例如逻辑回归在欺诈检测问 ...

  8. LARS 算法简介-机器学习

    https://cosx.org/2011/04/modified-lars-and-lasso/ 查看全文 http://www.taodudu.cc/news/show-64111.html 相关 ...

  9. 1-1 机器学习和深度学习综述-paddle

    课程>我的课程>百度架构师手把手教深度学习>1-1 机器学习和深度学习综述> 1-1 机器学习和深度学习综述 paddle初级课程 王然(学生) Notebook 教育 初级深 ...

  10. 机器学习——标准化/归一化的目的、作用和场景

    对每个特征进行归一化处理,使得每个特征的取值缩放到0~1之间.这样做有两个好处: 模型训练更高效. 特征前的权重大小可代表该变量对预测结果的贡献度(因为每个特征值本身的范围相同). (一)归一化的作用 ...

最新文章

  1. Android开发工具之Android Studio--如何打包sdk通过arr包的方式
  2. 服务外包技术培训——后端开发技术栈分析(Java)
  3. 数据结构与算法——排序
  4. Cisco-CCNP之OSPF链路状态路由协议(二)
  5. 读书记录(持续更新...)
  6. leetcode刷题日记-在线选举
  7. 2022教培机构升级转型新模式
  8. Linux系统/usr/local/src /usr/local是什么目录
  9. 【NLP】文本匹配——Enhanced LSTM for Natural Language Inference阅读与总结
  10. 阿里云ECS重置实例密码
  11. 笔记本电脑无法连上WiFi的解决办法
  12. 抖音的商业定位和内容定位
  13. 51单片机外部中断的使用以及优先级设置
  14. Autodesk Maya 2018.6 中文特别版 Mac 顶级三维动画制作工具
  15. 问责制Accountability
  16. 《通信技术导论(原书第5版)》——1.11 网络布线
  17. 可视化案例(五)Kepler.gl绘制动态酷炫热力图
  18. [转载]你所不了解的DevOps
  19. 为了进大厂,韩顺平高级Java教程百度云
  20. 1个字节,2个字节,4个字节数据之间赋值

热门文章

  1. 论剑大数据技术,效率为王!天善智能掘金数据技术沙龙【上海站 12.09】
  2. AutoLayout(Ⅱ):遇到的几个小问题(Keng)
  3. 从程序员到项目经理(29):怎样写文档
  4. 尚硅谷周阳学习微服务《二》
  5. Maya群体堆积特效插件RubbishDumper垃圾倾倒夫1.0.3下载及教程
  6. for in在python中什么意思_python中for in的用法详解
  7. 树莓派模拟电路_为树莓派开发板增加模拟信号接口
  8. 无人驾驶技术 CNN应用
  9. RGB转CMY最简单的方法
  10. while循环:珠穆朗玛峰案例