D丶个人博客



PHP-ML (php机器学习库)详细学习-PHP-ml 是 PHP 的机器学习库。同时包含算法,交叉验证,神经网络,预处理,特征提取等。 | D丶个人博客

PHP-ML (php机器学习库)详细学习

PHP-ml 是 PHP 的机器学习库。同时包含算法,交叉验证,神经网络,预处理,特征提取等。


PHP-ml 是 PHP 的机器学习库。同时包含算法,交叉验证,神经网络,预处理,特征提取等。

(php真实强大的语言,php-ml要求 php版本 大于7.0,速度很快,赶紧去升级吧)

别问我为什么用PHP 来做机器学习库,不用有成熟python机器库,没为什么,就因为熟悉PHP;

PHP-ml有基本的机器学习和算法,用来学习足够了。


github : https://github.com/php-ai/php-ml

建议 composer 

文档地址:http://php-ml.readthedocs.io/en/latest/  (全英文,不懂的我用谷歌右键翻译)

文档首页有个简单的例子

20170821115729638.png

简单官方文档首页给的第一个例子,用的是 KNearestNeighbors看了下手册,大概是分类器的作用,默认Euclidean算法

通过简单的算法,计算预测出你给的值的归类

20170821121951500.png

KNearestNeighbors主要应用领域:

文本分类、聚类分析、预测分析、模式识别、图像处理


三个数组使用 NaiveBayes() 类,如:


$samples = [[5, 1, 1], [1, 5, 1], [1, 1, 5]];
$labels = ['a', 'b', 'c'];
 
$classifier = new NaiveBayes();
$classifier->train($samples, $labels);
 
$classifier->predict([3, 1, 1]);// 返回 a
 
$classifier->predict([[3, 1, 1], [1, 4, 1]); //返回['a', 'b']


Apriori Associator :基于Apriori算法的频繁项集挖掘的关联规则学习。


预测样本标签使用predict方法。您可以提供一个样品或样品阵列:

根据数据列车样本,和提供的一个样本,算出含有提供的样本的所有数据(以数组形式返回)


$samples = [['alpha', 'beta', 'epsilon'], ['alpha', 'beta', 'theta'], ['alpha', 'beta', 'epsilon'], ['alpha', 'beta', 'theta']];
$labels  = [];
 
use Phpml\Association\Apriori;
 
$associator = new Apriori($support = 0.5, $confidence = 0.5);
$associator->train($samples, $labels);
 
$res = $associator->predict(['alpha','theta']);
$res2 = $associator->predict(['alpha']);


$res 返回

20170821151256523.png

获取生成的关联规则只需使用rules方法。

$associator->getRules();

生成k长度的频繁项集只需使用apriori方法即可。



$associator->apriori();



接下来学习:

LeastSquares Linear Regression(最小二乘线性回归)

use Phpml\Regression\LeastSquares;
$samples = [[15], [16], [17], [19], [20]];
$targets = [2.1, 2.4, 2.8, 3.5, 4.1];
$regression = new LeastSquares();
$regression->train($samples, $targets);
$res = $regression->predict([18]);  //返回 3.21


用手册上的例子:里程和生产年份来预测汽车的价格

$samples = [[73676, 1996], [77006, 1998], [10565, 2000], [146088, 1995], [15000, 2001], [65940, 2000], [9300, 2000], [93739, 1996], [153260, 1994], [17764, 2002], [57000, 1998], [15000, 2000]];
$targets = [2000, 2750, 15500, 960, 4400, 8800, 7100, 2550, 1025, 5900, 4600, 4400];
$regression = new LeastSquares();
$regression->train($samples, $targets);
$regression->predict([60000, 1996]);

计算出 1996 年,60000里程的车,预测价格 是  4094.82



评论


About ME

about me

程序猿

热爱生活的程序猿 ,QQ:519395243

我要这天,再遮不住我眼,要这地,再埋不了我心,要这众生,都明白我意,要那诸佛,都烟消云散。 ​​​​

Contact ME

QQ:519395243

TAG cloud

友情链接