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 ,可见其正确率还是很高的了。
分享到:
相关推荐
在本文中,我们将深入探讨Hadoop 2.7.3与Mahout 0.9集成过程中可能遇到的问题,以及如何解决这些技术挑战。...通过深入理解和实践,我们可以有效地解决这些问题,充分利用Hadoop和Mahout的强大功能进行大数据分析。
在给定文件的信息中,虽然科技情报开发与经济并非与标题“基于Hadoop和Mahout的分布式推荐引擎的设计”直接相关,但其中涉及的一些概念和知识点,例如分布式系统的设计与应用,仍然可以为设计分布式推荐引擎提供重要...
Hadoop生态中有一个重要组件Mahout,专门用于机器学习和数据挖掘,尤其是在推荐系统领域中有着重要的应用。接下来将深入探讨基于Hadoop-Mahout的分布式课程推荐算法的设计与实现。 首先,推荐系统是分布式系统中的...
总的来说,"hadoop 2.4.1+mahout0.9环境搭建"是一个涉及多方面技术的工程,需要对Hadoop、Mahout、Java开发、分布式系统和机器学习有深入理解。通过这个过程,开发者可以更好地掌握大数据处理和分析的实践技能。
综上所述,本文对基于Hadoop和Mahout的云数据挖掘推荐研究,从技术和应用两个层面对云数据的存储、处理、挖掘和推荐进行了深入探讨。这一研究对于促进大数据的管理和应用,提高数据的利用效率,以及推动相关行业的...
它不仅提供了推荐系统、聚类和分类等核心功能,还与Hadoop紧密集成,借助Java的灵活性,为开发者提供了强大的平台来探索和理解大数据中的模式和趋势。无论是商业智能、个性化推荐还是科学研究,Mahout都能为用户带来...
在大数据处理领域,Hadoop、HBase和Mahout是三个重要的开源框架,它们共同构建了高效、可扩展的数据处理生态系统。这些工具之间的兼容性对于开发者来说至关重要,因为它们允许数据科学家和工程师无缝地集成和利用...
Apache Mahout是一个基于Hadoop的数据挖掘库,它提供了大规模机器学习算法的实现,包括推荐引擎、分类、聚类和关联规则挖掘。Mahout 0.9版本是该库的一个重要里程碑,尤其因为它是第一个全面支持Hadoop 2的版本。在...
- **技术特点**:通过利用Apache Hadoop的强大计算能力,Mahout能够有效地扩展至分布式环境,实现高效的数据处理与分析。 #### Mahout的核心特性 Mahout的主要特性包括但不限于: - **算法多样性**:支持多种机器...
总的来说,“Recommendation-with-mahout”项目展示了如何利用Java生态系统中的工具,尤其是Maven、Hadoop和Mahout,来构建一个高效且可扩展的推荐系统。通过深入研究这个项目,你可以学习到如何在实际环境中应用...
3. Hadoop的架构和工作原理:理解HDFS和MapReduce如何支持大数据处理。 4. Mahout与Hadoop的集成:如何在Hadoop集群上部署和运行Mahout算法。 5. Mahout的未来趋势:探讨Mahout如何适应现代机器学习环境,如与Spark...
因此,理解 Hadoop 的基本原理和配置对于有效地使用 Mahout 至关重要。 **Eclipse集成** Eclipse 是一个流行的 Java 开发集成环境,它支持多种插件来增强其功能。为了在 Eclipse 中使用 Mahout,你需要安装 Hadoop...
mahout0.9的源码,支持hadoop2,需要自行使用mvn编译。mvn编译使用命令: mvn clean install -Dhadoop2 -Dhadoop.2.version=2.2.0 -DskipTests
《Mahout in Action》是一本深入探讨Apache Mahout的实战指南,它详尽地介绍了如何在Hadoop平台上实现机器学习算法...通过这本书,你可以掌握如何利用Hadoop和Mahout来挖掘大数据中的潜在价值,推动企业的智能化进程。
“mahout1.0编译包”是指Apache Mahout机器学习库的一个特定版本,已经针对Hadoop 2进行了优化和编译。Mahout是一个流行的数据挖掘工具,它提供了各种算法来实现推荐系统、分类和聚类。这里的“1.0”可能指的是在...
Apache Mahout是一个基于Hadoop的机器学习库,它提供了一系列的算法,包括聚类、分类和协同过滤,用于大数据分析。贝叶斯分类器是其中一种常用的文本分类方法,因其简单高效而在实际应用中广泛使用。 首先,我们要...
【课程大纲】第01课-Mahout数据挖掘工具(1) 共9页第02课-Mahout数据挖掘工具(2) 共9页第03课-Mahout数据挖掘工具(3) 共12页第04课-Mahout数据挖掘工具(4) 共9页第05课-Mahout数据挖掘工具(5) 共11页第06课-Mahout...
【课程大纲】第01课-Mahout数据挖掘工具(1) 共9页第02课-Mahout数据挖掘工具(2) 共9页第03课-Mahout数据挖掘工具(3) 共12页第04课-Mahout数据挖掘工具(4) 共9页第05课-Mahout数据挖掘工具(5) 共11页第06课-Mahout...
【课程大纲】第01课-Mahout数据挖掘工具(1) 共9页第02课-Mahout数据挖掘工具(2) 共9页第03课-Mahout数据挖掘工具(3) 共12页第04课-Mahout数据挖掘工具(4) 共9页第05课-Mahout数据挖掘工具(5) 共11页第06课-Mahout...
【课程大纲】第01课-Mahout数据挖掘工具(1) 共9页第02课-Mahout数据挖掘工具(2) 共9页第03课-Mahout数据挖掘工具(3) 共12页第04课-Mahout数据挖掘工具(4) 共9页第05课-Mahout数据挖掘工具(5) 共11页第06课-Mahout...