• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php用不了推荐算法吗

php 搞代码 4年前 (2022-01-04) 30次浏览 已收录 0个评论

php用不了推荐算法吗?

推荐算法是非常古老的,在机器学习还没有兴起的时候就有需求和应用了。

协同过滤(Collaborative Filtering)作为推荐算法中最经典的类型,包括在线的协同离线的过滤两部分。所谓在线协同,就是通过在线数据找到用户可能喜欢的物品,而离线过滤,则是过滤掉一些不值得推荐的数据,比比如推荐值评分低的数据,或者虽然推荐值高但是用户已经购买的数据。

下面就介绍下怎样用PHP+MySQL实现简单的协同过滤算法。

要实现协同过滤推荐算法,首先就要理解算法的核心思想和流程。该算法的核心思想可以概括为:若a,b喜欢同一系列的物品(暂时称b是a的邻居吧),则a很可能喜欢b喜欢的其他物品。算法的实现流程可以简单概括为:1.确定a有哪些邻居 2.通过邻居来预测a可能会喜欢哪种物品 3.将a可能喜欢的物品推荐给a。

算法核心的公式如下:

1.余弦相似度(求邻居):

2.预测公式(预测a可能会喜欢哪种物品):

仅从这两个公式我们就可以看出,仅仅是按照这两个公式进行计算,就需要进行大量的循环与

来源gaodai.ma#com搞##代!^码网

判断,而且还涉及到排序的问题,就涉及到排序算法的选择与使用,这里选快排。

首先建表:

DROP TABLE IF EXISTS `tb_xttj`;CREATE TABLE `tb_xttj` (  `name` varchar(255) NOT NULL,  `a` int(255) default NULL,  `b` int(255) default NULL,  `c` int(255) default NULL,  `d` int(255) default NULL,  `e` int(255) default NULL,  `f` int(255) default NULL,  `g` int(255) default NULL,  `h` int(255) default NULL,  PRIMARY KEY  (`name`)) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `tb_xttj` VALUES ('John', '4', '4', '5', '4', '3', '2', '1', null);INSERT INTO `tb_xttj` VALUES ('Mary', '3', '4', '4', '2', '5', '4', '3', null);INSERT INTO `tb_xttj` VALUES ('Lucy', '2', '3', null, '3', null, '3', '4', '5');INSERT INTO `tb_xttj` VALUES ('Tom', '3', '4', '5', null, '1', '3', '5', '4');INSERT INTO `tb_xttj` VALUES ('Bill', '3', '2', '1', '5', '3', '2', '1', '1');INSERT INTO `tb_xttj` VALUES ('Leo', '3', '4', '5', '2', '4', null, null, null);

这里只对最后一行的Leo进行推荐,看看f,g,h哪个可以推荐给他。

用php+mysql,流程图如下:

连接数据库并将其存储为二维数组的代码如下:

header("Content-Type:text/html;charset=utf-8"); mysql_connect("localhost","root","admin");mysql_select_db("geodatabase");mysql_query("set names 'utf8'"); $sql = "SELECT * FROM tb_xttj";$result = mysql_query($sql); $array = array();while($row=mysql_fetch_array($result)){$array[]=$row;//$array[][]是一个二维数组}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php用不了推荐算法吗

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址