存档

作者存档

【推荐算法】基于内容的推荐的实践

2017年12月19日 评论已被关闭

1.首先是主要算法逻辑   step1:评分矩阵建模   ​ 对用户有过历史行为的物品进行 […]

【CDH】CDH集群运行过程发现的几个问题

2017年7月31日 评论已被关闭

1.zoookeeper 连接过多,导致其他使用zookeeper的服务异常 使用 netstat -apn […]

【论文翻译】Wide & Deep Learning for Recommender Systems-广深学习的推荐系统

2017年6月15日 评论已被关闭

翻译好的文档下载:1606.07792_翻译_王国栋

深度学习框架技术选型

2017年5月25日 评论已被关闭

工具名称 主要维护人员(或团体) 支持开发语言 支持系统 官网 Caffe 加州大学伯克利分校视觉与学习中心 […]

【cloudera】【scala】【maven】【maven-shade-plugin】如何实现java和scala混合程序的spark打包,解决jar包依赖问题

2017年5月10日 评论已被关闭

在【cloudera】【scala】让maven项目同时编译java和scala代码,支持多个源文件,中介绍使 […]

【转载】【Spark】Spark运行原理

2017年3月2日 评论已被关闭

如下图1为分布式集群上spark应用程序的一般执行框架。主要由sparkcontext(spark上下文)、cluster manager(资源管理器)和executor(单个节点的执行进程)。其中cluster manager负责整个集群的统一资源管理。executor是应用执行的主要进程,内部含有多个task线程以及内存空间。

【spark】【machine learning】机器学习算法效果评估方法————回归模型的评估

2017年1月17日 评论已被关闭

当从多个自变量预测连续输出变量时,使用回归分析。 可用指标: (MSE:均方误差;RMSE:均方根误差;MAE […]

【spark】【machine learning】机器学习算法效果评估方法————分类模型的评估

2017年1月17日 评论已被关闭

spark.mllib附带了许多机器学习算法,可用于学习和预测数据。当这些算法应用于构建机器学习模型时,需要根据某些标准来评估模型的性能,这取决于应用程序及其要求。 spark.mllib还提供了一套度量标准,用于评估机器学习模型的性能。
特定的机器学习算法属于更广泛类型的机器学习应用程序,如分类,回归,聚类等。这些类型中的每一种都具有良好的性能评估指标,本文章将详细介绍spark.mllib中当前可用的指标。

1. 分类模型评估(Classification model evaluation)

虽然存在许多不同类型的分类算法,但是分类模型的评估都具有相似的原理。在监督分类问题中,对于每个数据点存在真实输出和模型生成的预测输出。因此,每个数据点的结果可以分配到以下四个类别之一:

真阳性(TP) – 标签是阳性,预测也是阳性
真阴性(TN) – 标签为负值,预测
假阳性(FP) – 标签为阴性,但预测为阳性
假阴性(FN) – 标签为正,但预测为阴性
这四个数字是大多数分类器评估指标的基础。当评估分类器的用基本的纯准确度(即,预测正确或不正确)通常不能良好的评估分类器。其原因是因为数据集可能是高度不平衡的。

【scala】【java】关于字符串的split一些研究,一些小坑注意

2016年12月28日 评论已被关闭

数据处理离不开对文本格式的数据进行读取、切分、统计分析。split方法作为切分字符串的方法会被经常使用,但是最近在字符串切分使用split方法的时候发现了一些小坑,在这里记下来,以警示后人。

首先是例子:

val s1=”#1#2#”
val s2=”##1#2″
val s3=”#1##2##”
把“#”作为分隔符,按我们的设想,分割后他们的长度应该是:4,4,6
但是如果用split方法直接分割的话,长度分别为:3,4,4

println(s1.split(“\\$”).length)
println(s2.split(“\\$”).length)
println(s3.split(“\\$”).length)
经过输出对比,String的split方法分割过程会把结尾为分隔符的情况下,去掉结尾的字符串(也就是“”),特别的注意,如果切分后结尾两个“”字符串,那么都会舍弃掉。所以s3的切分结果为:空格,1,空格,2;这四个元素。

【Hadoop】跨版本在不同的hadoop集群之间迁移数据,以及一些错误的解决

2016年12月23日 评论已被关闭

在不同的hadoop集群之间迁移数据主要靠的是distcp命令,涉及到不同版本还要用到hftp协议传输。在这个过程中会有一系列的问题。

概述

distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝。 由于使用了Map/Reduce方法,这个工具在语义和执行上都会有特殊的地方。 这篇文档会为常用distcp操作提供指南并阐述它的工作模型。

基本使用方法

distcp最常用在集群之间的拷贝:

hadoop distcp hdfs://master1:8020/foo/bar hdfs://master2:8020/bar/foo

如果集群的版本不一样,就不能用hdfs了,需要用hftp(HftpFileSystem), 这是一个只读文件系统,所以distcp必须运行在目标端集群上(更确切的说是在能够写入目标集群的TaskTracker上)。

例如下:

hadoop distcp hftp://master1:50070/foo/bar hdfs://master2:8020/bar/foo

需要注意的不是简单用hftp替换hdfs,hdfs后跟的是namenode的fs.default.name,而hftp后面是dfs.http.address,两者可以在hadoop安装目录的conf下的core-site.xml和hdfs-site.xml配置文件中看到。一般前者默认9000后者50070。