
Java
RangerWolf
这个作者很懒,什么都没留下…
展开
-
用java读取ini文件(支持中文)
2012-11-29google出一个非常犀利的iniEditor: http://grepcode.com/file/repository.jboss.org/nexus/content/repositories/releases/org.rhq/rhq-core-util/3.0.0.EmbJopr4/org/rhq/core/util/IniEditor.java 我才写了百来行...原创 2011-10-30 12:15:49 · 1731 阅读 · 1 评论 -
[Mahout] 使用Mahout对iris数据进行分析 - Logistic Regression
在mahout的官网上面,有讲诉如何在命令行之中使用Logistic Regression对自带的donut.csv进行训练的例子。现在我们要做的,是自己在java代码之中对iris的数据使用LR进行分析。 首先,我们要熟悉一下,使用LR需要哪些参数以及他们的作用。我们从《mahout实战》上面给出的命令行例子来了解一下: $ bin/mahout trainlogisti...2014-07-11 14:17:28 · 391 阅读 · 0 评论 -
[Mahout] mahout 0.9 的 seqdirectory 有bug
具体请参考:http://mail-archives.apache.org/mod_mbox/mahout-user/201311.mbox/%3C1384299917.36018.YahooMailNeo@web163504.mail.gq1.yahoo.com%3E虽然官方已经关掉了,但是在我的环境(Ubuntu 14.04 + Hadoop 1.2.1) 依然出错官方bug链接:h...2014-07-13 15:29:05 · 224 阅读 · 0 评论 -
[Mahout] 为什么mahout需要sequencefile ?
《Apache Mahout Cook》 第二章的标题是: Using Sequence Files – When and Why ? 看了半天也没看懂需要sequence file的原因。其实是因为我对hadoop不了解。 sequence file 是hadoop底下特有的一种key/value文件格式,而不是mahout自己特有的。而mahout需要hadoop,所以就一定...2014-07-17 23:02:02 · 220 阅读 · 0 评论 -
[Mahout] 使用Mahout 对Kddcup 1999的数据进行分析 -- Naive Bayes
通常,在网上找到的mahout的naive bayes的例子跟官网的例子,都是针对20 newsgroup. 而且通常是命令行版本。虽然能得出预测、分类结果,但是对于Bayes具体是如何工作,以及如何处理自己的数据会比较茫然。 在努力了差不多一个星期之后,终于有点成果。 这个例子就是使用mahout 0.9 对kddcup 1999 的数据进行分析。 第一步: 下载数据...2014-07-19 11:58:14 · 274 阅读 · 0 评论 -
[Hadoop] TopK的一个简单实现
题外话:《Hadoop in Action》 是一本非常不错的交Hadoop的入门书,而且建议看英文版。此书作者的英文表达非常简单易懂。相信有一定英文阅读能力的同学直接用英文版就能非常容易的上手~ 进入正题。 这个题目是《Hadoop in Action》 上面的一道题目,求出Top K的值。我自己随便弄了一个输入文件:g 445a 1117b 222c ...原创 2014-09-22 11:54:00 · 341 阅读 · 0 评论 -
[Hadoop] 练习:使用Hadoop计算两个向量的内积
同样是<Hadoop in Action> 上面的练习~ 练习:计算两个向量的内积,比如:v1 = [1 2 3]v2 = [2 3 4]内积 = 2 + 5 + 12 = 19 我的输入文件:1.0 2.03.0 4.01 1即:v1 = [1 3 1]v2 = [2 4 1]结果: 15 思路:每行读取两个向...2014-09-22 13:30:26 · 326 阅读 · 0 评论 -
[Hadoop] Hadoop 链式任务 : ChainMapper and ChainReducer的使用
注意:1. 本人目前使用的版本是1.2.1,因此ChainMapper使用的还是old api。 2. 老的API之中,只支持 N-Mapper + 1-Reducer的模式。 Reducer不在链式任务最开始即可。比如:Map1 -> Map2 -> Reducer -> Map3 -> Map4 (不确定在新版的API之中是否支持 N-Red...2014-09-23 11:02:47 · 243 阅读 · 0 评论 -
[Hadoop]使用Hadoop进行ReduceSideJoin
Note: 1. 内容主要参考<Hadoop in Action> Chapter 5.22. 代码主要参考: http://qindongliang.iteye.com/blog/20528423. 这是基于老的API的实现,这种方法并不高效简洁 数据:(原始数据可以从movielens-1m里面去要,这里将原始数据进行了简单的修改方便演示与自测)文件: u...2014-09-24 17:09:54 · 227 阅读 · 0 评论 -
[Hadoop] 分布式Join : Replicated Join
上一篇文章说的ReduceSide Join的一个缺点就是,在map方法之中,只对数据加了tag、提取了groupkey,没有做任何的数据过滤,这样在map-reduce之中的shuffle过程会造成大量的 磁盘IO使得效率降低。 这次使用的是Replicated Join,完成的任务跟上次一样.它有一个前提:需要关联在一起的两个文件,其中一个文件比较小,至少能放到内存之中。 ...2014-09-25 15:41:41 · 450 阅读 · 0 评论 -
[Mahout] Windows + Eclipse 构建mahout运行环境
mahout的完整运行还是需要hadoop的支持的,不过很多算法只需要能把hadoop的jar包加入到classpath之中就能正常运行。比如我们在使用LogisticModelParameters的时候,会引用包import org.apache.hadoop.io.Writable; 按照之前的文章,仅仅将mahout的包加入到classpath之中,就会提示找不到hadoop...2014-07-11 12:50:38 · 307 阅读 · 0 评论 -
[Mahout] 第一个小实验:使用GroupLens进行推荐模型的检验
注: 内容参考至《Mahout实战》根据mahout实战里面的内容,接下来将使用grouplens提供的movielens-1m的数据进行推荐。在mahout自带的example之中,已经有了能读取dat文件的代码。其扩展至FileDataModel, 因此拿过来就能直接用了。但是由于考虑到机器性能的原因,我会丢弃掉部分数据,减小运算的数据量~ 改造主要就是在参数之中增加了一个r...2014-07-06 15:29:24 · 289 阅读 · 0 评论 -
[Mahout] Windows下Mahout单机安装
刚开始接触Mahout,在网上也看了一些人家的文章,但是感觉都比较复杂。下面我这种方式,在单机做一些简单的实验、作为初步对于mahout的了解估计是比较好的方法。 1. 到官网下载最新的版本:http://apache.fayea.com/apache-mirror/mahout/0.9/2. 下载之后解压3. Eclipse之中创建一个普通的java project 并将解...2014-07-06 10:41:15 · 548 阅读 · 0 评论 -
[Kaggle实战] Titanic 逃生预测 (1) - 项目起步
这次实战的Kaggle比赛,其实只是其中一个没有奖金的公益比赛。主页: http://www.kaggle.com/c/titanic-gettingStarted主题是:Titanic: Machine Learning from Disaster在比赛之中,官方给出了一些原始的一半的数据作为比赛用的训练集与测试集。另外一半作为官方自己的测试集。最后成绩评定也是会使用官方自己...原创 2014-06-01 23:05:49 · 390 阅读 · 0 评论 -
[Kaggle实战] Titanic 逃生预测 (2) - 数据预处理
上一篇文章简要介绍了比赛的主题与将会使用到的数据集。 这一篇文章的主要任务是完成数据挖掘的第一步: 数据清理 完成数据清理的第一步,就是先把数据读到内存之中。在这里,我使用的是OpenCsv. 可以到这里下载。OpenCSV的使用可以参考: http://opencsv.sourceforge.net/#how-to-read 其中我对比了SuperCSV 以及其他...原创 2014-06-01 23:06:43 · 314 阅读 · 0 评论 -
[Kaggle实战] Titanic 逃生预测 (3) - Age离散化
昨天的文章大致构建了一个data matrix, 并进行了数据清理。有一个遗留问题就是,如何将连续的Age属性离散化? 对于连续属性离散化,可以参考《数据挖掘导论》 2.3.6小节。首先,我们试着将数据图形化,看看是否有明显的间隔区间。 画图依然使用JFreeChart来进行。从肉眼的角度来分析,虽然没有太明显的区间,但是从分布上看,基本上能如下图进行划分: 再来一张书...2014-06-02 09:40:39 · 377 阅读 · 0 评论 -
[Kaggle实战] Titanic 逃生预测 (4) - 决策树建模
之前的文章已经解决了数据预处理的问题。从这里开始,就要开始创建决策树了。首先可以使用之前用Java实现的ID3算法进行修改。 之前的算法是基于Weka自带的数据进行的,跟这里的格式不太兼容。基本上需要把String改成Double就好了~ 现在先尝试手动的创建模型,保证待会我们写出来的代码确实是正确的。关于决策树模型以及ID3算法,具体的概念以及思路就不在这里重复写了,可以参考...原创 2014-06-02 22:20:54 · 468 阅读 · 0 评论 -
[Kaggle实战] Titanic 逃生预测 (5) - 使用Dot语言绘制决策树
昨天好不容易创建了一棵决策树,但是受限于JFreeChart以及Java确实没找到好用的绘图类库。google半天,发现还有一个不错的选择: Dot Langage最Easy的入门方式,应该是使用Google chart了! 传送门:https://developers.google.com/chart/image/docs/gallery/graphviz?csw=1 先列几...原创 2014-06-07 21:38:31 · 292 阅读 · 0 评论 -
Weka聚类算法的两个实现算法
在这里将使用Weka自带的K-means以及EM算法对同一份数据进行聚类。目前使用的是自带的数据集。我也不太清楚这样聚类的效果如何 sigh... Weka Version: 3.7.10 K-Means K-均值算法import java.io.File;import weka.clusterers.SimpleKMeans;import weka.cor...原创 2014-02-07 23:08:11 · 454 阅读 · 0 评论 -
Weka 界面操作实例
今天google到一个很好的介绍如何使用Weka GUI 的例子。具体看附件吧~ 原文链接: http://referensi.dosen.narotama.ac.id/files/2011/12/weka-tutorial-2.pdf 虽然我们没有例子之中要到的iris.arff 但是可以使用自带的weather-*.arff天气的例子分类如下所示: ...原创 2014-02-11 14:20:43 · 557 阅读 · 0 评论 -
使用Java实现的ID3算法
这里就不描述ID3算法了。关于如何使用java实现,其实网上也不少,只是感觉没有拿来就直接能用的,而且,就我搜索到的实现,并没有能够将属性值以及最后的结果加入进来。算是一个小小的加强版吧。整个项目已经上传上来了。 项目截图如下: 值得说的有几个地方:1. 从arff之中解析出属性public static final String ATTR_PARSE_PATTER...2014-02-14 10:33:11 · 560 阅读 · 0 评论 -
Java实现的朴素贝叶斯分类器
目前的算法只能处理结果只有两种的情况,即true or false. 多分枝或者是数字类型的还无法处理。用到的一些基础数据结构可以参考上一篇关于ID3的代码。 这里只贴出来实现贝叶斯分类预测的部分:package classifier;import java.util.ArrayList;import java.util.HashMap;import java....2014-02-15 16:48:47 · 619 阅读 · 0 评论 -
[Lucene] Lucene 4.10 显示分词结果
主要参考: http://www.cnblogs.com/dennisit/p/3258664.html 原文写得非常好,非常详细。但是版本有一些老了,以其中的displayToken()中跟displayAllTokenInfo()已经需要修改。否则无法在最新的4.10上工作。 在最新的版本之中,需要:(1)在stream的incrementToken之前增加一个rese...2014-12-09 17:22:49 · 326 阅读 · 0 评论