`

关于利用hadoop和mahout进行Twenty Newsgroups 分类例子的自我理解

 
阅读更多

The 20 Newsgroups数据集合收集了大约20,000 个新闻群组的文档,它们被划分成为大约20个新闻组。在机器学习领域,这个数据集合被广泛的应用与分类和聚类测试数据集。下面是介绍如何利用这个数据集合来进行分类。

 (本文是对https://cwiki.apache.org/confluence/display/MAHOUT/Twenty+Newsgroups的翻译)

准备工作:

(1)首先确保安装了hadoop和mahout,关于hadoop和mahout的安装与配置,可以参考hadoop.apache.org 和mahout.apache.org中的guide部分,可以让你快速入门。

(2)确保你安装了maven,这个是为后边的编译做准备。

(3)环境变量 设定

      export HADOOP_HOME hadoop的trunk目录

      export MAHOUT_HOME hadoop的trunk目录

 

 

 mahout中例子程序的运行过程详细说明

 1 首先启动hadoop  start-all.sh

 2 (此步骤仅仅是在下载的是mahout的源文件是需要)进入mahout的源trunk目录,运行 mvn install,对mahout进行编译并创建一个mahout job。

 3运行mahout中自带的20 newsgroup 例子。

  ./examples/bin/classify-20newsgroups.sh
 这个shell脚本将为你完成以下工作:下载20-new-bydat.tar.gz数据集合文件;抽取数据集合;为训练分类器生成符合要求的输入数据集合;生成测试分类的输入数据集合;运用训练数据集合训练分类器,生成分类模型;运用测试数据集合测试分类器。

 

最终输出的内容格式如下:

输出的是一个混合矩阵:

 

=======================================================
Confusion Matrix
-------------------------------------------------------
a   b   c   d   e   f   g   h   i   j   k   l   m   n   o   p   q   r   s   t   u   <--Classified as
381 0   0   0   0   9   1   0   0   0   1   0   0   2   0   1   0   0   3   0   0    |  398  a     = rec.motorcycles
1   284 0   0   0   0   1   0   6   3   11  0   66  3   0   1   6   0   4   9   0    |  395  b     = comp.windows.x
2   0   339 2   0   3   5   1   0   0   0   0   1   1   12  1   7   0   2   0   0    |  376  c     = talk.politics.mideast
4   0   1   327 0   2   2   0   0   2   1   1   0   5   1   4   12  0   2   0   0    |  364  d     = talk.politics.guns
7   0   4   32  27  7   7   2   0   12  0   0   6   0   100 9   7   31  0   0   0    |  251  e     = talk.religion.misc
10  0   0   0   0   359 2   2   0   1   3   0   1   6   0   1   0   0   11  0   0    |  396  f     = rec.autos
0   0   0   0   0   1   383 9   1   0   0   0   0   0   0   0   0   0   3   0   0    |  397  g     = rec.sport.baseball
1   0   0   0   0   0   9   382 0   0   0   0   1   1   1   0   2   0   2   0   0    |  399  h     = rec.sport.hockey
2   0   0   0   0   4   3   0   330 4   4   0   5   12  0   0   2   0   12  7   0    |  385  i     = comp.sys.mac.hardware
0   3   0   0   0   0   1   0   0   368 0   0   10  4   1   3   2   0   2   0   0    |  394  j     = sci.space
0   0   0   0   0   3   1   0   27  2   291 0   11  25  0   0   1   0   13  18  0    |  392  k     = comp.sys.ibm.pc.hardware
8   0   1   109 0   6   11  4   1   18  0   98  1   3   11  10  27  1   1   0   0    |  310  l     = talk.politics.misc
0   11  0   0   0   3   6   0   10  6   11  0   299 13  0   2   13  0   7   8   0    |  389  m     = comp.graphics
6   0   1   0   0   4   2   0   5   2   12  0   8   321 0   4   14  0   8   6   0    |  393  n     = sci.electronics
2   0   0   0   0   0   4   1   0   3   1   0   3   1   372 6   0   2   1   2   0    |  398  o     = soc.religion.christian
4   0   0   1   0   2   3   3   0   4   2   0   7   12  6   342 1   0   9   0   0    |  396  p     = sci.med
0   1   0   1   0   1   4   0   3   0   1   0   8   4   0   2   369 0   1   1   0    |  396  q     = sci.crypt
10  0   4   10  1   5   6   2   2   6   2   0   2   1   86  15  14  152 0   1   0    |  319  r     = alt.atheism
4   0   0   0   0   9   1   1   8   1   12  0   3   6   0   2   0   0   341 2   0    |  390  s     = misc.forsale
8   5   0   0   0   1   6   0   8   5   50  0   40  2   1   0   9   0   3   256 0    |  394  t     = comp.os.ms-windows.misc
0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0    |  0    u     = unknown

  

 

 这个混合矩阵的意思说明:

a~u分别表示了一类。

第一行的数据

381 0   0   0   0   9   1   0   0   0   1   0   0   2   0   1   0   0   3   0   0    |  398  a     = rec.motorcycles
意思为rec.motorcycles 本来是 属于 a,有381 篇文档被划为了a 类,这个是正确的数据,其它的分别表示划到 b~u类中的数目。我们可以看到其正确率为  381/398=0.95728643216080402010050251256281 ,可见其正确率还是很高的了。

 

分享到:
评论

相关推荐

    hadoop2.7.3+mahout0.9问题集

    在本文中,我们将深入探讨Hadoop 2.7.3与Mahout 0.9集成过程中可能遇到的问题,以及如何解决这些技术挑战。...通过深入理解和实践,我们可以有效地解决这些问题,充分利用Hadoop和Mahout的强大功能进行大数据分析。

    基于Hadoop和Mahout的分布式推荐引擎的设计.pdf

    在给定文件的信息中,虽然科技情报开发与经济并非与标题“基于Hadoop和Mahout的分布式推荐引擎的设计”直接相关,但其中涉及的一些概念和知识点,例如分布式系统的设计与应用,仍然可以为设计分布式推荐引擎提供重要...

    基于Hadoop-Mahout的分布式课程推荐算法.pdf

    Hadoop生态中有一个重要组件Mahout,专门用于机器学习和数据挖掘,尤其是在推荐系统领域中有着重要的应用。接下来将深入探讨基于Hadoop-Mahout的分布式课程推荐算法的设计与实现。 首先,推荐系统是分布式系统中的...

    hadoop 2.4.1+mahout0.9环境搭建

    总的来说,"hadoop 2.4.1+mahout0.9环境搭建"是一个涉及多方面技术的工程,需要对Hadoop、Mahout、Java开发、分布式系统和机器学习有深入理解。通过这个过程,开发者可以更好地掌握大数据处理和分析的实践技能。

    基于Hadoop与Mahout云数据挖掘推荐研究.pdf

    综上所述,本文对基于Hadoop和Mahout的云数据挖掘推荐研究,从技术和应用两个层面对云数据的存储、处理、挖掘和推荐进行了深入探讨。这一研究对于促进大数据的管理和应用,提高数据的利用效率,以及推动相关行业的...

    Hadoop-Mahout:使用 Mahout 在 Hadoop 上进行推荐、集群和分类

    它不仅提供了推荐系统、聚类和分类等核心功能,还与Hadoop紧密集成,借助Java的灵活性,为开发者提供了强大的平台来探索和理解大数据中的模式和趋势。无论是商业智能、个性化推荐还是科学研究,Mahout都能为用户带来...

    Hadoop,Hbase,mahout三者兼容版本的API文档

    在大数据处理领域,Hadoop、HBase和Mahout是三个重要的开源框架,它们共同构建了高效、可扩展的数据处理生态系统。这些工具之间的兼容性对于开发者来说至关重要,因为它们允许数据科学家和工程师无缝地集成和利用...

    mahout0.9 jar包支持hadoop2

    Apache Mahout是一个基于Hadoop的数据挖掘库,它提供了大规模机器学习算法的实现,包括推荐引擎、分类、聚类和关联规则挖掘。Mahout 0.9版本是该库的一个重要里程碑,尤其因为它是第一个全面支持Hadoop 2的版本。在...

    9.Hadoop入门进阶课程_第9周_Mahout介绍、安装与应用案例.pdf

    - **技术特点**:通过利用Apache Hadoop的强大计算能力,Mahout能够有效地扩展至分布式环境,实现高效的数据处理与分析。 #### Mahout的核心特性 Mahout的主要特性包括但不限于: - **算法多样性**:支持多种机器...

    词频统计,利用Hadoop中mappereduce进行单词的计数

    【标题】:“词频统计,利用Hadoop中mapper/reduce进行单词的计数” 在大数据处理领域,Hadoop是一个至关重要的框架,它以其分布式、容错性和可扩展性而受到广泛应用。本主题聚焦于如何利用Hadoop的MapReduce模型...

    Recommendation-with-mahout:与Maven + hadoop和mahout一起推荐

    总的来说,“Recommendation-with-mahout”项目展示了如何利用Java生态系统中的工具,尤其是Maven、Hadoop和Mahout,来构建一个高效且可扩展的推荐系统。通过深入研究这个项目,你可以学习到如何在实际环境中应用...

    01、机器学习、Mahout与Hadoop的过去,现在与未来

    3. Hadoop的架构和工作原理:理解HDFS和MapReduce如何支持大数据处理。 4. Mahout与Hadoop的集成:如何在Hadoop集群上部署和运行Mahout算法。 5. Mahout的未来趋势:探讨Mahout如何适应现代机器学习环境,如与Spark...

    Mahout最新基础依赖包.rar

    因此,理解 Hadoop 的基本原理和配置对于有效地使用 Mahout 至关重要。 **Eclipse集成** Eclipse 是一个流行的 Java 开发集成环境,它支持多种插件来增强其功能。为了在 Eclipse 中使用 Mahout,你需要安装 Hadoop...

    mahout0.9源码(支持hadoop2)

    mahout0.9的源码,支持hadoop2,需要自行使用mvn编译。mvn编译使用命令: mvn clean install -Dhadoop2 -Dhadoop.2.version=2.2.0 -DskipTests

    Mahout in action 实战中文版 高清 完整

    《Mahout in Action》是一本深入探讨Apache Mahout的实战指南,它详尽地介绍了如何在Hadoop平台上实现机器学习算法...通过这本书,你可以掌握如何利用Hadoop和Mahout来挖掘大数据中的潜在价值,推动企业的智能化进程。

    mahout1.0编译包

    “mahout1.0编译包”是指Apache Mahout机器学习库的一个特定版本,已经针对Hadoop 2进行了优化和编译。Mahout是一个流行的数据挖掘工具,它提供了各种算法来实现推荐系统、分类和聚类。这里的“1.0”可能指的是在...

    【甘道夫】通过Mahout构建贝叶斯文本分类器案例详解 -- 配套源码

    Apache Mahout是一个基于Hadoop的机器学习库,它提供了一系列的算法,包括聚类、分类和协同过滤,用于大数据分析。贝叶斯分类器是其中一种常用的文本分类方法,因其简单高效而在实际应用中广泛使用。 首先,我们要...

    深入浅出Hadoop Mahout数据挖掘实战 第04课-Mahout数据挖掘工具(4) 共9页.pptx

    【课程大纲】第01课-Mahout数据挖掘工具(1) 共9页第02课-Mahout数据挖掘工具(2) 共9页第03课-Mahout数据挖掘工具(3) 共12页第04课-Mahout数据挖掘工具(4) 共9页第05课-Mahout数据挖掘工具(5) 共11页第06课-Mahout...

    深入浅出Hadoop Mahout数据挖掘实战 第07课-Mahout数据挖掘工具(7) 共11页.pptx

    【课程大纲】第01课-Mahout数据挖掘工具(1) 共9页第02课-Mahout数据挖掘工具(2) 共9页第03课-Mahout数据挖掘工具(3) 共12页第04课-Mahout数据挖掘工具(4) 共9页第05课-Mahout数据挖掘工具(5) 共11页第06课-Mahout...

    深入浅出Hadoop Mahout数据挖掘实战 第03课-Mahout数据挖掘工具(3) 共12页.pptx

    【课程大纲】第01课-Mahout数据挖掘工具(1) 共9页第02课-Mahout数据挖掘工具(2) 共9页第03课-Mahout数据挖掘工具(3) 共12页第04课-Mahout数据挖掘工具(4) 共9页第05课-Mahout数据挖掘工具(5) 共11页第06课-Mahout...

Global site tag (gtag.js) - Google Analytics