• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

phpml: 基于PHP-ML库实现机器学习

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

phpml

开源软件地址:

https://gitee.com/qieangel2013/phpml

开源软件介绍:

phpml

基于PHP-ML库实现机器学习

基于语言学习

基于语言学习,根据语言编码实现学习

分类学习

   require_once 'vendor/autoload.php';

use Phpml\Classification\SVC;use Phpml\SupportVectorMachine\Kernel;/*在模式识别领域中,最近邻居法(k-Nearest Neighbors algorithm,KNN算法,又译K-近邻算法)是一种用于分类和回归的非参数统计方法。k-NN分类 输入:包含特征空间中的 k 个最接近的训练样本。 输出:一个分类族群。k-NN回归 输入:包含特征空间中的 k 个最接近的训练样本。 输出:该对象的属性值。该值是其 k 个最近邻居的值的平均值。*/use Phpml\Classification\KNearestNeighbors;/*基于应用贝叶斯定理(naive)强劲的独立假设之间的特性*/use Phpml\Classification\NaiveBayes;/*说一个班级里面有三个男生(男生1、男生2,男生3),三个女生(女生1、女生2,女生3),其中男生1 身高:176cm 体重:70kg;男生2 身高:180cm 体重:80kg;男生2 身高:186cm 体重:86kg;女生1 身高:161cm 体重:45kg;女生2 身高:163cm 体重:47kg;女生3 身高:165cm 体重:49kg;如果我们将男生定义为1,女生定义为-1(这里定义数值无所谓,你可以定义男生8,女生6,只要是数值就行)*//*将上面的数据放入$samples数组里*/$samples = [[176, 70], [180, 80], [161, 45], [163, 47], [186, 86], [165, 49]];/*在labels中存入男女生类别标签(1、-1)*/$labels = [1, 1, -1, -1, 1, -1];/*我们现在采用libsvm来支持分类下面我们采用线性分类*/$classifier = new SVC(Kernel::LINEAR, $cost = 1000);/* 对其进行训练   */$classifier->train($samples, $labels);/*下面我们采用近邻算法来实现机器学习分类*/$classifier = new KNearestNeighbors();$classifier->train($samples, $labels);/*下面我们采用贝叶斯来分类器实现机器学习分类*/$classifier = new NaiveBayes();$classifier->train($samples, $labels);/*  预测       */echo $classifier->predict([190, 85]);// return 1 代表男生print_r($classifier->predict([[152, 44], [176, 78]]));// return [-1, 1] 代表女生、男生exit;

关联性规则学习

require_once 'vendor/autoload.php';use Phpml\Association\Apriori;/*一个电商网站 统计6位用户购买习惯A用户喜欢购买   衣服,鞋子, 辣条B用户喜欢购买   辣条, 面条, 席子C用户喜欢购买   衣服,席子, 面条D用户喜欢购买   衣服,面条,鞋子E用户喜欢购买   衣服, 面条, 辣条F用户喜欢购买   衣服, 鞋子, 辣条*//*将上面的数据放入$samples数组里*/$samples = [['衣服', '鞋子', '辣条'], ['辣条', '面条', '席子'], ['衣服','席子', '面条'], ['衣服','面条','鞋子'],['衣服', '面条', '辣条'],['衣服', '鞋子', '辣条']];$labels  = [];/*参数 support支持度confidence 自信度 */$associator = new Apriori($support = 0.5, $confidence = 0.5);/* 对其进行训练   */$associator->train($samples, $labels);/*假设又有一位G用户,他购买了衣服,电商网站想要通过他购买的衣服给她推荐别的产品以便他购买更多的商品系统会根据以往用户的训练数据推断出G用户可能需要的商品*/print_r($associator->predict(['衣服']));//return  Array ( [0] => Array ( [0] => 鞋子 ) [1] => Array ( [0] => 辣条 ) [2] => Array ( [0] => 面条 ) )/*总结:这种算法根据一些行为来推断下一个行为*/

回归预测学习

 require_once 'vendor/autoload.php';use Phpml\Regression\LeastSquares;use Phpml\Regression\SVR;/*我们现在对一支股票进行预测张氏股从2010年开始2010年单股价123.5$2011年单股价124.5$2012年单股价134.5$2013年单股价144$2014年单股价144.7$2015年单股价154.5$2016年单股价184.5$我们根据每年的股价涨势计算出2010年 涨1.1%2011年 涨1.2%2012年 涨2.1%2013年 涨3.1%2014年 涨3.3%2015年 涨4.1%2016年 涨5.1%*//*将上面的数据放入$samples数组里*/$samples = [[2010], [2011], [2012], [2013], [2014], [2015],[2016]];/*在labels中存入每年的股价涨势*/$labels = [1.1, 1.2, 2.1, 3.1, 3.3, 4.1,5.1];/*下面我们采用最小二乘法逼近线性模型进行预测*/$regression = new LeastSquares();/*下面我们采用libsvm的向量回归进行预测*/$regression = new SVR(Kernel::LINEAR);/* 对其进行训练   */$regression->train($samples, $labels);/*如果我们想知道2017年张氏股的涨势是什么样的,我们用最小二乘法逼近线性模型来进行预测*/print_r($regression->predict([2017]));// return 5.53667/*我们预测的结果是涨势5.53%该实例采用回归的最小二乘法算法和向量回归来进行预测的*/

项目地址

github:https://github.com/qieangel2013/phpml  码云:https://gitee.com/qieangel2013/phpml


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap