`
文章列表
注: 内容参考至《Mahout实战》 根据mahout实战里面的内容,接下来将使用grouplens提供的movielens-1m的数据进行推荐。 在mahout自带的example之中,已经有了能读取dat文件的代码。其扩展至FileDataModel, 因此拿过来就能直接用了。但是由于考虑到机器性能的原因,我会丢弃掉部分数据,减小运算的数据量~   改造主要就是在参数之中增加了一个removeRatio参数,在读取文件的时候根据这个随机数进行随机的丢弃掉部分数据。 下面就是我稍微改造的GroupLensDataModel.java /** * Licensed to the ...
刚开始接触Mahout,在网上也看了一些人家的文章,但是感觉都比较复杂。 下面我这种方式,在单机做一些简单的实验、作为初步对于mahout的了解估计是比较好的方法。   1. 到官网下载最新的版本:http://apache.fayea.com/apache-mirror/mahout/0.9/ 2. 下载之后解压 3. Eclipse之中创建一个普通的java project 并将解压包之中的jar包导入到项目的classpath之中   在创建好项目之后,我们试一下第一个程序: (使用到的intro.csv被压缩在intro.zip之中了) import java.io ...
昨天好不容易创建了一棵决策树,但是受限于JFreeChart以及Java确实没找到好用的绘图类库。 google半天,发现还有一个不错的选择: Dot Langage 最Easy的入门方式,应该是使用Google chart了! 传送门:https://developers.google.com/chart/image/docs/gallery/graphviz?csw=1   先列几个例子在这: digraph{A->B->C->A}   结果:     但是GoogleApi时不时的会崩溃,好吧~ 我们只能求助于GraphViz。 下载地址:h ...
之前的文章已经解决了数据预处理的问题。从这里开始,就要开始创建决策树了。 首先可以使用之前用Java实现的ID3算法进行修改。 之前的算法是基于Weka自带的数据进行的,跟这里的格式不太兼容。基本上需要把String改成Double就好了~   现在先尝试手动的创建模型,保证待会我们写出来的代码确实是正确的。 关于决策树模型以及ID3算法,具体的概念以及思路就不在这里重复写了,可以参考《数据挖掘导论》相关章节。   之前已经处理好的dataMatrix可以下载附件之中的train-matrix.csv. 然后直接使用Excel完成最简单的统计功能。 比如,第一步我需要统计Suv ...
昨天的文章大致构建了一个data matrix, 并进行了数据清理。有一个遗留问题就是,如何将连续的Age属性离散化?   对于连续属性离散化,可以参考《数据挖掘导论》 2.3.6小节。 首先,我们试着将数据图形化,看看是否有明显的间隔区间。 画图依然使用JFreeChart来进行。 从肉眼的角度来分析,虽然没有太明显的区间,但是从分布上看,基本上能如下图进行划分:   再来一张书上的原图进行对比: 这一张图里面的分布区间就太明显了。   除了使用图形化的方式来进行离散化,还可以有其他的方法: (1) 等宽: 比如Age: [0~15] [15~30] [30~45] . ...
上一篇文章简要介绍了比赛的主题与将会使用到的数据集。   这一篇文章的主要任务是完成数据挖掘的第一步: 数据清理   完成数据清理的第一步,就是先把数据读到内存之中。在这里,我使用的是OpenCsv. 可以到这里下载。 OpenCSV的使用可以参考: http://opencsv.sourceforge.net/#how-to-read   其中我对比了SuperCSV 以及其他的,发现他们主要花精力在跟Bean mapping 上。暂时感觉不实用~ 可能后面会换一个也说不定。   下面是我读取数据集的方法: /** * 从CSV文件之中读取数据 * @par ...
这次实战的Kaggle比赛,其实只是其中一个没有奖金的公益比赛。 主页: http://www.kaggle.com/c/titanic-gettingStarted 主题是: Titanic: Machine Learning from Disaster 在比赛之中,官方给出了一些原始的一半的数据作为比赛用的训练集与测试 ...
目前的算法只能处理结果只有两种的情况,即true or false. 多分枝或者是数字类型的还无法处理。 用到的一些基础数据结构可以参考上一篇关于ID3的代码。    这里只贴出来实现贝叶斯分类预测的部分: package classifier; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import util.ArffUtil; /** * NBC means Naive Bayes Classif ...
这里就不描述ID3算法了。 关于如何使用java实现,其实网上也不少,只是感觉没有拿来就直接能用的,而且,就我搜索到的实现,并没有能够将属性值以及最后的结果加入进来。 算是一个小小的加强版吧。 整个项目已经上传上来了。 项目截图如下:   值得说的有几个地方: 1. 从arff之中解析出属性 public static final String ATTR_PARSE_PATTERN = "@attribute(.*)[{](.*?)[}]";  使用的是正则来进行解析的。这样的解析方式 无法解析数字类型的属性, 比如 属性为numeric or Real的 ...
今天google到一个很好的介绍如何使用Weka GUI 的例子。 具体看附件吧~  原文链接: http://referensi.dosen.narotama.ac.id/files/2011/12/weka-tutorial-2.pdf   虽然我们没有例子之中要到的iris.arff 但是可以使用自带的weather-*.arff 天气的例子分类如下所示:  
在这里将使用Weka自带的K-means以及EM算法对同一份数据进行聚类。 目前使用的是自带的数据集。我也不太清楚这样聚类的效果如何 sigh...   Weka Version: 3.7.10   K-Means K-均值算法 import java.io.File; import weka.clusterers.SimpleKMeans; import weka.core.DistanceFunction; import weka.core.Instances; import weka.core.converters.ArffLoader; public ...
代码主要来源: 《Collective Intelligence 实战》 Lucene版本: 4.6.1 原来的代码是基于2.2写的,很多东西已经变了。现在用4.6.1重现实现一遍     package impl; import java.io.IOException; import java.io.Reader; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenFilter; impo ...
主要参考文章: http://www.cnblogs.com/dyllove98/archive/2013/06/19/3144919.html 但是我利用了搜狗的语料库来进行测试:http://www.sogou.com/labs/dl/c.html 此次使用的是其mini版 demo而已嘛:)   主要代码可以参考来源的博客,基本上copy到eclipse之中就能用。本人小小改动了一下而已。 唯一想说的就是,本人打开lucene的压缩包之后,发现了数不清的jar 包,顿时就无语不知所措了~ 实际上,对于一个普通的创建索引+搜索的任务,会需要下面几个包就可以了: (1) cor ...
1. 【已解决】直接输入登录地址***/index.php?s=Admin-Login 会自动跳转到首页 >> 不能这样直接登录 需要从/admin/index.php登录然后他会自动跳转到登录的页面   2. 【已解决】视频来源覆盖 解释:版本1.5, 从bdzy.cc拉资源。发现神枪狙击(国语)会被神枪狙击(粤语)覆盖 >> 在主页上面,有一个相似性判断。 如果像我这样,只从单一来源下载资源的,可以设置为0关闭这个功能   3. 【已解决】默认模板 当播放名称太长的时候,显示不完整如下图:  全文应该是高清全集的,现在高后面的没有了~  > ...
从国庆到现在,花了很多时间在从头创建一个视频网站。可惜,水平有限,效果一直很勉强。 无意之中发现,有很多视频系统,很快就可以创建一个视频网站,而且很多还带视频采集规则。 一方面很无语,自己做了那么多,可以算是白做了。另一方面也很开心,自己遇到的一个老大难问题——UI——就这样很轻易的解决了!     简单对了光线CMS MacCMS以及feifeicms之后,最终选用了feifeicms。 原因很简单: 我只成功运行了feifeicms~~~      安装很简单: 1. windows上安装Wamp 2. 在根路径里面把下载的版本解压复制进去,注意index.php一 ...
Global site tag (gtag.js) - Google Analytics