张丹的博客专栏

张丹,R语言中文社区专栏特邀作者,《R的极客理想》系列图书作者,民生银行大数据中心数据分析师,前况客创始人兼CTO。 10年IT编程背景,精通R ,Java, Nodejs 编程,获得10项SUN及IBM技术认证。丰富的互联网应用开发架构经验,金融大数据专家。个人博客 http://fens.me, Alexa全球排名70k。 著有《R的极客理想-工具篇》、《R的极客理想-高级开发篇》,合著《数据实践之美》,新书《R的极客理想-量化投资篇》(即将出版)。

2
推荐
1736
阅读

快速排序的Nodejs实现

前言排序算法,是程序开发中最基本的一项任务。教科课上讲的排序算法大概有7-8种,快速排序(QuickSort)是使用最广泛的一种基于比较排序的算法。网上已经有了各种语言的实现。本文则是利用快速排序的原理,实现对数组对象中的属性进行排序,利用Nodejs来实现。目录快速排序介绍快速排序算法演示Nodejs程序实现1. 快速排序...

发表了文章 • 2017-04-17 09:21 • 0 条评论

2
推荐
1978
阅读

基于Zookeeper的分步式队列系统集成案例

前言软件系统集成一直是工业界的一个难题,像10年以上的遗留系统集成,公司收购后的多系统集成,全球性的分步式系统集成等。虽然基于SOA的软件架构,从理论上都可以解决这些集成的问题,但是具体实施过程,有些集成项目过于复杂而失败。随着技术的创新和发展,对于分步式集群应用的集成,有了更好的开源软件的支持,像zo...

发表了文章 • 2017-04-13 09:17 • 0 条评论

1
推荐
1730
阅读

PeopleRank从社交网络中发现个体价值

前言如果说Google改变了互联网,那么社交网络就改变人们的生活方式。通过社交网络,我们每个个体,都是成为了网络的中心。我们的生活半径,被无限放大,通过6个朋友关系,就可以认识世界上任何一个人。未来的互联网将是属于我们每一个人。目录PeopleRank和PageRank需求分析:从社交网络中发现个体价值算法模型:PeopleRa...

发表了文章 • 2017-04-13 09:14 • 0 条评论

1
推荐
1947
阅读

Mahout构建图书推荐系统

前言本文是Mahout实现推荐系统的又一案例,用Mahout构建图书推荐系统。与之前的两篇文章,思路上面类似,侧重点在于图书的属性如何利用。本文的数据在自于Amazon网站,由爬虫抓取获得。目录项目背景需求分析数据说明算法模型程序开发1. 项目背景Amazon是最早的电子商务网站之一,以网上图书起家,最后发展成为音像,电子...

发表了文章 • 2017-04-13 09:12 • 0 条评论

5
推荐
1924
阅读

用Mahout构建职位推荐引擎

前言随着大数据思想实施的落地,推荐系统也开始倍受关注。不光是电商,各种互联网应用都开始应用推荐系统,像搜索,社交网络,音乐,餐饮,地图服务等等。在以前,我们没有使用推荐算法的时候,我们是通过设置各种约束条件,匹配数据的自然属性呈现给用户,这种就是基于规则的系统。比如,用户购买了一个商品,我们会推...

发表了文章 • 2017-04-12 09:39 • 0 条评论

2
推荐
2438
阅读

用Hadoop构建电影推荐系统

前言Netflix电影推荐的百万美金比赛,把“推荐”变成了时下最热门的数据挖掘算法之一。也正是由于Netflix的比赛,让企业界和学科界有了更深层次的技术碰撞。引发了各种网站“推荐”热,个性时代已经到来。目录推荐系统概述需求分析:推荐系统指标设计算法模型:Hadoop并行算法架构设计:推荐系统架构程序开发:MapReduce程序...

发表了文章 • 2017-04-12 09:35 • 0 条评论

1
推荐
2375
阅读

海量Web日志分析 用Hadoop提取KPI统计指标

前言Web日志包含着网站最重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值等。一般中型的网站(10W的PV以上),每天会产生1G以上Web日志文件。大型或超大型的网站,可能每小时就会产生10G的数据量。对于日志的这种规模的数据,用Hadoop进行日志分析,是最适合不过的了。目录W...

发表了文章 • 2017-04-12 09:29 • 0 条评论

11
推荐
1759
阅读

PageRank算法并行实现

前言Google通过PageRank算法模型,实现了对全互联网网页的打分。但对于海量数据的处理,在单机下是不可能实现,所以如何将PageRank并行计算,将是本文的重点。本文将继续上一篇文章 PageRank算法R语言实现,把PageRank单机实现,改成并行实现,利用MapReduce计算框架,在集群中跑起来。目录PageRank算法并行化原理M...

发表了文章 • 2017-04-11 09:08 • 0 条评论

4
推荐
1783
阅读

Mahout分步式程序开发 聚类Kmeans

前言Mahout是基于Hadoop用于机器学习的程序开发框架,Mahout封装了3大类的机器学习算法,其中包括聚类算法。kmeans是我们经常会提到用到的聚类算法之一,特别处理未知数据集的时,都会先聚类一下,看看数据集会有一些什么样的规则。本文主要讲解,基于Mahout程序开发,实现分步式的kmeans算法。目录聚类算法kmeansMahout...

发表了文章 • 2017-04-11 09:03 • 0 条评论

1
推荐
1780
阅读

Mahout分步式程序开发 基于物品的协同过滤ItemCF

前言Mahout是Hadoop家族一员,从血缘就继承了Hadoop程序的特点,支持HDFS访问和MapReduce分步式算法。随着Mahout的发展,从0.7版本开始,Mahout做了重大的升级。移除了部分算法的单机内存计算,只支持基于Hadoop的MapReduce平行计算。从这点上,我们能看出Mahout走向大数据,坚持并行化的决心!相信在Hadoop的大框架下,...

发表了文章 • 2017-04-11 08:54 • 0 条评论

5
推荐
1733
阅读

从源代码剖析Mahout推荐引擎

前言Mahout框架中cf.taste包实现了推荐算法引擎,它提供了一套完整的推荐算法工具集,同时规范了数据结构,并标准化了程序开发过程。应用推荐算法时,代码也就7-8行,简单地有点像R了。为了使用简单的目标,Mahout推荐引擎必然要做到精巧的程序设计。本文将介绍Mahout推荐引擎的程序设计。目录Mahout推荐引擎概况标准化...

发表了文章 • 2017-04-07 09:34 • 1 条评论

5
推荐
2022
阅读

用MapReduce实现矩阵乘法

前言MapReduce打开了并行计算的大门,让我们个人开发者有了处理大数据的能力。但想用好MapReduce,把原来单机算法并行化,也不是一件容易事情。很多的时候,我们需要从单机算法能否矩阵化去思考,所以矩阵操作就变成了算法并行化的基础。像推荐系统的协同过滤算法,就是基于矩阵思想实现MapReduce并行化。目录矩阵介绍矩...

发表了文章 • 2017-04-07 09:20 • 0 条评论

3
推荐
2299
阅读

Mahout推荐算法API详解

前言用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根据业务的场景进行算法配置和调优。本文将深入算法API去解释Mahout推荐算法底层的一些事。目录Mahout推荐算法介绍算法评判标准:召...

发表了文章 • 2017-04-07 09:11 • 0 条评论

1
推荐
1967
阅读

用Maven构建Mahout项目

前言基于Hadoop的项目,不管是MapReduce开发,还是Mahout的开发都是在一个复杂的编程环境中开发。Java的环境问题,是困扰着每个程序员的噩梦。Java程序员,不仅要会写Java程序,还要会调linux,会配hadoop,启动hadoop,还要会自己运维。所以,新手想玩起Hadoop真不是件简单的事。不过,我们可以尽可能的简化环境问题,...

发表了文章 • 2017-04-06 16:07 • 0 条评论

1
推荐
1953
阅读

在Ubuntu中安装HBase

前言HBase是Hadoop家族中的一个分布式数据库产品,HBase支持高并发读写,列式数据存储,高效的索引,自动分片,自动Region迁移等许多优点,已经越来越多的被界业认可并实施。目录在Ubuntu中环境准备HBase安装Thrift安装1 在Ubuntu中环境准备HBase是基于Java开发的运行Hadoop平台上分布式NoSQL数据库软件,HBase没有提供W...

发表了文章 • 2017-04-06 15:37 • 0 条评论