您的位置:首页 > 编程语言 > PHP开发

PHP-ML 的安装手记(1)

2018-05-21 19:19 253 查看

前缀

前几年已经想在 PHP 语言的领域上,增加【机器学习】以及【人工智能】的一些 lib 或者开源库。但当时,发现PHP还是不太适合做这个事情几个原因:

php cli 运行不是很稳定,当时可能出现各种异常然后就没有然后,程序上处理非常非常仔细。一个参数一个函数的调用有问题,就会导致程序崩溃,崩溃!

当时对php 有一些局限性的思维,只认为它是简单单线程运行。处理速度上不可能有什么突破。【吐槽:只是个人观点而已,大家不用介怀】

【机器学习】没有并行运算框架的基础设施上完全是单机运算只能是试验性意义,不能进行小中型规模应用。当时,并行运算框架以及平台也是 PHP 语言的一个过不了的坑。。。。。。不过,当成熟 swoole 出现的情况下,我知道并行运算框架的出现不再是虚幻的楼阁。【吐槽:只是个人猜测,大家不用介怀】

基于以上三点,就没有再继续深究往这个方向去想了。

这几天突然想看看,PHP在【机器学习】领域上是否有所突破?真的出现了 PHP-ML 这样的Lib 了,而且看上去也实现了很多不同类型的算法。说到这里立马尝尝鲜吧!

在Yii 框架的基础上,PHP-ML 安装

1. compase 安装

个人感觉不喜欢。。。不知道它内部干了一些什么操作。这个事情真的不能强求,人比较古老感觉composer安装有一种不可控以及不踏实感觉。

2. 下载源码安装

2.1. 下载PHP-ML源码包,https://github.com/qieangel2013/phpml

2.2. 在 vendor目录下,新建一个文件夹 【php-ai】 -- 【php-ml】,将下载包所有文件复制过去。

2.3. 在 vendor/composer 文件中,autoload_psr4.php 添加下面内容:

return array(
'Phpml\\' => array($vendorDir . '/php-ai/php-ml/src'),
);

2.4. 在 vendor/composer 文件中, autoload_static.php 添加下面内容:

public static $prefixLengthsPsr4 = array (
.......
'P' =>
array (
'Phpml\\' => 6,
),
......
);

public static $prefixDirsPsr4 = array (
.......
'Phpml\\' =>
array (
0 => __DIR__ . '/..' . '/php-ai/php-ml/src',
),
.......
);

到这里安装已经完毕,反正我认为这样是比较方便的。主要问题是不用等。

在Yii2 上开始编写Hello World 的测试代码

1. 在Yii2 高级模板下 console/controller 添加 下面文件 PhpMlTestController.php

<?php

namespace console\controllers;
use yii;
use yii\console\Controller;
use Phpml\Classification\KNearestNeighbors;
use Phpml\Regression\LeastSquares;

class PhpMlTestController extends Controller
{
public function actionIndexTest()
{
# 定义样本数据集
$samples = [[12],[14],[17],[19],[22],[28]];
$target = [3.1,3.2,3.5,3.7,4.1,5];

# 实列化最小二乘法类
$regression = new LeastSquares();

# 训练样本
$regression->train($samples,$target);

# 预测
$res = $regression->predict([35]);
echo $res;
}
}

2. 手动运行 yii php-ml-test/index-test, 直接出结果!5.7318725099602
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: