目前,我正在尝试输入我的数据以尝试机器学习目的,数据如下三列(第一列是时间,第二列是代码,第三列是数字):2016-06-0500:00:00fd04:bd3:80e8:2:215:8d00:35:ca4b02016-06-0500:00:00fd04:bd3:80e8:2:215:8d00:35:f2be0.125492016-06-0500:00:00fd04:bd3:80e8:2:215:8d00:35:c8a10.140912016-06-0500:00:01fd04:bd3:80e8:2:215:8d00:35:ca4b02016-06-0500:00:01fd04:bd3:
我正在尝试使用mahout、hadoop和java构建推荐引擎。这是我第一次使用hadoop,我从一个已经安装了hadoop的服务器上获取我的数据集,这是一个linux环境。我的开发环境是windows,现在需要在我的开发环境或者服务器端安装mahout吗?如果我的开发环境需要mahout,我是否还需要在其中安装hadoop? 最佳答案 如果您的机器上没有Hadoop,Mahout将在当前机器上以伪分布式模式运行。尽管如此,Windows和Hadoop并不真正喜欢彼此,并且根据您的Mahout版本(更具体地说,它具有的Hadoop依
我运行了以下命令://Trainingtheclassifier$mahouttrainnb-itrain-vectors-el-lilabelindex-omodel-ow-c//TestingtheclassiferontheTRAININGset$mahouttestnb-itrain-vectors-mmodel-llabelindex-ow-otweets-testing-c//TestingtheclassifierwiththeTESTINGSET$mahouttestnb-itest-vectors-mmodel-llabelindex-ow-otweets-testi
我正在Mahout0.7中将数据加载到RandomAccessSparseVector中,但我不知道如何序列化它。如果我使用的是VectorWritable,我将能够像这样使用SequenceFile.Writer:writer=newSequenceFile.Writer(fs,conf,newPath("filename"),LongWritable.class,VectorWritable.class);不幸的是,没有RandomAccessSparseVectorWritable。一种选择是完全忘记稀疏vector并将数据加载到VectorWritable中并将其序列化。我想避
我正在使用Mahout0.7的MatrixMultiplicationJob来乘以一个大矩阵。但它总是使用1个maptask,这使得它变慢了。这可能是由于InputSplit强制映射器的数量为1。有没有一种方法可以在Hadoop/Mahout中有效地乘以矩阵或更改映射器的数量? 最佳答案 最终,Hadoop决定使用多少映射器。通常它会为每个HDFSblock(通常为64或128MB)使用一个映射器。如果您的数据小于该数据,则它太小而无法使用超过1个映射器。无论如何,您都可以通过将mapred.max.split.size设置为小于6
我正在尝试使用JavaMahout进行机器学习。我已经用MySQL下载了我想要的所有数据。我卡住的地方是当我的“SparseRowMatrix”类型变量完成所有计算和重新排列时。我根本不明白如何调用我认为合适的两种方法中的任何一种:1)org.apache.mahout.math.decomposer.lanczos.LanczosSolver2)org.apache.mahout.math.hadoop.decomposer.DistributedLanczosSolver此时任何建议都有帮助! 最佳答案 DistributedL
我正在尝试计算维基百科文档之间的行相似度。我有格式为Keyclass:classorg.apache.hadoop.io.TextValueClass:classorg.apache.mahout.math.VectorWritable的tf-idf向量。我正在从这里开始快速浏览文本分析:https://cwiki.apache.org/confluence/display/MAHOUT/Quick+tour+of+text+analysis+using+the+Mahout+command+line我创建了一个象夫矩阵如下:mahoutrowid\-iwikipedia-vector
作为学术项目的一部分,我正在尝试构建一个基于协同过滤的推荐系统。我认为Mahout项目有很大的潜力,我想使用它。我在我的ubuntu10.1上安装了Mahout、hadoop和Java。Hadoop和Java已经过检查,可以很好地协同工作。(运行Hadoop字数统计示例作业)我正在关注这个tutorial使用100万个数据集运行“TasteGrouplens示例”。我输入了以下内容chirayu@chirayu-laptop:~/hadoop-0.20.2$mvn-eexec:java-Dexec.mainClass="org.apache.mahout.cf.taste.exampl
我有大约6200个类别的大约4400万个训练示例。训练后,模型大小约为450MB在测试时,使用5个并行映射器(每个映射器都有足够的RAM),分类以每秒约4个项目的速度进行,这太慢了。如何加快速度?我能想到的一种方法是减少语料库这个词,但我担心会失去准确性。我将maxDFPercent设置为80。我想到的另一种方法是通过聚类算法运行项目,并根据经验最大化集群的数量,同时将每个类别中的项目限制在单个集群中。这将使我能够为每个集群构建单独的模型,从而(可能)减少训练和测试时间。还有其他想法吗?编辑:在得到下面给出的一些答案之后,我开始考虑通过运行聚类算法来进行某种形式的下采样,识别彼此“高度
我想将基于Hadoop的Mahout推荐系统与ApacheHive相结合。这样我生成的推荐将直接存储到我的Hive表中。有人知道这方面的类似教程吗? 最佳答案 基于Hadoop的Mahout推荐器可以将结果直接存储在HDFS中。Hive还允许您使用CREATEEXTERNALTABLErecommend_table在任何数据之上创建表模式它还指定了数据的位置(LOCATION'/home/admin/userdata';)。这样您就可以确保在将新数据写入该位置时-/home/admin/userdata那么它已经对Hive可用并且可