数据仓库与数据挖掘技术试题答案.docx
- 文档编号:28709374
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:9
- 大小:389.75KB
数据仓库与数据挖掘技术试题答案.docx
《数据仓库与数据挖掘技术试题答案.docx》由会员分享,可在线阅读,更多相关《数据仓库与数据挖掘技术试题答案.docx(9页珍藏版)》请在冰豆网上搜索。
数据仓库与数据挖掘技术试题答案
数据仓库与数据挖掘技术
答案
一、简答
1.为什么需要对数据进行预处理?
数据预处理主要包括哪些工作(需要对数据进行哪些方面预处理)?
(1)现实世界的数据是杂乱的,数据多了什么问题会出现。
数据库极易受到噪音数据(包含错误或孤立点)、遗漏数据(有些感兴趣的属性缺少属性值或仅包含聚集数据)和不一致数据(在编码或者命名上存在差异)的侵扰,因为数据库太大,常常多达几G或更多。
进行数据预处理,提高数据质量,从而提高挖掘结果质量。
(2)数据预处理主要包括:
数据清理:
去除数据中的噪音、纠正不一致;数据集成:
将数据由多个源合并成一致的数据存储,如数据仓库或数据方;数据交换:
规范化或聚集可以改进涉及距离度量的挖掘算法精度和有效性;数据归约:
通过聚集、删除冗余特征或聚类等方法来压缩数据。
数据离散化:
属于数据归约的一部分,通过概念分层和数据的离散化来规约数据,对数字型数据特别重要。
2.什么叫有监督学习?
什么叫无监督学习?
监督学习(Supervisedlearning)是通过发现数据属性和类别属性之间的关联模式,并通过利用这些模式来预测未知数据实例的类别属性。
监督学习又称为分类Classification或归纳学习InductiveLearning。
无监督学习(Unsupervisedlearning)即聚类技术。
在一些应用中,数据的类别属性是缺失的,用户希望通过浏览数据来发现其的某些内在结构。
聚类就是发现这种内在结构的技术。
3.什么是数据仓库的星形模式?
它与雪花模式有何不同?
雪花模式与星形模式不同在于:
雪花模式的维表可能是规范化形式,以便减少冗余。
这种表易于维护,并节省存储空间,因为当维结构作为列包含在内时,大维表可能非常大。
然而,与巨大的事实表相比,这种空间的节省可以忽略。
此外,由于执行查询更多的连接操作,雪花结构可能降低浏览的性能。
这样系统的性能可能受影响。
因此,在数据仓库设计中,雪花模式不如星形模式流行。
二、写出伪代码
三
答:
(1)所有频繁项集为:
[E,K,O][K,M][K,Y]
(2)关联规则:
[O]->[E,K]1.0
[E,O]->[K]1.0
[K,O]->[E]1.0
[M]->[K]1.0
[Y]->[K]1.0
答:
a)决策树表示一种树型结构,它由它的分来对该类型对象依靠属性进行分类。
每个决策树可以依靠对源数据库的分割进行数据测试。
这个过程以递归的方式对树进行修剪。
当不能再分割时,递归完成。
因此决策树不会无限循环。
b)
c)0
d)size
e)Children,SIN,class
public class BayesClassifier
{
private TrainingDataManager tdm;//训练集管理器
private String trainnigDataPath;//训练集路径
private static double zoomFactor = 10.0f;
/**
* 默认的构造器,初始化训练集
*/
public BayesClassifier()
{
tdm =new TrainingDataManager();
}
/**
* 计算给定的文本属性向量X在给定的分类Cj中的类条件概率
* ClassConditionalProbability
连乘值
* @param X 给定的文本属性向量
* @param Cj 给定的类别
* @return 分类条件概率连乘值,即
*/
float calcProd(String[] X, String Cj)
{
float ret = 1.0F;
// 类条件概率连乘
for (int i = 0; i { String Xi = X[i]; ret *=ClassConditionalProbability.calculatePxc(Xi, Cj)*zoomFactor; } // 再乘以先验概率 ret *= PriorProbability.calculatePc(Cj); return ret; } /** * 去掉停用词 * @param text 给定的文本 * @return 去停用词后结果 */ public String[] DropStopWords(String[] oldWords) { Vector for(int i=0;i { if(StopWordsHandler.IsStopWord(oldWords[i])==false) {//不是停用词 v1.add(oldWords[i]); } } String[] newWords = new String[v1.size()]; v1.toArray(newWords); return newWords; } /** * 对给定的文本进行分类 * @param text 给定的文本 * @return 分类结果 */ @SuppressWarnings("unchecked") public String classify(String text) { String[] terms = null; terms= ChineseSpliter.split(text, " ").split(" ");//中文分词处理(分词后结果可能还包含有停用词) terms = DropStopWords(terms);//去掉停用词,以免影响分类 String[] Classes = tdm.getTraningClassifications();//分类 float probility = 0.0F; List for (int i = 0; i { String Ci = Classes[i];//第i个分类 probility = calcProd(terms, Ci);//计算给定的文本属性向量terms在给定的分类Ci中的分类条件概率 //保存分类结果 ClassifyResult cr = new ClassifyResult(); cr.classification = Ci;//分类 cr.probility = probility;//关键字在分类的条件概率 System.out.println("In process ."); System.out.println(Ci + ": " + probility); crs.add(cr); } //对最后概率结果进行排序 java.util.Collections.sort(crs,new Comparator() { public int compare(final Object o1,final Object o2) { final ClassifyResult m1 = (ClassifyResult) o1; final ClassifyResult m2 = (ClassifyResult) o2; final double ret = m1.probility - m2.probility; if (ret < 0) { return 1; } else { return -1; } } }); //返回概率最大的分类 return crs.get(0).classification; } } (1)最临近分类是基于要求的或懒散的学习法。 因为它存放所有训练样本,并且直至新的样本需要分类时才建立分类。 begin 初始化nxn距离矩阵D,初始化混淆矩阵C,设置t=0,TotAcc=0,NumIterations为要迭代次数。 计算所有输入样本和存储在D矩阵中的距离。 Fort=1toNumIterationsdo Setc=0,Ntotal=0 将输入样本划分为k个同等大小的分组 Forfold=1tokdo 指定第fold个样本进行测试,并且使用原来训练样本。 设置Ntest为要测试样本数量。 SetNtotal=Ntotal+Ntest Fori=1toNtestdo 基于样本 计算距离确定k个最邻近训练样本。 确定在k个最邻近样本中最频繁的分类标记 。 在w为真并且对于预测测试样本 分类标记为 时,对混淆矩阵C进行递增1存储为 。 如果 则在混淆矩阵对角线上加1,否则在非对角线上加1。 当 为混淆矩阵对角线元素时,使用 确定分类器的精确度。 计算 .最后计算 end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 数据 挖掘 技术 试题答案