hadoop2.5.2 mahout0.10.1 测试文本分类器

在Hadoop分布式集群环境下Mahout安装和运行K-means、协同过滤实例 在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架   友情提醒:大家最好通读一遍过后,在理解的基础上按照步骤一步一步设置,因为后面的会对前面的有所启示。 注意:mahout运行对于环境要求很严格,JDK:jdk-7u55-linux-x64.tar,MAVEN:apache-maven-3.2.1-bin.tar,MAHOUT:mahout-distribution-0.9 阅读详情

说明:本文是对下面这篇文章的一个更新,下面这篇文章环境采用的是mahout0.9 + hadoop2.2.0,本人的是mahout0.10.1+hadoop2.5.2

--------------------------------------------------------------------------

mahout0.9 + hadoop2.2 中文文本分类实战(上)链接

--------------------------------------------------------------------------

网上大多数的mahout文本分词的例子都是基于hadoop1.x+mahout0.7 或者hadoop2.x+mahout0.9,其中各种坑,着实让人头疼,经过两天的苦战,终于在hadoop2.5.2上运行成功


1、将测试数据上传到hdfs中(数据来源于炼数成金-Hadoop 应用开发实战案例第17节课程)下载地址

先看一下数据 camera computer hosehold mobile MP3每个文件夹里有若干文件,每个文件是一篇文章


上传到hdfs的digital目录中(上传要半个小时左右)

  1. #hadoop fs -mkdir digital  
  2. #hadoop fs -put /home/chin/digital/raw/*         digital/  


2、安装mahout0.10.1

  1. #wget http://mirror.bit.edu.cn/apache/mahout/0.10.1/apache-mahout-distribution-0.10.1.tar.gz  
  2. #tar -xzvf apache-mahout-distribution-0.10.1-src.tar.gz -C /opt/  
  3. #ln -s /opt/apache-mahout-distribution-0.10.1 /opt/mahout  
  4. #cd /opt/mahout/  


3、向mahout-examples-0.10.1-job.jar添加分词程序


默认的mahout是不支持中文分词的,这需要我们把分词程序弄到mahout的jar包中。

这里利用了原作者已经写好的分词程序,先把几个jar包下载下来(mmseg4j-solr-2.2.0.jar mmseg4j-core-1.9.1.jar mmseg4j-analysis-1.9.1.jar)里边包含了作者写好的分词程序,下载链接,

把mahout目录下的mahout-examples-0.10.1-job.jar文件拷出来,跟上边三个jar包一起,把4个jar包用压缩工具解压,把mmseg4j-solr-2.2.0 mmseg4j-core-1.9.1 mmseg4j-analysis-1.9.1文件夹中除了META-INF,其他都中拷贝到mahout-examples-0.10.1-job,再把mahout-examples-0.10.1-job压缩成mahout-examples-0.10.1-job.zip,把后缀改一下mahout-examples-0.10.1-job.jar,把mahout目录下的mahout-examples-0.10.1-job.jar替换一下




或者下载我已经替换好了的jar包 下载地址


4、mahout操作


4.1 生成了序列化文件(sequential or mapreduce???)

    

  1. #mahout seqdirectory -i digital -o seq          -ow -xm sequential  



结果在seq文件夹生成了 chunk-0文件


    4.2 将序列化文件分词,变成向量文件

    

  1. #mahout seq2sparse -i seq  -o vectors -lnorm -nv -wt tfidf -a com.chenlb.mmseg4j.analysis.SimpleAnalyzer  
-a com.chenlb.mmseg4j.analysis.SimpleAnalyzer 是指定自定义的分词程序,如果你的数据是分好词的,需要改成-a org.apache.lucene.analysis.core.WhitespaceAnalyzer,更多请参考这篇文章  连接


运行完成




    4.3 划分训练集和测试集

    

  1. #mahout split -i vectors/tfidf-vectors --trainingOutput train --testOutput test --randomSelectionPct 40 --overwrite --sequenceFiles -xm sequential  


    4.4 训练模型

    

  1. #mahout trainnb  -i train -o model         -li labelindex         -ow         -c  


运行结果



把labelindex 导出看一下


    4.5 测试模型

    

  1. #mahout testnb         -i test        -m model         -l labelindex         -ow         -o testresult         -c  



好了终于跑出结果来了


问题:

我在hadoop2.2.0 + mahout0.9下在进行到4.4步,报了一个错,

Java.lang.IllegalArgumentException: Wrong numLabels: 0. Must be > 0! 异常,导致进行不下去了 这篇文章,提到“生成的 labelindex 文件是错的“,确实是生成的labelindex的问题,但是没有办法解决,只好舍弃在hadoop2.2.0下测试了



参考文章:


mahout0.9 + hadoop2.2 中文文本分类实战(上)
http://my.oschina.net/u/1047640/blog/262468


Mahout 中文分类 (1)
http://blog.youkuaiyun.com/u010422304/article/details/17966281


在hadoop2.0上使用mahout1.0(-SNAPSHOT)提供的lda
http://blog.youkuaiyun.com/huilixiang/article/details/43053581



hadoop下mahout kmeans算法研究(2) KMeans算法和简单命令使用(2)   接上篇:hadoop下mahout-kmeans算法研究(1)   如果对本文档有任何建议或者认为有错误的地方欢迎联系本人 大家一起进步啊 红色的字体:重点和注意事项 蓝色的字体:出现的问题和解决/未解决 绿色的字体:个人建议 数据输入格式 测试数据         每个数据和数据之间用空格分开,数据都是double型的  ... 阅读详情

相关推荐

mahout-0.11.0.tar.gz

适合centos7平台,Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。

hadoop单机伪分布式环境搭建和mahout试用

单机版hadoop安装 (1)下载hadoop安装包,解压  http://hadoop.apache.org/releases.html (2)配置环境变量 export PATH=$PATH:/home/iomssbd/user/hadoop-2.4.1/bin:/home/iomssbd/user/hadoop-2.4.1/sbin export HADOOP_HOME=/home/

dreamingfish2011的博客 563

基于Hadoop架构的文本分类算法

基于Hadoop的文本分类算法系统,本系统实现了分词处理,停用词处理(IK);使用朴素贝叶斯分类算法来对文本进行训练和分类,在测试过程中使用词频特征选择作为特征词选择算法,分类准确率达到了78%,包含卡方特征选择算法(训练集特征选择)。

mahout0.11.0的安装及使用

mahout2

ASIN的专栏 2008

apache-mahout-distribution-0.10.1

Apache Mahout 项目旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 的创始者 Grant Ingersoll 介绍了机器学习的基本概念,并演示了如何使用 Mahout 来实现文档集群、提出建议和组织内容。

基于hadoop的web云盘系统

这是一个基于hadoop的云盘系统,实现的界面是用javaweb完成的,使用的是spring Struts2 hibernate集合框架,配有sql文件。直接导入后运行这是一个基于hadoop的云盘系统,实现的界面是用javaweb完成的,使用的是spring Struts2 hibernate集合框架,配有sql文件。直接导入后运行这是一个基于hadoop的云盘系统,实现的界面是用javaweb完成的,使用的是spring Struts2 hibernate集合框架,配有sql文件。直接导入后运行

大数据基础(三)Ubuntu下基于Hadoop 2.6.2的Mahout 0.12.1安装和使用

Ubuntu下基于Hadoop 2.6.2的Mahout 0.12.1安装和使用 环境: Ubuntu Server 14.04.04 amd64 Hadoop 2.6.2  参考: http://itindex.net/detail/49323-mahout-%E5%AD%A6%E4%B9%A0-mahout 新版的配置有略微改动 1、下载 http://mirror.bi

星门学派(Star School) 3391

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

Hadoop,Hbase,mahout三者兼容版本的API文档,这三个API版本对应的Hadoop组件相互兼容,很方便的

在hadoop1.2.1上安装配置mahout0.9

1>.配置jdk1.6 2>.安装配置hadoop-1.2.1

u013209432的专栏 648

mahout-examples-0.10.1-job.jar

mahout-examples-0.10.1-job.jar 已经包含分词程序,替换掉mahout默认的jar包

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

http://blog.csdn.net/u010967382/article/details/25368795#comments 博客配套代码

Mac系统下,Hadoop 2.6.2 + Mahout 0.12.1 完全分布式配置

简介         Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。         以上来自

wk51920的专栏 1158

FPGA实现16x16点阵汉字滚动显示:Verilog代码与Quartus仿真详解

本文详细介绍了如何使用FPGA实现16x16点阵汉字滚动显示,包括Verilog代码设计、Quartus仿真及硬件连接技巧。通过字模数据存储和扫描控制逻辑,实现汉字的动态显示效果,并提供了优化建议和常见问题解决方案,适合FPGA开发者和硬件爱好者学习参考。

weixin_29172963的博客 353

在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架

在Hadoop1.2.1分布式集群环境下安装Mahout0.9框架   友情提醒:大家最好通读一遍过后,在理解的基础上按照步骤一步一步设置,因为后面的会对前面的有所启示。 一、前提条件 Hadoop1.2.1分布式集群环境搭建成功,并且Hadoop集群服务器正常运行。 二、所需环境和软件 1. Hadoop分布式集群环境: 见《在VMware下安装Ub

摩西YF拉比 407

Altium Designer 21 DRC检查:从新手到高手,这10个常见错误你踩过几个?

本文详细解析Altium Designer 21 DRC检查中的10个高频错误,包括间距违规、线宽违规、未连接网络等常见问题,并提供精准修复方案和实战技巧。通过分层诊断、智能规则设置和三维排查等方法,帮助工程师从新手进阶为高手,提升PCB设计效率和质量。

weixin_26873711的博客 222

博科的SAN交换机基本操作

2、添加用户testuser赋予user权限可以访问1-128VF默认VF为128账号描述"Test user"密码为password123。1、创建zone别名(100是指当前设备Domain ID,1和2是指对应的index号)2,删除新接入设备的ZONE或保持ZONE配置一致。3、将zone添加到当前生效的CFG中。2、将zone添加到当前生效的CFG中。3、将zone添加到当前生效的CFG中。3,将添加的级联端口持续关闭。4、将当前zone生效。4、将当前zone生效。1、查看当前所有用户。

chenjunokok的博客 1838

Mahout实践:Mahout分类算法-11

Mahout实践:Mahout 分类算法 1、实验描述 本实验在Hadoop集群已经部署的前提下,使得mahout运行local模式下,然后做mahout的分类算法分析。 实验时长:45分钟 主要步骤: 打开hadoop集群 数据准备 修改mahout相关环境变量 数据预处理 训练分类器 测试分类器 2、实验环境 虚拟机数量:3 系统版本:CentOS 7.5 Mahout版本:apache-mahout-distribution-0.13.0 Hadoop版本:Hadoop 2.

奔腾游子 2163

手把手教你用MATLAB/Simulink模拟微电网潮流方向(附代码下载)

本文提供了一份详细的MATLAB/Simulink微电网潮流仿真实战指南。通过手把手教学,指导读者从零搭建包含光伏、储能和负荷的微电网模型,并模拟并网、孤岛等多种运行场景下的潮流方向变化。文章核心在于利用Simulink实现微电网的动态潮流分析与可视化,帮助工程师深入理解分布式能源系统中的功率平衡与控制策略。

weixin_28314575的博客 107

Maven编译安装Mahout for Hadoop2

0 准备工作 安装Mahout的主机需要安装有JDK、Hadoop执行环境和Maven管理工具。 1 编译安装Mahout 下载源码: git clone git@github.com:apache/mahout.git 进入到mahout根目录,编译: mvn clean compile 打包: mvn -DskipTests=true clean package 安装

猫又全宗 849

Yield Management软件:Lam Research二次开发_(5).缺陷分析与分类方法

在半导体制造过程中,缺陷分析和分类是提高良率管理(Yield Management)的关键步骤。通过准确地识别和分类缺陷,可以更好地理解工艺过程中的问题,从而采取有效的措施来提高生产效率和产品质量。本节将详细介绍缺陷分析和分类的方法,包括缺陷检测、特征提取、分类算法及其在Lam Research软件中的应用。

2401_87715305的博客 690

Xilinx高级调试方法--远程调试

本文主要介绍Xilinx的一些高级调试方法,以及如何使用Xilinx的相关IP。

斌赋的博客 3308
上一篇: Mahout文本聚类学习之DocumentProcessor类
下一篇: Mahout算法集
arrow8071
博客等级 码龄15年 7粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值