数据挖掘文本分类实验报告

上传人:s9****2 文档编号:457078109 上传时间:2024-01-21 格式:DOC 页数:12 大小:148.50KB
返回 下载 相关 举报
数据挖掘文本分类实验报告_第1页
第1页 / 共12页
数据挖掘文本分类实验报告_第2页
第2页 / 共12页
数据挖掘文本分类实验报告_第3页
第3页 / 共12页
数据挖掘文本分类实验报告_第4页
第4页 / 共12页
数据挖掘文本分类实验报告_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数据挖掘文本分类实验报告》由会员分享,可在线阅读,更多相关《数据挖掘文本分类实验报告(12页珍藏版)》请在金锄头文库上搜索。

1、北京邮电大学*学年第1学期实验报告课程名称:数据仓库与数据挖掘实验名称: 文本的分类实验完成人:姓名:姓名:学号:学号:*&*可编辑范本日 期:可编辑范本实验一:文本的分类1. 实验目的掌握数据预处理的方法,对训练集数据进行预处理;掌握文本分类建模的方法,对语料库的文档进行建模;掌握分类算法的原理,基于有监督的机器学习方法,训练文本分类器;了解 SVM 机器学习方法,可以运用开源工具完成文本分 类过程。2. 实验分工*(1) 对经过分词的文本进行特征提取并用 lisvm 进行训练(2) 用训练的模型对测试数据进行预测*(1)数据采集和预处理(2)分词3. 实验环境Ubuntu 13.04+jd

2、k1.7可编辑范本4. 主要设计思想4.1 实验工具介绍1NLPIR_ICTCLAS2013NLPIR (又名ICTCLAS2013),是由中科院张华平博士倾力打 造的汉语分词系统。其主要功能包括中文分词、词性标注、命名 实体识别、用户词典功能、支持 GBK编码、UTF8编码、BIG5 编码等。从NLPIR官网可以下载其最新版的Java发布包,然后导入 Eclipse,配置运行环境,实现对于语料库的分词。最新的 NLPIR 可以通过更改源代码实现新增新词识别、 关键 词提取、微博分词等功能,极大地方便了使用。2. Eclipse for JavaEclipse是一个开放源代码的、基于 Java

3、的可扩展开发平台。就其本 身而言,它只是一个框架和一组服务, 用于通过插件组件构建开发环 境。幸运的是,Eclipse附带了一个标准的插件集,包括 Java开发工 具(Java Development Kit JDK)。3. LibSVM本次实验中我们采用的是台湾大学林智仁博士等开发设计的 LIBSVM 方法。 这是一个操作简单、易于使用、 快速有效的通 用SVM软件包,可以解决分类问题(包括C-SVC、v-VC ), 回归问题(包括 - SVR、v- SVR ) 以及分布估计 (one - class -SVM )等问题,提供了线性、多项式、径向基和 S形函数四种常 用的核函数供选择, 可以

4、有效地解决多类问题、 交叉验证选择参 数、对不平衡样本加权、多类问题的概率估计等。4.2 特征提取与表达方法的设计特征提取是在初始特征集基础上提取出一个特征子集的过 程,能够起到降低向量空间维数、简化计算、防止过拟合作用。 首先根据特征提取算法对特征的重要性进行评估,然后进行重 要度排序,最后根据提取阈值或提取比率完成提取。提取后的 特征集将用于之后的训练和分类过程。常用特征提取算法有文 档频数(Document Frequency、信息增益(information Gain)、期望 交叉熵(expected cross entropy)互信息(Mutual Information)等。本次实

5、验采用信息增益法进行特征词提取,它是一个基于 嫡的评价方法,涉及嫡理论公式,定义为某特征在文档中出现 前后的信息嫡之差。根据训练数据,计算出各个单词的信息增 益,删除信息增益很小的词,其余的按照信息增益从大到小排 序。采用 TF-IDF 建立文本向量, TF-IDF 是由两部分组成,一 部分是 TF(Token Frequency,) 表示一个词在文档中出现的次数, 即词频。另一部分是 IDF(Inverse Document Frequency,) 表示某 个词出现在多少个文本中 (或者解释为有多少个文本包含了这个 词),即逆向文档频率。4.3 分类算法的选择我们选择 svm 的原因如下:(

6、1) 非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高 维空间的非线性映射;(2) 对特征空间划分的最优超平面是 SVM的目标,最大化分类边际的思 想是 SVM 方法的核心;(3) 支持向量是 SVM 的训练结果 ,在 SVM 分类决策中起决定作用的是 支持向量。(4) SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上 不涉及概率测度及大数定律等 ,因此不同于现有的统计方法。从本质 上看,它避开了从归纳到演绎的传统过程 ,实现了高效的从训练样本到 预报样本的“转导推理” ,大大简化了通常的分类和回归等问题。(5) SVM 的最终决策函数只由少数的支持向量所确定 ,计算

7、的复杂性 取决于支持向量的数目 ,而不是样本空间的维数 ,这在某种意义上避免 了“维数灾难”。(6) 少数支持向量决定了最终结果 ,这不但可以帮助我们抓住关键样 本、“剔除”大量冗余样本 ,而且注定了该方法不但算法简单 ,而且具有 较好的“鲁棒”性。这种“鲁棒”性主要体现在 : 增、删非支持向量样本对模型没有影响; 支持向量样本集具有一定的鲁棒性 ; 有些成功的应用中 ,SVM 方法对核的选取不敏感4.4 性能评估方法在性能评估中,我们采用的是计算分类器对于不同分类的准确 率和召回率。4.4.1 准确率 (Precision)准确率:指的是在所有被判断为正确的文档中,有多大比例是确 实正确的。

8、例如: 我们把文件分类这样四类:A :系统检测到的相关的文档B:系统检测到的不相关的文档C:系统没有检测到的相关的文档D :系统没有检测到的不相关的文档那么我们的计算公式为:准确率 P=A/ A B4.4.2 召回率 (Recall)召回率:指的是在所有确实正确的文档中,有多大比例被我们判 断为正确。例如:我们继续参照上述的例子。那么我们的计算公式为:召回率 R=A/ A C根据上述的两个公式,我们计算出每一类的准确率和召回率,进 行比较,今儿对分类器的分类效果进行评估。5实验过程5.1 文本分类语料库的采集我们直接使用搜狗语料库的新闻预料,共有十个类别,每个类别取 2000篇作为训练集,另取

9、 2000篇作为测试集。这样我们就获得了 20000 篇的训练集和 20000篇的测试集。5.2 数据预处理5.2.1文本格式预处理原始的新闻按文件夹划分类别,同一个类别在同一个文件夹下, 每篇新闻占一个文件。 首先我们把所有文章整理到一个文件中, 并标 上类型号,这样便于后期处理。5.2.2分词和去停用词处理对语料库进行分词处理阶段,我们采用中科院研发的汉语分词软件 NLPIR 。我们为了对大量的文本进行分词, 在 NLPIR 中又添加了一个批处 理函数,对 NLPIR 进行调用,对大量文本进行分词处理。通过更改NLPIR 的参数,我们获取了带有词性标注的大量分词后的文本文件。然后我们利用模

10、式匹配的方法把所有分名词过滤掉, 然后根据停用词 表除去停用词。5.3特征提取和表达5.3.1特征词提取本次实验我们采用信息增益法进行特征词提取。 提取特征词 1000 个。将分词,取名词,去停用词后的每篇文章统一整理到一篇文本中。 每篇文章作为一行记录出现,这样便于采用信息增益法计算每个单词 的信息增益值。它是一个基于嫡的评价方法,涉及较多的数学理论和 复杂的嫡理论公式,定义为某特征在文档中出现前后的信息嫡之差。 根据训练数据,计算出各个单词的信息增益,删除信息增益很小的词, 其余的按照信息增益从大到小排序。信息增益评估函数被定义为IG(t) = P(t)*P(Ci|t)*log(P( Ci

11、 |t)/P( Ci)+P(t n)*艺(P(Ci|tn)*logP(Ci|t)/P(i),式中, P(Ci|t) 表示文本中出现特征 t 时,文本属于 Ci 类的概率 ;P(Ci|tn)表示文本中不出现单词t时,文本属于Ci类 的概率;P(Ci)表 示类别出现的概率 ; P(t) 表示 t 在整个文本训练集中出现的概率。计算完每个单词的信息增益值后,采用堆排序方法选取前 5000个单词作为特征词,即词典5.3.2建立文本向量根据提取的特征词采用 TF-IDF 法建立文本向量。TF-IDF 是一种加权技术, 它通过统计的方法来计算和表达某个关 键词在文本中的重要程度。 TF-IDF 是由两部分

12、组成,一部分是 TF(Token Frequency)表示一个词在文档中出现的次数,即词频。另 一部分是IDF(Inverse Document Frequency)表示某个词出现在多少个 文本中 (或者解释为有多少个文本包含了这个词 ),即逆向文档频率, 通常由公式IDFt = log(1+|D|)/|Dt|),其中|D|表示文档总数,|Dt| 表示包含关键词 t 的文档数量。根据上述原理,我们把训练集转化为 libsvm 所支持的向量格式。LIBSVM 的训练集格式如下:lable1index1:featureValue1index2:featureValue2index3:feature

13、Value3 .lable2index1:featureValue1index2:featureValue2index3:featureValue3 .对应到文本分类上就是:类别 ID 特征序号:特征值( TFIDF 值) 5.4 训练过程我们利用libsvm提供的grid.py工具对训练集进行参数寻优,并得到参数:c=128.0 g=3.0517578125e-05,然后利用这组参数对训练集进 行训练,得到模型文件。5.5 测试过程我们对测试集进行同样的分词与去停用词等操作,然后根据训练 得到的模型文件,对其进行预测。然后,分析预测输出文件和初始的 测试文件,得到相关统计数据。5.6 实验结

14、果和性能评估训练集: 20000篇测试集: 20000篇特征提取后字典大小: 1000词训练时间: 92.7s测试时间: 80s平均准确率: 83%具体准确率与召回率如图 5-1 所示::隹确率 召回牵图5-1预测结果准确率与召回率预测结果混淆矩阵如图5-2所示:军事文化教育经济女性体育汽车娱乐军事IT军事0352185000182411文化440192338365694518教育2333016253323836经济11160202433女性48564420033162818体育345517401970汽车28141571021017娱乐17701722927019军事26681915616225013IT1738701520123371206实验总结通过这次实验,学习了文本分类的常规步骤,认识了一些分类方法的原理和使用方法。同时锻炼了编程编程能力。最关键的是获得了对数据挖掘领域的兴趣。可编辑范本

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号