加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

mahout的数据处理--【根据文本文件创建vector】

发布时间:2020-12-14 03:58:28 所属栏目:大数据 来源:网络整理
导读:mahout有根据目录下文本转换为Vectors的工具。 在创建vector前需要将文档转换为SequenceFile格式【hadoop存储文件的格式】 。 SequenceFile是key--value形式的存储。 DocumentVectorizer 需要以unique类型为key,UTF-8格式的文本内容为value的数据格式。 您

mahout有根据目录下文本转换为Vectors的工具。

在创建vector前需要将文档转换为SequenceFile格式【hadoop存储文件的格式】

SequenceFile是key--value形式的存储。

DocumentVectorizer 需要以unique类型为key,UTF-8格式的文本内容为value的数据格式。

您可能会发现有助于提卡http://lucene.apache.org/tika转换成二进制文件以文本

mahout有一个漂亮的工具,它读取目录以及它的子目录分块方式为我们创建SequenceFile格式的数据生成的文档的ID<PREFIX><RELATIVE PATH FROM PARENT>/document.txt的形式。

运行的命令如下

$MAHOUT_HOME/bin/mahout seqdirectory 
--input <PARENT DIR WHERE DOCS ARE LOCATED> --output <OUTPUT DIRECTORY> 
<-c <CHARSET NAME OF THE INPUT DOCUMENTS> {UTF-8|cp1252|ascii...}> 
<-chunk <MAX SIZE OF EACH CHUNK in Megabytes> 64> 
<-prefix <PREFIX TO ADD TO THE DOCUMENT ID>>

将SequenceFile格式转换为vector格式的命令:

$MAHOUT_HOME/bin/mahout seq2sparse 
-i <PATH TO THE SEQUENCEFILES> -o <OUTPUT DIRECTORY WHERE VECTORS AND DICTIONARY IS GENERATED> 
<-wt <WEIGHTING METHOD USED> {tf|tfidf}> 
<-chunk <MAX SIZE OF DICTIONARY CHUNK IN MB TO KEEP IN MEMORY> 100> 
<-a <NAME OF THE LUCENE ANALYZER TO TOKENIZE THE DOCUMENT> org.apache.lucene.analysis.standard.StandardAnalyzer> 
<--minSupport <MINIMUM SUPPORT> 2> 
<--minDF <MINIMUM DOCUMENT FREQUENCY> 1> 
<--maxDFPercent <MAX PERCENTAGE OF DOCS FOR DF. VALUE BETWEEN 0-100> 99> 
<--norm <REFER TO L_2 NORM ABOVE>{INF|integer >= 0}>"
<-seq <Create SequentialAccessVectors>{false|true required for running some algorithms(LDA,Lanczos)}>"

- minSupport被认为作为一个特征出现最小频率的词 - minDF在一个词出现的最小的文件数。
- maxDFPercent是在一个文档中,一个良好特征需要的最大的表达式的值一个词文档中的频数/总的文档数有助于消除频率的特征,如停用词。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读