初探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也是可以用简便的库写出机器学习的项目。
并且从精度和速度上来讲都还不错。

本文为ctexthuang原创文章,转载请注明来自ctexthuang_blog

tag(s): none
show comments · back · home
Edit with markdown
召唤看板娘