初探PHP神经网络和机器学习--phpml
详情介绍
根据维基百科来说,机器学习
- 一个广泛的子人工智能,使用数理统计部分,数值优化方法,概率论,离散分析,并从数据中提取知识的数学学科。
前面我发表了一篇关于贝叶斯
方法的文章,而它就是机器学习
中一个重要的算法,详情看贝叶斯分析方法
今天,我找到了一个php的人工智能库-phpml
;
php-ml
是一个使用PHP编写的机器学习库。虽然我们知道,python或者是C++提供了更多机器学习的库,但实际上,他们大多都略显复杂,配置起来让很多新手感到绝望。php-ml这个机器学习库虽然没有特别高大上的算法,但其具有最基本的机器学习、分类等算法。php-ml的速度不算慢,而且精度也不错,毕竟算法都一样,而且php是基于c的。
安装
首先是安装
composer require php-ai/php-ml
代码示例
/**
* Created by PhpStorm.
* User: ctexthuang
* Date: 2018/8/27
* Time: 上午09:56
*/
require 'vendor/autoload.php';
//基于贝叶斯定理
use Phpml\Classification\NaiveBayes;
$samples = [
[176,70],
[180,80],
[161,45],
[163,47],
[186,86],
[165,49],
];
//通过一些特征,告诉我们机器这一组数据的结构 男生1 女生2
$labels = [2,1,2,2,1,2];
//采用贝叶斯来分类实现机器学习的分类
$classifier = new NaiveBayes;
$classifier->train($samples,$labels);
print_r($classifier->predict([[176,90]]));
结果是Array ( [0] => 1 )
他认为179,90是男生,接近事实。
/**
* Created by PhpStorm.
* User: ctexthuang
* Date: 2018/8/27
* Time: 上午10:13
*/
//大数据分析 ,先有数据源
$samples = [ //数据越多,结果越精准, 才有参考价值
['接口开发平台','swoole','分布式集群'],
['laravel','swoole','设计模式'],
['接口开发平台','swoole','rpc接口开发'],
['接口开发平台','swoole','框架内核'],
['游戏服务器开发','swoole','php7'],
['laravel','swoole','分布式集群'],
['mysql性能优化','接口平台开发','laravel'],
['redis分布式','网站负载均衡','mongodb'],
['handopp集群','机器学习','linux'],
];
$labels = [];
//预测算法,挖掘数据关联得到我们的结果可以用来消费市场分析,猜测顾客消费习惯
//算法
$associator = new Apriori($support = 0.3); //预测 -> 数据关联挖掘
$associator->train($samples,$labels);
//支持度 置信度
$res =$associator->predict(['swoole']);
var_dump($res);exit;
结果是array(1) { [0]=> array(1) { [0]=> string(18) "接口开发平台" } }
他认为我买了swoole的书籍后,还需要购买接口开发平台的数据,也接近事实。
结论
所以,事实证明,php也是可以用简便的库写出机器学习的项目。 并且从精度和速度上来讲都还不错。