分类Classification-二十个新闻组(Twenty Newsgroups)

[size=x-large]二十个新闻组分类列子[/size]

[size=large]介绍[/size]
这二十个新闻组数据集合是收集大约20,000新闻组文档,均匀的分布在20个不同的集合。这20个新闻组集合采集最近流行的数据集合到文本程序中作为实验,根据机器学习技术。例如文本分类,文本聚集。我们将使用Mahout的Bayes Classifier创造一个模型,它将一个新文档分类到这20个新闻组集合

[size=x-large]首要条件[/size]
。Mahout已经下载
。Maven是可用的
。已经设置了如下环境变量:
HADOOP_HOME hadoop的安装路径
MAHOUT_HOME mahout的安装路径

[size=x-large]安装Mahout[/size]
如果已经下载了distribution的Mahout,使用unzip/untar解压,进入解压后的目录,
1.进入trunk目录,编译并且创建hadoop job
mvn install


[size=large]基于Mahout 0.2+:[/size]
1.创建目录并且下载20newsgroup的数据
$ mkdir $MAHOUT_HOME/examples/bin/work/
$ cd $MAHOUT_HOME/examples/bin/work/


2.下载20news-bydate.tar.gz从[url=20newsgroups dataset]20newsgroups dataset[/url]

3.解压
tar zxf 20news-bydate.tar.gz


4.生成input的数据
$> $MAHOUT_HOME/bin/mahout org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups \
-p examples/bin/work/20news-bydate/20news-bydate-train \
-o examples/bin/work/20news-bydate/bayes-train-input \
-a org.apache.mahout.vectorizer.DefaultAnalyzer \
-c UTF-8


5.生成test的数据
$> $MAHOUT_HOME/bin/mahout org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups \
-p examples/bin/work/20news-bydate/20news-bydate-test \
-o examples/bin/work/20news-bydate/bayes-test-input \
-a org.apache.mahout.vectorizer.DefaultAnalyzer \
-c UTF-8



[size=x-large]在hadoop集群上运行20newsgroups例子[/size]
[size=large]设置hadoop集群[/size]
1.编辑hadoop-site.xml,添加本地设置[url=http://hadoop.apache.org/core/docs/current/quickstart.html]Hadoop quickstart[/url]
emacs $HADOOP_HOME/conf/hadoop-site.xml

2.格式HDFS
$ $HADOOP_HOME/bin/hadoop namenode -format

3.启动hadoop
$ $HADOOP_HOME/bin/start-all.sh

4.上传文件到HDFS
$ $HADOOP_HOME/bin/hadoop dfs -put $MAHOUT_HOME/examples/bin/work/20news-bydate/bayes-train-input 20news-input


[size=large]Train贝叶斯分类基于Tri-grams[/size]
下面将在hadoop运行4个map reduce工作,为了Train这个分类器并且将运行一段时间如果在只有一个节点的机器上
$> $MAHOUT_HOME/bin/mahout trainclassifier \
-i 20news-input/bayes-train-input \
-o newsmodel \
-type bayes \
-ng 3 \
-source hdfs


你可以监控这个job的状态,从Job Tracker的机器上打开浏览器访问:http://localhost:50030/jobtracker.jsp

在input目录运行Test分类器
$> $MAHOUT_HOME/bin/mahout testclassifier \
-m newsmodel \
-d 20news-input \
-type bayes \
-ng 3 \
-source hdfs \
-method mapreduce


输出的结果:
08/11/07 16:52:39 INFO bayes.TestClassifier: Done loading model: # labels: 20
08/11/07 16:52:39 INFO bayes.TestClassifier: Done generating Model
08/11/07 16:52:57 INFO bayes.TestClassifier: alt.atheism96.9962453066333775/799.0
08/11/07 16:53:15 INFO bayes.TestClassifier: comp.graphics99.28057553956835966/973.0
08/11/07 16:53:45 INFO bayes.TestClassifier: comp.os.ms-windows.misc96.95431472081218955/985.0
08/11/07 16:53:59 INFO bayes.TestClassifier: comp.sys.ibm.pc.hardware99.59266802443992978/982.0
08/11/07 16:54:10 INFO bayes.TestClassifier: comp.sys.mac.hardware99.47970863683663956/961.0
08/11/07 16:54:28 INFO bayes.TestClassifier: comp.windows.x99.59183673469387976/980.0
08/11/07 16:54:38 INFO bayes.TestClassifier: misc.forsale98.45679012345678957/972.0
08/11/07 16:54:50 INFO bayes.TestClassifier: rec.autos99.4949494949495985/990.0
08/11/07 16:55:04 INFO bayes.TestClassifier: rec.motorcycles100.0994/994.0
08/11/07 16:55:16 INFO bayes.TestClassifier: rec.sport.baseball99.89939637826961993/994.0
08/11/07 16:55:36 INFO bayes.TestClassifier: rec.sport.hockey99.89989989989989998/999.0
08/11/07 16:55:54 INFO bayes.TestClassifier: sci.crypt99.39455095862765985/991.0
08/11/07 16:56:05 INFO bayes.TestClassifier: sci.electronics98.98063200815494971/981.0
08/11/07 16:56:27 INFO bayes.TestClassifier: sci.med99.79797979797979988/990.0
08/11/07 16:56:44 INFO bayes.TestClassifier: sci.space99.3920972644377981/987.0
08/11/07 16:57:06 INFO bayes.TestClassifier: soc.religion.christian99.49849548645938992/997.0
08/11/07 16:57:24 INFO bayes.TestClassifier: talk.politics.guns99.45054945054945905/910.0
08/11/07 16:57:51 INFO bayes.TestClassifier: talk.politics.mideast98.82978723404256929/940.0
08/11/07 16:58:13 INFO bayes.TestClassifier: talk.politics.misc89.93548387096774697/775.0
08/11/07 16:58:25 INFO bayes.TestClassifier: talk.religion.misc61.78343949044586388/628.0
08/11/07 16:58:25 INFO bayes.TestClassifier: =======================================================
Summary
-------------------------------------------------------
Correctly Classified Instances : 18369 97.5621%
Incorrectly Classified Instances : 459 2.4379%
Total Classified Instances : 18828

=======================================================
Confusion Matrix
-------------------------------------------------------
a b c d e f g h i j k l m n o p q r s t <--Classified as
994 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 994 a = rec.motorcycles
0 976 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 1 | 980 b = comp.windows.x
7 0 929 1 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 | 940 c = talk.politics.mideast
0 0 0 905 0 0 1 0 0 0 0 0 0 0 0 0 3 0 1 0 | 910 d = talk.politics.guns
4 1 4 27 388 1 0 1 0 5 1 1 2 2 149 7 2 33 0 0 | 628 e = talk.religion.misc
3 0 0 0 0 985 0 1 0 0 0 0 0 1 0 0 0 0 0 0 | 990 f = rec.autos
0 0 0 0 0 0 993 1 0 0 0 0 0 0 0 0 0 0 0 0 | 994 g = rec.sport.baseball
0 0 0 0 0 0 1 998 0 0 0 0 0 0 0 0 0 0 0 0 | 999 h = rec.sport.hockey
0 0 0 0 0 0 0 0 956 0 2 0 0 0 0 0 0 0 2 1 | 961 i = comp.sys.mac.hardware
0 0 0 0 0 0 0 0 0 981 0 0 5 0 0 1 0 0 0 0 | 987 j = sci.space
0 0 0 0 0 0 0 0 0 0 978 0 1 0 0 0 0 0 2 1 | 982 k = comp.sys.ibm.pc.hardware
1 0 3 36 0 1 2 1 0 5 0 697 4 0 3 3 19 0 0 0 | 775 l = talk.politics.misc
0 2 0 0 0 0 0 0 0 0 2 0 966 0 0 0 0 0 2 1 | 973 m = comp.graphics
1 0 0 0 0 0 0 0 0 0 6 0 0 971 0 0 0 0 3 0 | 981 n = sci.electronics
1 0 0 0 0 0 0 0 1 0 0 0 0 0 992 1 0 1 0 1 | 997 o = soc.religion.christian
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 988 0 0 0 1 | 990 p = sci.med
0 0 0 2 0 0 0 0 0 0 0 0 2 1 0 0 985 0 1 0 | 991 q = sci.crypt
0 0 0 1 1 0 0 0 0 1 0 0 1 0 19 0 1 775 0 0 | 799 r = alt.atheism
1 0 0 0 0 3 1 2 0 0 3 0 0 5 0 0 0 0 957 0 | 972 s = misc.forsale
0 0 0 8 0 0 0 0 0 0 6 0 6 0 0 0 0 0 10 955 | 985 t = comp.os.ms-windows.misc


[size=x-large]附加的Naive Bayes[/size]
Train一个CBayes分类器使用bi-grams
$> $MAHOUT_HOME/bin/mahout trainclassifier \
-i 20news-input \
-o newsmodel \
-type cbayes \
-ng 2 \
-source hdfs


Test一个CBayes分类器使用bi-grams
$> $MAHOUT_HOME/bin/mahout testclassifier \
-m newsmodel \
-d 20news-input \
-type cbayes \
-ng 2 \
-source hdfs \
-method mapreduce



原文连接:https://cwiki.apache.org/confluence/display/MAHOUT/Twenty+Newsgroups
### 回答1: nlp2022-text-classification-master 是一个 NLP(自然语言处理)的项目,用于文本分类。 该项目的目的是利用自然语言处理技术,对文本进行分类。文本分类是指根据文本的内容和特征将其归类到不同的类别中。例如,可以通过分析一段电影评论的内容,将其分类为积极或消极评价。 nlp2022-text-classification-master 项目使用了一些常见的文本分类算法和技术,如词袋模型、TF-IDF 特征提取、多层感知机等。这些技术可以帮助我们将文本转化为可用于分类的数值特征,并通过机器学习算法进行分类。 该项目提供了一些示例数据集,可以用于训练和测试文本分类模型。通过对这些数据集进行训练,可以得到一个文本分类器,能够对新的文本数据进行分类。 除了提供示例数据集和算法实现,nlp2022-text-classification-master 还提供了一些辅助工具和函数,用于数据预处理、特征选择、模型评估等。这些工具和函数可以帮助我们更方便地进行文本分类任务。 总之,nlp2022-text-classification-master 是一个用于文本分类的 NLP 项目,通过利用自然语言处理技术和机器学习算法,能够对文本进行分类,并提供了一些辅助工具和函数,方便进行文本分类任务的开发和研究。 ### 回答2: nlp2022-text-classification-master 是一个 NLP(自然语言处理)项目的命名,其主要功能是文本分类。文本分类是NLP中的一个重要任务,它旨在根据给定的语料库或文本集合,将不同的文本分成不同的类别或标签。 nlp2022-text-classification-master 项目很有可能是一个用于研究或学习文本分类的项目。项目的名称中的 "nlp2022" 可能表示该项目与2022年相关,意味着它是最新的或者与当年的研究/学习计划有关。"master" 可能表示它是一个主要版本或主分支。 在该项目中,我们可以期待看到一些典型的文本分类相关内容。这可能包括数据预处理,特征提取,模型构建和训练,以及评估模型性能的指标。另外,该项目可能还包括一些实例数据集和示例代码,以便用户可以快速开始自己的文本分类任务。 对于文本分类的具体实现,可能会使用一些常见的机器学习算法或深度学习模型,如朴素贝叶斯分类器、支持向量机、卷积神经网络(CNN)或循环神经网络(RNN)。这些算法和模型都在文本分类中具有一定的应用价值,并且可以根据具体的任务和数据集进行选择。 总之,nlp2022-text-classification-master 是一个用于进行文本分类的 NLP 项目,通过处理文本数据,提取特征,并利用机器学习或深度学习方法将文本分为不同的类别。该项目可能提供一些帮助用户进行文本分类任务的示例代码和数据集。 ### 回答3: nlp2022-text-classification-master是一个用于自然语言处理(NLP)的文本分类项目。该项目的主要目标是使用机器学习和深度学习技术,对文本数据进行分类。在NLP的研究领域中,文本分类是一个重要且有挑战性的任务,其目的是将文本数据分配到预定义的类别中。 该项目提供了一个完整的解决方案和代码库,供研究人员和开发者使用。它包含了多个文本分类算法和模型的实现,例如朴素贝叶斯分类器、支持向量机(SVM)、卷积神经网络(CNN)和循环神经网络(RNN)等。这些算法和模型可用于处理不同类型的文本数据,如电影评论、新闻文章、社交媒体帖子等。 此外,该项目还提供了一个预处理流程,用于将原始文本数据转换为机器学习算法可以处理的数值特征。这个预处理流程包括文本分词、词向量化、特征选择和数据划分等步骤,以确保输入数据的质量和可用性。 通过使用nlp2022-text-classification-master,用户可以根据自己的需要轻松构建和训练文本分类模型。他们可以通过添加自定义的特征工程方法或改进现有的分类算法,来提高模型的性能。此外,该项目还提供了评估指标和可视化工具,用于评估模型的性能和分析结果的可解释性。 总之,nlp2022-text-classification-master是一个功能强大且易于使用的文本分类项目,可帮助用户在NLP领域中进行文本分类任务的研究和实践。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值