数据仓库与及数据挖掘实验报告

  • 格式:doc
  • 大小:90.50 KB
  • 文档页数:15

下载文档原格式

  / 15
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XX邮电大学

****学年第1学期实验报告

课程名称:数据仓库与数据挖掘实验名称:文本的分类

实验完成人:

姓名:*** 学号:*&*** 姓名:** 学号:**

日期:

实验一:文本的分类

1.实验目的

◆掌握数据预处理的方法,对训练

集数据进行预处理;

◆掌握文本分类建模的方法,对语

料库的文档进行建模;

◆掌握分类算法的原理,基于有监

督的机器学习方法,训练文本分类

器;

◆了解SVM机器学习方法,可以运

用开源工具完成文本分类过程。

2.实验分工

***:

(1)对经过分词的文本进行特征提取并用lisvm进行训练

(2)用训练的模型对测试数据进行预测

***:

(1)数据采集和预处理

(2)分词

3.实验环境

Ubuntu 13.04+jdk1.7

4.主要设计思想

4.1 实验工具介绍

1.NLPIR_ICTCLAS2013

NLPIR (又名ICTCLAS2013),是由中科院张华平博士倾力打造的汉语分词系统。其主要功能包括中文分词、词性标注、命名实体识别、用户词典功能、支持GBK 编码、UTF8编码、BIG5编码等。

从NLPIR官网可以下载其最新版的Java发布包,然后导入Eclipse,配置运行环境,实现对于语料库的分词。

最新的NLPIR可以通过更改源代码实现新增新词识别、关键词提取、微博分词等功能,极大地方便了使用。

2. Eclipse for Java

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一

个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

3. LibSVM

本次实验中我们采用的是台湾大学林智仁博士等开发设计的LIBSVM方法。这是一个操作简单、易于使用、快速有效的通用SVM 软件包,可以解决分类问题(包括C−SVC 、ν−SVC ),回归问题(包括ε−SVR 、v−SVR ) 以及分布估计(one − class − SVM ) 等问题,提供了线性、多项式、径向基和S形函数四种常用的核函数供选择,可以有效地解决多类问题、交叉验证选择参数、对不平衡样本加权、多类问题的概率估计等。

4.2 特征提取与表达方法的设计

特征提取是在初始特征集基础上提取出一个特征子集的过程,能够起到降低向量空间维数、简化计算、防止过拟合作用。首先根据特征提取算法对特征

的重要性进行评估,然后进行重要度排序,最后根据提取阈值或提取比率完成提取。提取后的特征集将用于之后的训练和分类过程。常用特征提取算法有文档频数(Document Frequency)、信息增益(information Gain)、期望交叉熵(expected cross entropy)、互信息(Mutual Information)等。

本次实验采用信息增益法进行特征词提取,它是一个基于嫡的评价方法,涉及嫡理论公式,定义为某特征在文档中出现前后的信息嫡之差。根据训练数据,计算出各个单词的信息增益,删除信息增益很小的词,其余的按照信息增益从大到小排序。

采用TF-IDF建立文本向量,TF-IDF 是由两部分组成,一部分是TF(Token Frequency),表示一个词在文档中出现的次数,即词频。另一部分是IDF(Inverse Document Frequency),表示某个词出现在多少个文本中(或者解释为有多少个文本包含了这个词),即逆向文档频率。

4.3 分类算法的选择

我们选择svm的原因如下:

(1)非线性映射是SVM方法的理论基础,SVM 利用内积核函数代替向高维空间的非线性映射;

(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心;

(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。

(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题。

(5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义

上避免了“维数灾难”。

(6)少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。这种“鲁棒”性主要体现在:

①增、删非支持向量样本对模型没有影响;

②支持向量样本集具有一定的鲁棒性;

③有些成功的应用中,SVM 方法对核的选取不敏感

4.4 性能评估方法

在性能评估中,我们采用的是计算分类器对于不同分类的准确率和召回率。

4.4.1 准确率(Precision)

准确率:指的是在所有被判断为正确的文档中,有多大比例是确实正确的。

例如:

我们把文件分类这样四类:

A:系统检测到的相关的文档

B:系统检测到的不相关的文档

C:系统没有检测到的相关的文档

D:系统没有检测到的不相关的文档那么我们的计算公式为:

()

+

准确率

P A A B

=/

4.4.2 召回率(Recall)

召回率:指的是在所有确实正确的文档中,有多大比例被我们判断为正确。

例如:我们继续参照上述的例子。

那么我们的计算公式为:

()

召回率R

+

=/A A C

根据上述的两个公式,我们计算出每一类的准确率和召回率,进行比较,今儿对分类器的分类效果进行评估。

5.实验过程

5.1文本分类语料库的采集

我们直接使用搜狗语料库的新闻预料,共有十个类别,每个类别取2000篇作为训练集,另取2000篇作为测试集。这样我们就获得了20000篇的训练集和20000篇的测试集。

相关主题