Tag: mahout

ClassNotFoundException org.apache.mahout.math.VectorWritable

我正在尝试将csv文件转换为序列文件,以便我可以跨数据训练和运行分类器。 我有一个工作java文件,我编译,然后jar到mahout工作jar。 当我在mahout jar中尝试hadoop jar我的工作时,我得到一个java.lang.ClassNotFoundException: org.apache.mahout.math.VectorWritable 。 我不确定为什么这是因为如果我看着mahout jar,那个类确实存在。 以下是我正在做的步骤 #get new copy of mahout jar rm iris.jar cp /home/stephen/home/libs/mahout-distribution-0.7/core/target/mahout-core-0.7-job.jar iris.jar javac -cp :/home/stephen/home/libs/hadoop-1.0.4/hadoop-core-1.0.4.jar:/home/stephen/home/libs/mahout-distribution-0.7/core/target/mahout-core-0.7-job.jar -d bin/ src/edu/iris/seq/CsvToSequenceFile.java jar ufv iris.jar -C bin . hadoop jar iris.jar edu.iris.seq.CsvToSequenceFile iris-data iris-seq 这就是我的java文件的样子 public class CsvToSequenceFile { public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException { String […]

从命令行运行Mahout(CLASSPATH)

使用Maven在Windows下成功编译了Mahout。 我试图从命令行运行其中一个示例,但我不知道我做错了什么。 看起来像CLASSPATH问题。 假设我想运行GroupLensRecommenderEvaluatorRunner示例。 我转到包含GroupLensRecommenderEvaluatorRunner.class文件的文件夹并执行: java -cp C:/mahout/core/target/classes;. org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner 它为GroupLensRecommenderEvaluatorRunner类提供了NoClassDefFoundErrorexception。 -cp的路径是错误的吗? 顺便说一句,对于那些不熟悉mahout的人, org.apache.mahout.cf.taste.example.grouplens 是GroupLensRecommenderEvaluatorRunner类的包。 的javadoc 多谢你们。 ps – 在问这个问题之前,我首先查看了之前关于CLASSPATH的stackoverflow问题并遵循了给定的解决方案。

如何在动作书中的mahout中运行示例

我试图在第7章中运行hello world示例。我在eclipse中创建了以下内容,然后将其打包到jar中: – package com.mycode.mahout import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.SequenceFile; import org.apache.hadoop.io.Text; import org.apache.mahout.clustering.WeightedVectorWritable; import org.apache.mahout.clustering.kmeans.Cluster; import org.apache.mahout.clustering.kmeans.KMeansDriver; import org.apache.mahout.common.distance.EuclideanDistanceMeasure; import org.apache.mahout.math.RandomAccessSparseVector; import org.apache.mahout.math.Vector; import org.apache.mahout.math.VectorWritable; public class SimpleKMeansClustering { public static final double[][] points = { {1, 1}, {2, […]

Mahout:调整基于项目的推荐者的余弦相似度

对于作业,我应该测试不同类型的推荐人,我必须先实施。 我一直在四处寻找一个好的图书馆(我最初想过Weka)并且偶然发现了Mahout。 因此,我必须提出:a)我对Mahout完全不熟悉b)我没有强大的推荐人背景,也没有他们的算法(否则我不会这样做……)和c)抱歉,但我我远非成为世界上最好的开发者==>如果你能使用外行术语(尽可能……)我会很感激:) 我一直在关注一些教程(例如, 这个 ,以及第2 部分 ),并在基于项目和基于用户的推荐器上获得了一些初步结果。 但是,我对基于项目的预测不满意。 到目前为止,我只发现了不考虑用户评级偏差的相似性函数。 我想知道是否有类似adjusted cosine similarity东西。 任何提示?

是否可以使用没有hadoop依赖的apache mahout?

是否可以使用Apache mahout而不依赖于Hadoop。 我想在单个计算机上使用mahout算法,只在我的Java项目中包含mahout库,但我根本不想使用hadoop,因为无论如何我将在单个节点上运行。 那可能吗?

针对Java应用程序的推荐引擎

我想知道是否有可用的开源推荐引擎? 它应该建议亚马逊和Netflix之类的东西。 我听说过一个名为Apache Mahout – Taste的框架。 我下周试试。 如果你能分享你宝贵的想法,那将是很棒的。

支持Java的矢量机?

我想在Java中编写一个“智能监视器”,它会在检测到即将发生的性能问题时发出警报。 我的Java应用程序将结构化格式的数据写入日志文件: | | 因此,例如,如果我有一个Widget#doSomething(String)方法需要812ms来执行,它将被记录为: 2013-03-24 11:39:21 | Widget#doSomething(String) | 812 随着性能开始下降(例如在主要收集期间,在峰值负载期间,或者如果系统正在慢慢爬行),方法执行时间开始减慢; 所以最右边的列开始看到很大的数字(有时候执行单个方法需要20到40秒)。 在大学 – 进行机器学习练习 – 我写了我的教授所谓的线性二分法 ,它采用简单的测试数据(一个人的身高,体重和性别)并“学会”如何根据他们的人将男性或女性分类身高体重。 然后,一旦它掌握了所有的训练数据,我们就会向它提供新的数据,以确定它可以准确地确定性别。 我认为 线性二分法的多变量版本称为支持向量机 (SVM) 。 如果我错了,请澄清,我会将问题的标题更改为更合适的名称。 无论如何 ,我需要这个应用程序来做以下事情: 以“测试模式”运行,我从我的主Java应用程序(我希望监视的那个)提供结构化日志文件,并获取每个日志条目(如上所示)并将其用于测试数据 只有java-method和seconds-to-execute列作为输入/测试数据很重要; 我不关心日期时间 在“监控模式”下运行,它正在从日志文件中主动读取新的日志数据,并使用类似的“机器学习”技术来确定性能下降是否迫在眉睫 重要的是要注意,执行seconds-to-execute列不是这里唯一重要的因素,因为我已经看到了某些方法在令人敬畏的性能期间的可怕时序,并且在服务器看起来像其他方法的时候真的很棒。它即将死去并推动雏菊。 因此,显然某些方法比其他方法“加权”/对性能更重要。 我的问题 谷歌搜索“线性二分法”或“支持向量机”出现了一些非常可怕,高度学术,超脑白皮书,我只是没有精神能量(也没有时间)消费 – 除非他们真的是我唯一的选择; 所以我问是否有一个外行人对这些东西的介绍,或者是用Java构建这样一个系统的优秀网站/文章/教程 ? 有没有稳固/稳定的开源Java库? 我只能找到jlibsvm和svmlearn但前者看起来处于纯beta状态,而后者似乎只支持二元决策(就像我的旧线性二分法)。 我知道有Mahout,但它位于Hadoop之上,我认为我没有足够的数据来保证建立我自己的Hadoop集群所需的时间和精力。 提前致谢!

Mahout:读取自定义输入文件

我正在玩Mahout,发现FileDataModel接受格式的数据 userId,itemId,pref(long,long,Double). 我有一些格式的数据 String,long,double 在Mahout上使用此数据集的最佳/最简单方法是什么?

在Hadoop伪分布式模式下充分利用所有核心

我正在我的4核笔记本电脑上以伪分布式模式运行任务。 如何确保有效使用所有核心。 目前我的工作跟踪器显示一次只执行一项工作。 这是否意味着只使用一个核心? 以下是我的配置文件。 CONF /芯-site.xml中: fs.default.name hdfs://localhost:9000 CONF / HDFS-site.xml中: dfs.replication 1 CONF / mapred-site.xml中: mapred.job.tracker localhost:9001 编辑:根据答案,我需要在mapred-site.xml中添加以下属性 mapred.map.tasks 4 mapred.reduce.tasks 4

如何构建/运行这个简单的Mahout程序而不会出现exception?

我想运行我在Mahout In Action中找到的代码: package org.help; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.SequenceFile; import org.apache.hadoop.io.Text; import org.apache.mahout.math.DenseVector; import org.apache.mahout.math.NamedVector; import org.apache.mahout.math.VectorWritable; public class SeqPrep { public static void main(String args[]) throws IOException{ List apples = new ArrayList(); NamedVector apple; apple = new NamedVector(new DenseVector(new double[]{0.11, 510, 1}), “small round […]