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

上传人:b****8 文档编号:11343522 上传时间:2023-02-28 格式:DOCX 页数:9 大小:42.42KB
下载 相关 举报
数据仓库与及数据挖掘实验报告.docx_第1页
第1页 / 共9页
数据仓库与及数据挖掘实验报告.docx_第2页
第2页 / 共9页
数据仓库与及数据挖掘实验报告.docx_第3页
第3页 / 共9页
数据仓库与及数据挖掘实验报告.docx_第4页
第4页 / 共9页
数据仓库与及数据挖掘实验报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

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

《数据仓库与及数据挖掘实验报告.docx》由会员分享,可在线阅读,更多相关《数据仓库与及数据挖掘实验报告.docx(9页珍藏版)》请在冰豆网上搜索。

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

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

XX邮电大学

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

 

课程名称:

数据仓库与数据挖掘

实验名称:

文本的分类

 

实验完成人:

姓名:

***学号:

*&***

姓名:

**学号:

**

 

日期:

 

实验一:

文本的分类

1.实验目的

◆掌握数据预处理的方法,对训练集数据进行预处理;

◆掌握文本分类建模的方法,对语料库的文档进行建模;

◆掌握分类算法的原理,基于有监督的机器学习方法,训练文本分类器;

◆了解SVM机器学习方法,可以运用开源工具完成文本分类过程。

 

2.实验分工

***:

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

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

***:

(1)数据采集和预处理

(2)分词

3.实验环境

Ubuntu13.04+jdk1.7

4.主要设计思想

4.1实验工具介绍

1.NLPIR_ICTCLAS2013

NLPIR(又名ICTCLAS2013),是由中科院张华平博士倾力打造的汉语分词系统。

其主要功能包括中文分词、词性标注、命名实体识别、用户词典功能、支持GBK编码、UTF8编码、BIG5编码等。

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

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

2.EclipseforJava

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

3.LibSVM

本次实验中我们采用的是台湾大学林智仁博士等开发设计的LIBSVM方法。

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

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

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

首先根据特征提取算法对特征的重要性进行评估,然后进行重要度排序,最后根据提取阈值或提取比率完成提取。

提取后的特征集将用于之后的训练和分类过程。

常用特征提取算法有文档频数(DocumentFrequency)、信息增益(informationGain)、期望交叉熵(expectedcrossentropy)、互信息(MutualInformation)等。

本次实验采用信息增益法进行特征词提取,它是一个基于嫡的评价方法,涉及嫡理论公式,定义为某特征在文档中出现前后的信息嫡之差。

根据训练数据,计算出各个单词的信息增益,删除信息增益很小的词,其余的按照信息增益从大到小排序。

采用TF-IDF建立文本向量,TF-IDF是由两部分组成,一部分是TF(TokenFrequency),表示一个词在文档中出现的次数,即词频。

另一部分是IDF(InverseDocumentFrequency),表示某个词出现在多少个文本中(或者解释为有多少个文本包含了这个词),即逆向文档频率。

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:

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

那么我们的计算公式为:

4.4.2召回率(Recall)

召回率:

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

例如:

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

那么我们的计算公式为:

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

5.实验过程

5.1文本分类语料库的采集

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

这样我们就获得了20000篇的训练集和20000篇的测试集。

5.2数据预处理

5.2.1文本格式预处理

原始的新闻按文件夹划分类别,同一个类别在同一个文件夹下,每篇新闻占一个文件。

首先我们把所有文章整理到一个文件中,并标上类型号,这样便于后期处理。

5.2.2分词和去停用词处理

对语料库进行分词处理阶段,我们采用中科院研发的汉语分词软件NLPIR。

我们为了对大量的文本进行分词,在NLPIR中又添加了一个批处理函数,对NLPIR进行调用,对大量文本进行分词处理。

通过更改NLPIR的参数,我们获取了带有词性标注的大量分词后的文本文件。

然后我们利用模式匹配的方法把所有分名词过滤掉,然后根据停用词表除去停用词。

5.3特征提取和表达

5.3.1特征词提取

本次实验我们采用信息增益法进行特征词提取。

提取特征词1000个。

将分词,取名词,去停用词后的每篇文章统一整理到一篇文本中。

每篇文章作为一行记录出现,这样便于采用信息增益法计算每个单词的信息增益值。

它是一个基于嫡的评价方法,涉及较多的数学理论和复杂的嫡理论公式,定义为某特征在文档中出现前后的信息嫡之差。

根据训练数据,计算出各个单词的信息增益,删除信息增益很小的词,其余的按照信息增益从大到小排序。

信息增益评估函数被定义为

IG(t)=P(t)*P(Ci|t)*log(P(Ci|t)/P(Ci))+P(tn)*Σ(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是由两部分组成,一部分是TF(TokenFrequency),表示一个词在文档中出现的次数,即词频。

另一部分是IDF(InverseDocumentFrequency),表示某个词出现在多少个文本中(或者解释为有多少个文本包含了这个词),即逆向文档频率,通常由公式IDFt=log((1+|D|)/|Dt|),其中|D|表示文档总数,|Dt|表示包含关键词t的文档数量。

根据上述原理,我们把训练集转化为libsvm所支持的向量格式。

LIBSVM的训练集格式如下:

lable1index1:

featureValue1index2:

featureValue2index3:

featureValue3...

lable2index1:

featureValue1index2:

featureValue2index3:

featureValue3...

对应到文本分类上就是:

类别ID特征序号:

特征值(TFIDF值)......

5.4训练过程

我们利用libsvm提供的grid.py工具对训练集进行参数寻优,并得到参数:

c=128.0g=3.0517578125e-05,然后利用这组参数对训练集进行训练,得到模型文件。

5.5测试过程

我们对测试集进行同样的分词与去停用词等操作,然后根据训练得到的模型文件,对其进行预测。

然后,分析预测输出文件和初始的测试文件,得到相关统计数据。

5.6实验结果和性能评估

训练集:

20000篇

测试集:

20000篇

特征提取后字典大小:

1000词

训练时间:

92.7s

测试时间:

80s

平均准确率:

83%

具体准确率与召回率如图5-1所示:

图5-1预测结果准确率与召回率

预测结果混淆矩阵如图5-2所示:

 

军事

文化

教育

经济

女性

体育

汽车

娱乐

军事

IT

军事

0

35

21

8

50

0

0

18

24

11

文化

44

0

19

23

38

36

5

69

45

18

教育

23

33

0

16

25

3

3

23

8

36

经济

1

11

6

0

2

0

2

4

3

3

女性

48

56

44

20

0

3

3

16

28

18

体育

3

45

5

17

4

0

1

9

7

0

汽车

2

8

14

15

7

1

0

21

0

17

娱乐

17

70

17

22

9

2

7

0

1

9

军事

26

68

19

15

61

6

2

25

0

13

IT

17

38

70

15

20

1

23

37

12

0

6实验总结

通过这次实验,学习了文本分类的常规步骤,认识了一些分类方法的原理和使用方法。

同时锻炼了编程编程能力。

最关键的是获得了对数据挖掘领域的兴趣。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1