机器学习
文章平均质量分 90
技术从未如此性感
这个作者很懒,什么都没留下…
展开
-
如何使用Spark ALS实现协同过滤
测试环境为了测试简单,在本地以local方式运行Spark,你需要做的是下载编译好的压缩包解压即可,可以参考Spark本地模式运行。测试数据使用MovieLens的MovieLens 10M数据集,下载之后解压到data目录。数据的格式请参考README中的说明,需要注意的是ratings.dat中的数据被处理过,每个用户至少访问了20个商品。下面的代码均在spark-转载 2016-06-14 10:50:59 · 900 阅读 · 0 评论 -
推荐系统ALS矩阵分解
思想类似线性回归做预测,大致如下定义一个预测模型(数学公式),然后确定一个损失函数,将已有数据作为训练集,不断迭代来最小化损失函数的值,最终确定参数,把参数套到预测模型中做预测。 矩阵分解的预测模型是:损失函数是:我们就是要最小化损失函数,从而求得参数q和p。 矩阵分解模型的物理意义我们希望学习到一原创 2016-07-01 10:05:27 · 3943 阅读 · 0 评论 -
推荐系统ALS矩阵分解
思想类似线性回归做预测,大致如下定义一个预测模型(数学公式),然后确定一个损失函数,将已有数据作为训练集,不断迭代来最小化损失函数的值,最终确定参数,把参数套到预测模型中做预测。 矩阵分解的预测模型是:损失函数是:我们就是要最小化损失函数,从而求得参数q和p。 矩阵分解模型的物理意义我们希望学习到一原创 2016-07-01 10:05:41 · 947 阅读 · 4 评论 -
推荐系统常用数据集
1)MovieLensMovieLens数据集中,用户对自己看过的电影进行评分,分值为1~5。MovieLens包括两个不同大小的库,适用于不同规模的算法.小规模的库是943个独立用户对1682部电影作的10000次评分的数据;大规模的库是6040个独立用户对3900部电影作的大约100万次评分。2)EachMovieHP/Compaq的DEC研究中心曾经在网上架设Each原创 2016-07-01 14:24:45 · 2022 阅读 · 0 评论 -
皮尔逊相关系数
在概率论和统计学中,相关(Correlation,或称相关系数或关联系数),显示两个随机变量之间线性关系的强度和方向。在统计学中,相关的意义是用来衡量两个变量相对于其相互独立的距离。在推荐系统中,我们常用皮尔逊相关系数来衡量两个用户兴趣的相似度,它是判断两组数据与某一直线拟合程度的一种度量。它在用户对物品的评分数据差别大时(如有些用户评分普遍较高,有些用户评分普遍偏低)时的效果更好。也即它原创 2016-07-03 09:51:48 · 7838 阅读 · 0 评论 -
准确率与召回率
在信息检索、分类体系中,有一系列的指标,搞清楚这些指标对于评价检索和分类性能非常重要,因此最近根据网友的博客做了一个汇总。准确率、召回率、F1信息检索、分类、识别、翻译等领域两个最基本指标是召回率(Recall Rate)和准确率(Precision Rate),召回率也叫查全率,准确率也叫查准率,概念公式: 召回率(Recall) =原创 2016-07-04 23:00:31 · 2828 阅读 · 0 评论 -
csv读入数据,用julia/matplotlib/pyplot 画矢量图导入word中
这是是用julia来实现绘图,julia有三个绘图库:Winston、Gadfly、PyPlot这里用的是pyplot,其实他是基于matplotlib的1、首先在juno里安装两个库juno是julia的集成开放环境(IDE)没有安装juno的请看这里:http://blog.csdn.net/fuzimango/article/details/47721055转载 2016-11-06 09:05:50 · 1519 阅读 · 0 评论 -
推荐系统面临的问题
1 推荐算法的鲁棒性由于推荐系统能够影响用户的购买行为,带来经济效益,因此越来越多的恶意用户设法通过影响推荐系统的行为来控制推荐系统以实现提高物品销量,损坏竞争对手利益,甚至破坏系统使其无法产生有效推荐[1]。通常所说的对推荐系统的攻击指的是针对协同过滤方法的攻击,因为其他比方法是基于客观事物的信息,用户通常无法操纵这些信息的修改。文献[2]分析了4大类8种不同的攻击策略。文献[56]从不原创 2016-11-13 10:20:21 · 19945 阅读 · 0 评论 -
评价推荐系统指标
评价指标名称符号偏好是否依赖于推荐列表长度备注准确度预测评分准确度平均绝对误差MAE小否适用于比较关注精确的预测评分的系统平均平方误差MSE小均方根误差RMSE原创 2016-11-27 16:03:52 · 2682 阅读 · 0 评论 -
机器学习的几个算法
一、C4.5C4.5,是机器学习算法中的一个分类决策树算法,它是决策树(决策树也就是做决策的节点间的组织方式像一棵树,其实是一个倒树)核心算法ID3的改进算法,所以基本上了解了一半决策树构造方法就能构造它。决策树构造方法其实就是每次选择一个好的特征以及分裂点作为当前节点的分类条件。C4.5相比于ID3改进的地方有:1、用信息增益率来选择属性。ID3选择属性用的是子树的信息增益,这里...原创 2017-11-01 17:12:44 · 298 阅读 · 0 评论 -
Hadoop 2.5.2版本安装部署
软件及版本:Hadoop版本hadoop-2.5.2操作系统Red Hat Linux 6.432bitJDK版本jdk-8u25-linux-i586.rpm软件准备:下载hadoop-2.5.2:原创 2016-06-30 15:06:20 · 639 阅读 · 0 评论 -
Hadoop
目前Hadoop发行版非常多,有华为发行版、Intel发行版、Cloudera发行版(CDH)等,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并作为开源或商业产品发布/销售。(http://www.apache.org/licenses/LICENSE-2.0)。目前而言,原创 2016-06-30 08:05:27 · 313 阅读 · 0 评论 -
spark mllib als推荐引擎学习
推荐算法可以分为:UserCF(基于用户的协同过滤)、ItemCF(基于商品的协同过滤)、ModelCF(基于模型的协同过滤),具体介绍见:http://blog.csdn.net/ygrx/article/details/15501679spark中的协同过滤算法用的是ALS算法,叫做矩阵分解,其实就是补充二维矩阵中缺失的打分,具体见:http://www.dataguru.cn/art原创 2016-06-14 10:43:39 · 1017 阅读 · 0 评论 -
Mahout学习之Mahout简介、安装、配置、入门程序测试
一、Mahout简介查了Mahout的中文意思——驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了...附logo:(就是他,骑在象头上的那个Mahout) 步入正文啦: Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现、分类、聚类等原创 2016-06-24 09:48:55 · 449 阅读 · 0 评论 -
hadoop完全分布式的搭建
4台虚拟机搭建成了hadoop结构我用了两个台式机。一个xp系统,一个win7系统。每台电脑装两个虚拟机,要不然内存就满了。 1、安装虚拟机环境 Vmware,收费产品,占内存较大。 或 Oracle的VirtualBox,开源产品,占内存较小,但安装ubuntu过程中,重启会出错。 我选Vmware。原创 2016-06-24 17:00:21 · 316 阅读 · 0 评论 -
Linux 目录结构
Linux 标准目录结构/root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件ftp --- 用户所有服务httpdsambauser1user2bin --- 系统启动时需要的执行文件(二进制)sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行原创 2016-06-24 17:02:16 · 249 阅读 · 0 评论 -
基于ALS的线推荐系统
在推荐系统领域,目前市面上中文的参考书并不多,我们主要学习了目前就职于hulu公司的项亮编著的《推荐系统实战》这本书,这本书详细的介绍了推荐系统方面的一些典型算法和评估方法,并且结合作者的实际经验给出了很多推荐系统的相关实例,是学习推荐系统不可多得的一本好书,我们也受益匪浅。 在spark的例程中作者是根据movielens数据库(采用spark自带的小型movielens数据库在s原创 2016-06-24 18:28:51 · 1991 阅读 · 0 评论 -
安装hadoop2.5.2插件
一.hadoop集群环境配置(完整配置参考上一篇博客) 1.在master节点上(master)修改hdfs-site.xml加上以下内容 dfs.permissions false 旨在取消权限检查,原因是为了解决我在windows机器上配置eclipse连接hadoop服务器时,配置map/reduce连接后报以下错误,org.apache.hadoop转载 2016-06-27 11:19:14 · 417 阅读 · 0 评论 -
mapreduce
分析MapReduce执行过程 MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer任务会接收Mapper任务输出的数据,作为自己的输入数据,调用自己的方法,最后输出到HDFS的文件中。整个流程如图:Mapper任务的执行过程详解每个Mapper任务是一个java进程,它会读取HDFS中的文原创 2016-06-27 16:52:49 · 521 阅读 · 0 评论 -
linux下软件的安装与卸载方法
linux下安装软件,如何知道软件安装位置 注:一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找.指令名称:whereis功能介绍:在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文件。语法格式:whereis [-bfmsu][-B ...][-M ...][-S ...][文件...]常用参数说明:原创 2016-06-28 10:07:26 · 34210 阅读 · 2 评论 -
在Linux集群上安装和配置Spark
1 安装JDK1) 进入JDK官网2) 下载JDK安装包3)配置环境变量,在/etc/profile增加以下代码JAVA_HOME=/home/hadoop/jdk1.6.0_38PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/dt.j原创 2016-06-28 18:33:02 · 532 阅读 · 0 评论 -
ALS推荐算法在Spark上的优化
某推荐系统需要基于Spark用ALS算法对近一天的数据进行实时训练, 然后进行推荐. 输入的数据有114G, 但训练时间加上预测的时间需要50多分钟, 而业务的要求是在15分钟左右, 远远达不到实时推荐的要求, 因此, 我们与业务侧一起对Spark应用进行了优化.优化分析从数据分析, 虽然数据有114G, 但ALS的模型训练时间并不长, 反而是数据加载和ALS预测所占用的时间较长.原创 2016-06-24 18:25:26 · 4180 阅读 · 2 评论