




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章
数据挖掘绪论Contents数据挖掘概述1.1数据获取1.2数据挖掘的流程1.3本章小结1.4数据存储-生活中的数据数据源多样数据存储-生活中的数据数据的收集和存储以巨大的速度进行(GB/小时)微信每天发送消息450亿条,超过4亿次音视频呼叫。微博内容存量己超过千亿Facebook每天发送20多亿条消息。Twitter每天产生5800万条微博YouTube用户数达到13.25亿,每分钟上传视频的总时长达到300小时,每天的视频播放量达49.5亿次,每月的视频播放总时长达32.5亿小时2020年,抖音仅由大学生发布的视频播放量累计超过300万亿次,分享量27亿次2021年我国医学影像扫描量增长至29.33亿次,2022年扫描量进一步增长至31.15亿次左右80x增加的数据数据存储-生活中的数据数据类型数据计算IDC机房冷却装置有数据难利用数据分析师发现一条有用信息需要数周的时间因此,大量信息从来没有被分析过,出现“数据丰富,知识匮乏”现象Totalnewdisk(TB)since1995Numberofanalysts数据鸿沟挖掘?仓储?1.1.1数据挖掘的定义1.1.1数据挖掘的定义数据挖掘(DataMining)是通过特定算法对大量数据进行处理和分析以发现数据中的模式、趋势或关联性的过程数据挖掘技术利用机器学习和统计学方法,从海量、不完整、受噪声干扰的数据中提取出先前未知的、潜在有用的隐含信息,并将其转化为可理解的知识数据挖掘也被称作知识发现1.1.1数据挖掘的定义数据挖掘的过程可以大致分为四个阶段:问题分析:了解业务背景和数据来源,分析数据的特点和分布,明确任务目标和需求。数据预处理:数据挖掘中非常重要的一步,涉及数据清洗、数据集成、数据转换与规范化、数据规约和特征提取等步骤。数据挖掘:整个过程中最核心的部分,研究者需要根据业务需求和数据特点,建模合适的算法模型,并进行模型训练和参数调优。结果评估:旨在评估数据挖掘结果的准确性和可靠性。在这个阶段,需要使用一些评估指标对挖掘结果进行评估。还需要对挖掘结果进行解释和可视化以帮助业务人员更好地理解挖掘结果。1.1.1数据挖掘的定义数据挖掘技术面临着新的挑战和机遇一方面,随着数据规模急剧增长、数据类型越发丰富,使得传统计算资源和数据挖掘算法已经难以满足大数据处理和分析的需求。另一方面,数据挖掘与机器学习、深度学习等技术的结合将为知识发现带来更大的发展空间。未来,数据挖掘将在各个领域发挥更加重要的作用,为人类社会的发展和进步带来更多的机遇。1.1.2数据挖掘的应用领域商业领域:在市场营销中,数据挖掘可以帮助企业识别目标客户群体,制定个性化的营销策略。1.1.2数据挖掘的应用领域医疗领域:在疾病诊断中,数据挖掘可以帮助医生分析患者的医疗记录和症状,提高诊断的准确性和效率。1.1.2数据挖掘的应用领域金融领域:在风险管理中,数据挖掘可以帮助银行和风投机构评估贷款申请人的信用风险和投资收益。1.1.2数据挖掘的应用领域政府领域:在城市规划中,数据挖掘可以分析人口、交通、环境等数据,为城市规划提供科学依据。1.1.3数据挖掘的基本任务数据挖掘的基本任务主要可以分为以下几类:分类与预测:根据已知的数据特征,将数据项划分到预先定义的类别中。聚类分析:将数据集中的数据项按照其相似性进行分组的过程。聚类的目标是在没有预先定义类别的情况下,发现数据中的内在结构和关系。关联规则挖掘:主要用于发现数据项之间的有趣关系。序列模式挖掘:发现数据项之间的时间序列关系的过程。异常检测:数据挖掘中用于发现与大多数数据项显著不同的数据项的过程。这些异常数据项可能表示错误、欺诈或其他特殊情况。1.1.4数据挖掘学习资源学术资源:CCF-A类通常包括国际上公认的顶级会议和顶级期刊CCF-A推荐会议:ACMConferenceonManagementofData(SIGMOD)ACMSIGKDDConferenceonKnowledgeDiscoveryandDataMining(KDD)IEEEInternationalConferenceonDataMining(ICDM)InternationalConferenceonDataEngineering(ICDE)InternationalConferenceonMachineLearning(ICML)InternationalConferenceonVeryLargeDataBases(VLDB)InternationalJointConferenceonArtificialIntelligence(IJCAI)AssociationfortheAdvancementofArtificialIntelligence(AAAI)1.1.4数据挖掘学习资源CCF-A推荐期刊:JournalofMachineLearningResearch(JMLR)IEEETransactionsonKnowledgeandDataEngineering(TKDE)ACMTransactionsonDatabaseSystems(TODS)ACMTransactionsonInformationSystems(TOIS)TheVLDBJournal1.1.4数据挖掘学习资源XindongWuZhihuaZhouJiaweiHanJianPeiQiangYangChih-JenLinHangLiChangshuiZhang1.1.4数据挖掘学习资源数据挖掘比赛资源阿里天池:/Kaggle:/滴滴:/1.1.4数据挖掘学习资源数据集下载资源UCI数据集:/CMU数据集:/datasets//afs//project/theo-20/www/data/时序数据集:/~reinsel/bjr-data/金融数据集:http://lisp.vse.cz/pkdd99/Challenge/chall.htm癌症基因数据集:/cgi-bin/cancer/datasets.cgi综合数据集:/~roweis/data.html数据集列表:/datasets/index.html美国政府开放数据:中国地方政府开放数据:北京/上海1.1.4数据挖掘学习资源在线学习平台Coursera:提供众多数据挖掘和数据科学相关的在线课程,由世界顶尖大学和机构讲授。/edX:提供包括数据挖掘在内的数据科学课程,同样来自世界著名大学。/Udemy:提供广泛的实践导向的数据挖掘课程,适合自学者。/1.1.5数据挖掘的常用工具Python语言易用性、灵活性、拥有大量的第三方库和工具包广泛用于数据分析和数据挖掘。R语言拥有大量的统计和数据挖掘包在生物信息学、金融分析等领域广泛应用Weka开源的数据挖掘工具丰富的数据挖掘算法和可视化界面Weka易于使用,适用于初学者和专业用户1.1.5数据挖掘的常用工具RapidMiner支持数据挖掘的整个流程适用于各种规模和复杂度的数据挖掘项目Orange支持数据预处理、聚类分析、分类等多种数据挖掘任务提供数据可视化、交互式数据探索等功能适用于数据分析和机器学习的初学者和专业用户IBMSPSS综合性的统计分析和数据挖掘软件直观的图形用户界面适用于研究人员、数据分析师、市场研究人员、政策制定者等专业人士1.1.6数据挖掘的主要算法数据挖掘十大经典算法决策树分类器C4.5(分类算法):C4.5算法可以处理数值属性和缺失值,并且能够从数据中生成规则。此外,C4.5还支持不完整的数据集,并且能够处理连续属性。k-均值算法(聚类算法):k-均值(k-Means)算法是一种聚类算法,用于将数据划分为k个簇。k-Means简单高效,但需要预先指定k值,并且对初始簇中心的选择敏感。支持向量机(分类算法):支持向量机(SupportVectorMachine,SVM)是一种强大的分类算法,它通过找到数据点之间的最大边界来区分不同的类别。SVM在小样本情况下表现良好,并且可以应用于回归问题。1.1.6数据挖掘的主要算法Apriori算法(频繁模式分析算法):Apriori算法是一种频繁项集挖掘算法,主要用于关联规则学习。它基于先验原则,即如果一个项集频繁出现,那么它的所有子集也必然频繁出现。最大期望估计算法(聚类算法):期望最大化(Expectation-Maximization)算法是一种用于估计概率模型参数的迭代算法。它特别适用于存在缺失数据的情况。PageRank算法(排序算法):PageRank是由Google创始人开发的算法,用于网页排名。它基于网页之间的链接关系,认为一个网页的重要性由指向它的网页的数量和质量决定。PageRank算法通过迭代计算每个网页的排名值,直到收敛。AdaBoost算法(集成弱分类器):AdaBoost是一种集成学习方法,通过结合多个弱分类器来构建一个强分类器。1.1.6数据挖掘的主要算法k-近邻分类算法(分类算法):k-近邻(k-NearestNeighbors)分类算法是一种基于实例的学习算法,它通过查找测试数据点的k个最近邻居来进行分类或回归。kNN简单直观,但计算成本较高,因为需要对每个测试数据点进行距离计算。朴素贝叶斯算法(分类算法):朴素贝叶斯(NaiveBayes)是一种基于贝叶斯定理的分类算法,它假设所有特征都是相互独立的。分类与回归树算法(聚类算法):分类与回归树(ClassificationandRegressionTrees,CART)算法是一种基于决策树的分类算法,既可以用于分类也可以用于回归。CART可以处理数值和类别属性,并且可以生成易于理解的模型。Contents数据挖掘概述1.1数据获取1.2数据挖掘的流程1.3本章小结1.41.2数据获取端到端机器学习的大部分时间都花费在数据准备工作之上,包括获取、清洗、分析、可视化和特征工程等。数据获取不仅是简单地收集数据,而是一个综合考量数据源选择、数据采集方法、数据质量保证以及合规性等多方面因素的复杂过程。Sections1.2.1数据类型和来源1.2.2数据采集技术1.2.3数据标注技术1.2.4数据存储与管理1.2.5数据质量与评估1.2.1数据类型与来源数据类型可以根据数据的结构化程度分为结构化数据非结构化数据半结构化数据idnamegender1张三female2王二male3李四female结构化数据半结构化数据非结构化数据1.2.1数据类型与来源数据来源往往是多种多样的,包括但不限于以下几类:内部数据源:企业或组织内部生成的数据。公共数据集:由政府、非营利组织或研究机构发布的数据集。互联网数据:从网站、社交媒体平台和其他在线资源获取的数据。传感器数据:通过各种传感器和监测设备收集的数据。商业数据:咨询或数据服务公司发布的数据。众包数据:通过大量用户的参与和贡献收集的数据。网络爬虫:使用自动化工具从互联网上抓取和提取数据。Sections1.2.1数据类型和来源1.2.2数据采集技术1.2.3数据标注技术1.2.4数据存储与管理1.2.5数据质量与评估数据采集旨在找到可用于训练模型的数据集数据发现:用户能够找到、理解并访问相关数据集的过程。数据增强:通过在原始数据集上应用一系列变换,增加数据的多样性。数据生成:使用人工构建或自动化构建方法构建额外的数据集。1.2.2数据采集技术数据发现通常包括以下几个步骤:需求分析:与利益相关者进行深入沟通,以明确数据需求和业务目标。数据检索:从更广泛的数据资源中寻找特定的数据集或信息。精确地定位到数据源。数据预览:查看数据样本以评估数据的质量和相关性。数据访问:下载数据、使用API调用或通过数据集成工具将数据导入到分析平台。数据发现需求分析需求分析的核心是与利益相关者进行深入沟通,以明确他们的数据需求和业务目标,理解用户对数据的期望和使用场景。这一阶段的目的是确保数据发现工作与数据挖掘目标保持一致,并为后续步骤提供清晰的指导。数据发现数据发现数据检索互联网分布大量结构化数据,基于Web的检索方法自动提取有用的数据集例如,WebTables提取所有维基百科信息,GoogleDatasetSearch服务能够搜索Web上数以千计的数据存储库。GoogleImageSearchDragandDrop数据检索和数据共享之间存在密切关系数据共享平台:GitHub、Datahub、Kaggle、GoogleFusion这些平台为用户提供了一个集中、整理和共享数据的平台,用户可以直接获取并开始分析和应用数据。数据发现数据发现数据预览数据样本查看评估数据的质量和相关性样本记录检查检查数据的结构和字段目的确保数据集满足分析需求评估数据的完整性、准确性和一致性识别缺失值、异常值和重复记录数据发现数据访问数据访问关键考虑因素数据安全性与合规性处理数据的版权和隐私问题存储格式与转换需求确保数据可以被分析工具有效处理数据采集旨在找到可用于训练模型的数据集,主要包括三种技术数据发现:用户能够找到、理解并访问相关数据集的过程。数据增强:通过在原始数据集上应用一系列变换,增加数据的多样性。数据生成:使用人工构建或自动化构建方法构建额外的数据集。1.2.2数据采集技术常见数据增强方法:几何变换翻转、旋转、缩放、裁剪等操作颜色变换调整图像亮度、对比度、饱和度等属性噪声注入添加高斯噪声、椒盐噪声等Mixup和CutMix通过线性插值混合样本或部分样本生成新数据点推导潜在语义利用外部工具给数据增加细粒度标签或Caption数据集成整合多个来源或变种的数据,扩展和丰富数据集数据增强数据增强图1.几何变换图4.颜色变换图3.Mix图2.噪声注入数据采集旨在找到可用于训练模型的数据集数据发现:用户能够找到、理解并访问相关数据集的过程。数据增强:通过在原始数据集上应用一系列变换,增加数据的多样性。数据生成:使用人工构建或自动化构建方法构建额外的数据集。1.2.2数据采集技术数据生成数据生成方法人工构建众包:通过收集和预处理数据生成新数据集数据收集:在众包平台发布任务,招募志愿者完成数据收集数据预处理:管理、解析、连接数据集等操作自动化构建数据合成:利用算法生成新的合成数据数据生成自动化合成数据和标签:低成本和灵活性
生成对抗网络(GenerativeAdversarialNetworks,
GANs)面向特定应用程序的自动化生成技术GANs旨在训练两个相互竞争的神经网络:生成网络和判别网络生成网络学习从潜在空间映射到数据分布,判别网络从生成网络产生的候选者中区分真实分布MEDGAN基于真实患者记录信息生成具有高维离散变量特征的合成患者记录数据生成面向特定应用的生成技术合成图像的自动生成合成文本数据的自动生成使用人类定义的策略对原始数据进行变换自动合成的新数据Sections1.2.1数据类型和来源1.2.2数据采集技术1.2.3数据标注技术1.2.4数据存储与管理1.2.5数据质量与评估1.2.3数据标注技术数据标注的目的在于标记单个示例,主要包括:利用现有标签:利用任何已经存在的标签基于众包技术:使用众包技术标记单个示例弱监督学习方法:在较低成本的前提下生成弱标签利用现有标签少量标注数据和大量未标注数据分类算法:模型为每个样本返回一个或多个潜在的类别标签。回归算法:模型为每个样本返回对应某个类别的概率值。基于图标签传播的算法:从有限标记示例数据集开始,在图结构中基于示例的相似性推断剩余示例的标签。预测结果分类模型Label1Label2Label3回归模型…0.90.8DogCat样本数据基于众包技术众包标注方法定义标注说明提供详细的标注任务说明任务分发通过网络平台将任务分发给标注工人数据标注员数据标注发布者客户端人工质检员客户端机器质检员客户端基于众包技术主动学习定义选择最有益于模型训练的数据样本的策略工作流程选择数据样本分发给众包工人进行标注弱监督学习方法背景需要大量数据标注,但人工成本高昂定义通过多种弱监督信号满足数据标注任务需求Snorkel结合多种弱监督信号,生成更准确的标签Sections1.2.1数据类型和来源1.2.2数据采集技术1.2.3数据标注技术1.2.4数据存储与管理1.2.5数据质量与评估1.2.4数据存储与管理数据备份创建数据副本。数据安全保护数据免受未授权访问、数据泄露、篡改和破坏的一系列措施。数据调用从存储介质或数据仓库中检索特定数据或信息。数据备份备份类型本地备份远程备份云存储备份策略的重要性确保数据在灾难性事件中的保护与恢复防范数据丢失和损坏的风险数据安全加密技术保护数据在存储和传输中的安全性访问控制限制对敏感数据的访问权限网络安全措施防止黑客攻击和病毒感染数据调用性能优化和查询优化:高效的数据存储和索引策略快速响应用户的查询请求实时数据处理ApacheKafka、ApacheFlink等数据安全和隐私保护确保数据在调用过程中的安全性和隐私保护集成和自动化与其他系统集成,实现数据的获取和整合提高数据调用系统的效率和自动化程度Sections1.2.1数据类型和来源1.2.2数据采集技术1.2.3数据标注技术1.2.4数据存储与管理1.2.5数据质量与评估1.2.5数据质量评估从数据质量维度进行数据质量评估主要涉及准确性(Accuracy)数据是否正确反映了现实世界的事实。完整性(Completeness)数据集是否包含了所有必需的数据项。一致性(Consistency)数据在不同时间、空间和系统中的一致性。及时性(Timeliness)数据从产生到可用的时间。可比性(Comparability)数据在不同情况下的可比性。适用性(Relevance)数据是否满足用户的需求。可获得性(Accessibility)用户获取数据的难易程度。经济性(Cost-Effectiveness)数据的生产成本与效益之比。Contents数据挖掘概述1.1数据获取1.2数据挖掘的流程1.3本章小结1.41.3数据挖掘的流程数据挖掘是一个复杂且系统的过程,包括:业务理解与问题定义数据获取与预处理数据挖掘结果分析与应用(可视化)1.3.1业务理解与问题定义在数据挖掘的过程中,业务理解与问题定义是第一步。研究者需要与业务人员密切合作,深入了解业务需求,明确数据挖掘所解决的问题。包括:业务环境业务流程业务数据1.3.2数据获取与预处理数据的质量和完整性直接影响到后续分析的准确性和效果。主要需要注意:数据来源数据清洗和预处理数据探索性分析1.3.3数据挖掘数据挖掘是整个流程中的核心环节根据数据类型和问题类型来选择合适的模型分类模型回归模型考虑数据特征确定编码方式确定数据处理方式1.3.3数据挖掘使用独立的测试数据集对模型进行评估确保评估结果的客观性和准确性注意避免过拟合和欠拟合问题:过拟合:模型在训练数据上表现过好,但在测试数据上表现不佳欠拟合:模型在训练数据和测试数据上的表现都不佳1.3.4结果分析与应用(可视化)结果分析根据业务需求和问题背景,对模型的输出结果进行解释和阐述揭示数据背后的规律和趋势结果可视化从不同维度分析结果变化或趋势快速定位数据挖掘结果体现的核心问题结果应用将模型应用于实际业务场景将模型的输出结果与实际业务需求相结合Contents数据挖掘概述1.1数据获取1.2数据挖掘的流程1.3本章小结1.4本章小结本章首先定义了数据挖掘的基本概念。强调了数据挖掘在现代决策过程中的重要性,尤其是在处理和分析大数据方面。接着,探讨了数据挖掘的基本任务。每个任务都有其独特的目标和应用场景,它们共同构成了数据挖掘的核心。通过这些任务,数据挖掘能够帮助我们从数据中发现知识,支持更加明智的决策。讨论了数据挖掘的广泛应用领域。这些应用展示了数据挖掘如何跨越不同行业,为各种问题提供解决方案。最后,详细介绍了数据挖掘的标准流程。每个步骤都是数据挖掘成功实施的关键,需要仔细考虑和执行。ThankYou!数据挖掘中的预处理Contents数据挖掘过程概述01数据准备02数据预处理03数据挖掘的对象(1)关系型数据库、事务型数据库、面向对象的数据库;(2)数据仓库/多维数据库;(3)空间数据(如地图信息)(4)工程数据(如建筑、集成电路的信息)(5)文本和多媒体数据(如文本、图象、音频、视频数据)(6)时间相关的数据(如历史数据或股票交换数据)(7)万维网(如半结构化的HTML,结构化的XML以及其他网络信息)数据挖掘的步骤(1)数据清理(消除噪音或不一致数据,补缺);(2)数据集成(多种数据源可以组合在一起);(3)数据选择(从数据库中提取相关的数据);(4)数据变换(变换成适合挖掘的形式);(5)数据挖掘(使用智能方法提取数据模式);(6)模式评估(识别提供知识的真正有趣模式);(7)知识表示(可视化和知识表示技术)。Contents数据挖掘过程概述01数据准备02数据预处理03数据准备现实世界的数据是不完整的(有些感兴趣的属性缺少属性值,或仅包含聚集数据),含噪音的(包含错误,或存在偏离期望的异常值),不一致的(例如,用于商品分类的部门编码存在差异)。需要数据清理、数据集成、数据选择、数据变换等技术对数据进行处理。
数据准备——维归约/特征提取决策树归约(1)决策树归约构造一个类似于流程图的结构:其每个非叶子结点表示一个属性上的测试,每个分枝对应于测试的一个输出;每个叶子结点表示一个决策类。(2)在每个结点,算法选择“当前对分类最有帮助”的属性,出现在树中的属性形成归约后的属性子集。数据准备——维归约/特征提取粗糙集归约(1)粗糙集理论在数学意义上描述了知识的不确定性,它的特点是把用于分类的知识嵌入集合内,使分类与知识联系在一起。(2)知识的粒度、不可分辨关系、上近似、下近似、边界等概念见下图。数据准备——维归约/特征提取粗糙集归约(3)令Q代表属性的集合。q∈Q是一个属性,如果IND(Q−q)=IND(Q),则q在S中不是独立的;否则称q在S中是独立的。(4)若集合满足IND(R)=IND(Q)且R中的每一个属性都是独立的,则R被称为Q的一个“约简”,记作R=RED(Q)。(5)约简可以通过删除冗余的(不独立的)属性而获得,约简包含的属性即为“对分类有帮助”的属性。数据准备——数据变换归一化与模糊化有限区间的归一化:无限区间的归一化:模糊隶属度:数据准备——数据变换核函数(1)核函数的基本思想是将在低维特征向量线性不可分的数据映射到线性可分的高维特征空间中去。(2)映射可以是显式的,也可以是隐式的。显式映射即找到一个映射关系f,使高维空间的特征向量f(x)可以被直接计算出来。(3)隐式映射,即引入一个核函数进行整体处理,就避免了对的直接求f(x)的计算困难。核函数即某高维特征空间中向量的内积,是核矩阵中的一个元素。(4)并不是所有的实值函数f(x)都可以作为空间映射的核函数,只有f(x)是某一特征空间的内积时,即符合Mercer条件,它才能成为核函数。数据准备——数据变换核函数多项式函数:
高斯(RBF)函数:
多层感知机函数:低维空间向量映射到高维空间向量举例:
数据准备——数据压缩离散化离散化的用途:(1)适应某些仅接受离散值的算法;(2)减小数据的尺度。离散化的方法包括几下几种。(1)等距分割;(2)聚类分割;(3)直方图分割;(4)基于熵的分割;(5)基于自然属性的分割。数据准备——数据压缩回归回归和对数线性模型可以用来近似给定的数据。在线性回归中,用一条直线来模拟数据的生成规则。多元回归是线性回归的扩展,涉及多个预测变量。在多项式回归中,通过对变量进行变换,可以将非线性模型转换成线性的,然后用最小平方和法求解。数据准备——数据压缩回归利用线性回归可以为连续取值的函数建模。广义线性模型则可以用于对离散取值变量进行回归建模。在广义线性模型中,因变量Y的变化速率是Y均值的一个函数;这一点与线性回归不同。常见的广义线性模型有:对数回归和泊松回归。对数回归模型是利用一些事件发生的概率作为自变量所建立的线性回归模型。泊松回归模型主要是描述数据出现次数的模型,因为它们常常表现为泊松分布。数据准备——数据压缩主成分分析(PCA)PCA算法搜索c个最能代表数据的k-维正交向量;这里c
k。这样,原来的数据投影到一个较小的空间,导致数据压缩。步骤如下:(1)对输入数据归一化,使得每个属性都落入相同的区间。(2)PCA计算c个规范正交向量,作为归一化输入数据的基。这些是单位向量,每一个都垂直于另一个:称为主成分。输入数据是主要成分的线性组合。(3)对主成分按“意义”或强度降序排列,选择部分主成分充当数据的一组新坐标轴。
数据准备——数据压缩离散小波变换(DWT)离散小波变换是一种线性信号处理技术。该技术方法可以将一个数据向量转换为另一个数据向量(为小波相关系数);且两个向量具有相同长度。可以舍弃转换后的数据向量中的一些小波相关系数。保留所有大于用户指定阈值的小波系数,而将其它小波系数置为0,以帮助提高数据处理的运算效率。这一技术方法可以在保留数据主要特征情况下除去数据中的噪声,因此该方法可以有效地进行数据清洗。给定一组小波相关系数,利用离散小波变换的逆运算还可以近似恢复原来的数据。Contents数据挖掘过程概述01数据准备02数据预处理03数据预处理什么是数据预处理?数据挖掘的前提:真实世界中的数据来源复杂、体积巨大,往往难以避免地存在缺失、噪声、不一致等问题。为了提高数据挖掘的质量,产生了数据预处理技术。数据和特征决定了机器学习的上限,而所选模型和算法只是去逼近这个上限。数据预处理为什么做数据预处理?通过特征提取,我们能得到未经处理的特征,这时的特征可能有以下问题:不属于同一量纲:即特征的规格不一样,不能够放在一起比较。信息冗余:对于某些定量特征,其包含的有效信息为区间划分,例如学习成绩,假若只关心“及格”或不“及格”,那么需要将定量的考分,转换成“1”和“0”表示及格和未及格定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,那么需要将定性特征转换为定量特征。存在缺失值:缺失值需要补充。信息利用率低:不同的机器学习算法和模型对数据中信息的利用是不同的。当数据的维数过高时还会存在所谓的“维数灾难(Curseofdimensionality)”问题,过高的维度不仅增加了计算量,反而可能会降低算法的效果。数据预处理常见数据预处理方法数据清洗处理数据的某些纪录值缺失,平滑数据中的噪声、发现异常值,改正不一致等。数据融合将不同来源的、异质的数据融合到一起。良好的数据融合可以减少数据中的冗余和不一致性,进而提升后续步骤的精度和速度。数据转换通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘的形式。数据降维将高维度数据化为低维度数据,仍保持原数据的大部分信息,使数据挖掘结果与降维前结果相同或几乎相同。数据预处理——数据清洗缺失值处理缺失值在实际数据中是不可避免的问题,对于不同的数据场景应该采取不同的策略,首先应该判断缺失值的分布情况:如果缺失值极少且这个维度信息不重要,一般删除它们对于整体数据情况影响不大;如果缺失值较多或这个维度的信息还很重要的时候,直接删除会对后面的算法跑的结果造成不好的影响。数据预处理——数据清洗缺失值处理我们常用的方法有以下几种:直接删除——适合缺失值数量较小,并且是随机出现的,删除它们对整体数据影响不大的情况;使用一个全局常量填充——譬如将缺失值用“Unknown”等填充,但是效果不一定好,因为算法可能会把它识别为一个新的类别,一般很少用;使用均值或中位数代替:
优点:不会减少样本信息,处理简单。缺点:当缺失数据不是随机数据时会产生偏差,对于正常分布的数据
可以使用均值代替,如果数据是倾斜的,使用中位数可能更好。数据预处理——数据清洗缺失值处理插补法
1)随机插补法——从总体中随机抽取某个样本代替缺失样本
2)多重插补法——通过变量之间的关系对缺失数据进行预测,例如利用蒙特卡洛方法
生成多个完整的数据集,在对这些数据集进行分析,最后对分析结果进行汇总处理
3)热平台插补——指在非缺失数据集中找到一个与缺失值所在样本相似的样本(匹配
样本)利用其中的观测值对缺失值进行插补。
4)拉格朗日差值法和牛顿插值法建模法——可以用回归、使用贝叶斯形式化方法的基于推理的工具或决策树归纳确定。例如,利用数据集中其他数据的属性,可以构造一棵判定树,来预测缺失值的值。
以上方法各有优缺点,具体情况要根据实际数据分分布情况、倾斜程度、缺失值所占比例等等来选择方法。一般而言,建模法是比较常用的方法,它根据已有的值来预测缺失值,准确率更高。数据预处理——数据清洗异常值处理异常值我们通常也称为“离群点”(outlier),即在样本空间中,与其他样本点的一般行为或特征不一致的点。一般可能有如下产生原因:计算的误差或者操作的错误所致,比如:某人的年龄
-999
岁,这就是明显由误操作所导致的离群点;数据本身的可变性或弹性所致,比如:一个公司中
CEO
的工资肯定是明显高于其他普通员工的工资,于是
CEO
变成为了由于数据本身可变性所导致的离群点。注意:离群点不一定是无用数据,它也许正是用户感兴趣的,比如在欺诈检测领域,那些与正常数据行为不一致的离群点,往往预示着欺诈行为,因此成为执法者所关注的。数据预处理——数据清洗异常值处理常见异常值检测方法:基于统计分布的离群点检测
这类检测方法假设样本空间中所有数据符合某个分布或者数据模型,然后根据模型采用不和谐校验(discordancytest)识别离群点。例如:1)3∂原则如果数据服从正态分布,在3∂原则下,异常值为一组测定值中与平均值的偏差超过3倍标准差的值。如果数据服从正态分布,距离平均值3∂之外的值出现的概率为P(|x-u|>3∂)<=0.003,属于极个别的小概率事件。如果数据不服从正态分布,也可以用远离平均值的多少倍标准差来描述。2)箱型图分析
箱型图提供了识别异常值的一个标准:如果一个值小于QL-1.5IQR或大于QU-1.5IQR的值,则被称为异常值。QL为下四分位数,表示全部观察值中有四分之一的数据取值比它小;QU为上四分位数,表示全部观察值中有四分之一的数据取值比它大;IQR为四分位数间距,是上四分位数QU与下四分位数QL的差值,包含了全部观察值的一半。箱型图判断异常值的方法以四分位数和四分位距为基础,四分位数具有鲁棒性:25%的数据可以变得任意远并且不会干扰四分位数,所以异常值不能对这个标准施加影响。因此箱型图识别异常值比较客观,在识别异常值时有一定的优越性。数据预处理——数据清洗异常值处理常见异常值检测方法:基于距离的离群点检测通常可以在对象之间定义邻近性度量,异常对象是那些远离其他对象的对象。如果样本空间D中至少有N个样本点与对象O的距离大于dmin,那么称对象O是以{至少N个样本点}和dmin为参数的基于距离的离群点。优点:简单;缺点:基于邻近度量的方法需要O(m^2)时间,大数据集不适用;该方法对参数的选择也是敏感的,不同的距离度量其结果也不一样;不能处理具有不同密度区域的数据集,因为它使用全局阈值,不能考虑这
种密度的变化。数据预处理——数据清洗异常值处理常见异常值检测方法:基于密度的局部离群点检测当一个点的局部密度显著低于它的大部分近邻时才将其分类为离群点。适合非均匀分布的数据。不同于基于距离的方法,基于密度的离群点检测不将离群点看做一种二元性质,即不简单用YesorNo来断定一个点是否是离群点,而是用一个权值来评估它的离群度。它是局部的,意思是该程度依赖于对象相对于其领域的孤立情况。这种方法可以同时检测出全局离群点和局部离群点。优点:给出了对象是离群点的定量度量,并且即使数据具有不同的区域也能够很好的处理;缺点:基于距离的方法一样,具有O(m^2)的时间时间复杂度,对于低维数据使用特定的数据结构可
以
达到O(mlogm);参数选择困难。仍然需要选择这些离群度的上下界。数据预处理——数据清洗异常值处理处理方法:删除异常值——明显看出是异常且数量较少可以直接删除不处理——如果算法对异常值不敏感则可以不处理,但如果算法对异常值敏感,则最好不要用,如基于距离计算的一些算法,包括kmeans,knn之类的。平均值替代——损失信息小,简单高效。视为缺失值——可以按照处理缺失值的方法来处理数据预处理——数据清洗数据去重数据重复在实际生活中很常见,在一些数据挖掘模型中,这些冗余的数据加大了数据分析的难度和处理速度,因此需要对数据去重。常见方法:遍历数据搜索,复杂度高,仅适用于数据规模较小的情形。哈希表示,生成数据指纹,简单高效,适用于大规模数据,代表算法:1)Bitmap:位图法2)SimHash:相似哈希3)布隆过滤器数据预处理——数据清洗数据去噪噪声,是被测量变量的随机误差或方差。我们在上文中提到过异常点(离群点),那么离群点和噪音是不是一回事呢?观测量(Measurement)=真实数据(TrueData)+噪声(Noise)离群点(Outlier)属于观测量,既有可能是真实数据产生的,也有可能是噪声带来的,但是总的来说是和大部分观测量之间有明显不同的观测值。噪声包括错误值或偏离期望的孤立点值,但也不能说噪声点包含离群点,虽然大部分数据挖掘方法都将离群点视为噪声或异常而丢弃。然而,在一些应用(例如:欺诈检测),会针对离群点做离群点分析或异常挖掘。而且有些点在局部是属于离群点,但从全局看是正常的。数据预处理——数据清洗数据去噪常见数据去噪方法分箱法分箱方法通过考察数据的“近邻”(即周围的值)来光滑有序数据值。这些有序的值被分布到一些“桶”或箱中。由于分箱方法考察近邻的值,因此它进行局部光滑。1)用箱均值光滑:箱中每一个值被箱中的平均值替换。2)用箱中位数平滑:箱中的每一个值被箱中的中位数替换。3)用箱边界平滑:箱中的最大和最小值同样被视为边界。箱中的每一个值被最近的边界值替换。一般而言,宽度越大,光滑效果越明显。箱也可以是等宽的,其中每个箱值的区间范围是个常量。分箱也可以作为一种离散化技术使用。回归法可以用一个函数拟合数据来光滑数据。线性回归涉及找出拟合两个属性(或变量)的“最佳”直线,使得一个属性能够预测另一个。多线性回归是线性回归的扩展,它涉及多于两个属性,并且数据拟合到一个多维面。使用回归,找出适合数据的数学方程式,能够帮助消除噪声。数据预处理——数据融合数据融合就是将不同来源的、异质的数据融合到一起。良好的数据融合可以减少数据中的冗余(redundacies)和不一致性(inconsistence),进而提升后续步骤的精度和速度。数据融合包括如下几个步骤:实体识别问题(EntityIdentificationProblem)实体识别中最主要的问题匹配不同的数据源中指向现实世界相同实体的纪录。比如分析有不同销售员纪录的17年和18年两年的销售数据,由于不同的销售员有不同的纪录习惯,顾客的名字纪录方式并不一样,一个销售员喜欢纪录全名(例如WardellStephenCurryII),另外一个销售员喜欢将中间名省略(WardellSCurryII),虽然WardellStephenCurryII和WardellSCurryII是现实世界中是同一名顾客,但计算机会识别为两位不同的顾客,解决这个问题就需要EntityIdentification。一个常用的EntityIndentificationProblem的解决算法是LSH算法。冗余和相关性分析当能够从样本的一个或多个属性推导出另外的属性的时候,那么数据中就存在冗余。检测冗余的一种方法是相关性分析——给定要进行检测的两个属性,相关性分析可以给出一个属性隐含(imply)另外一个属性的程度。对于标称型(Nominal)数据,可以使用χ2检验,而对于数值数据,可以根据方差和相关系数来分析。当相关系数是正的时候表示属性A和属性B正相关,当相关系数是负的时候属性A和属性B负相关,注意,相关关系并不等同于因果关系。数据预处理——数据转换在对数据进行统计分析时,要求数据必须满足一定的条件,数据转换就是将数据从一种表示形式变为另一种表现形式的过程。常见的数据转换方法大致可分为如下几类:离散化二值化归一化标准化正则化特征编码数据预处理——数据转换离散化有些数据挖掘算法,特别是某些分类算法,要求数据是分类属性形式。例如,发现关联模式的算法要求数据是二元属性形式。这样,常常需要将连续属性变换成分类属性(离散化,discretization),并且连续和离散属性可能都需要变换成一个或多个二元属性。此外,如果一个分类属性具有大量不同值(类别),或者某些值出现不频繁,则对于某些数据挖掘任务,通过合并某些值减少类别的数目可能是有益的。相比于连续属性值,离散属性值有一下优点:①通过离散化数据将被简化并且减少;②离散特征更容易被理解,使用和解释;③离散化使学习更加准确,快速;④使用离散特征获得的结果(如decisiontrees,inductionrules)更加紧凑,简短,准确,结果更容易进行检查,比较,使用和重复使用;⑤很多分类学习算法只能处理离散数据。常见离散化方法:1)无监督:分箱法(等宽/等频)、直观划分等2)有监督:1R方法、基于卡方的离散方法、基于熵的离散方法等数据预处理——数据转换二值化特征二值化是把数值特征转化成布尔值的过程,其核心在于设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0。这个方法对符合多变量伯努利分布的输入数据进行预测概率参数很有效。数据预处理——数据转换归一化归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。它可将数据缩放至给定的最小值与最大值之间,通常是0与1之间。归一化常见两种方式:最小最大值归一化,将数据归一化到[0,1]区间绝对值最大归一化,将数据归一化到[-1,1]区间数据预处理——数据转换标准化不同的特征有不同的取值范围,如线性模型,特征的取值范围会对最终的结果产生较大的影响,取值范围不一致会导致模型会更偏向取值范围较大的特征。标准化通常是为了消除不同属性或样本间的不齐性,使同一样本内的不同属性间或同一属性在不同样本内的方差减小。另外数据的标准化也会加快数据的收敛速度。例如:Z-score标准化:数据预处理——数据转换正则化通常是为给数据加入某种限制,使其满足某一特性,常见的:L1正则化(稀疏性):L2正则化(平滑性):数据预处理——数据转换特征编码我们经常会遇到一些类别特征,这些特征不是离散型的数值,而是这样的:[“男性”,“女性”],[“来自欧洲”,“来自美国”,“来自亚洲”],[“使用Firefox浏览器”,“使用Chrome浏览器”,“使用Safari浏览器”,“使用IE浏览器”]等等。这种类型的特征可以被编码为整型(int),如[“男性”,“来自美国”,“使用IE浏览器”]可以表示成[0,1,3],[“女性”,“来自亚洲”,“使用Chrome浏览器”]可以表示成[1,2,1]。这些整数式的表示不能直接作为机器学习模型的参数,因为我们需要的是连续型的输入,而且我们通常是有序的翻译这些特征,而不是所有的特征都是有序化的(譬如浏览器就是按人工排的序列)。将这些类别特征转化成机器学习模型的参数,可以使用的方法是:使用one-of-K或者one-hot编码(独热编码OneHotEncoding)。它可以把每一个有m种类别的特征转化成m中二值特征。注意:除了上述所提及的6种数据转换方法,我们可以根据模型需求和数据特性,自定义转换方法。数据预处理——数据降维维数灾难指在涉及到向量的计算的问题中,随着维数的增加,计算量呈指数倍增长的一种现象。维度灾难最直接的后果就是过拟合现象,而发生该现象最根本的原因是:维度增加时,有限的样本空间会越来越稀疏。因此模型出现在训练集上表现良好,但对新数据缺乏泛化能力的现象。维度增加时,每个样本数据越来越不可能符合所有维度(特征),这使得大部分样本都变成了噪声。数据降维,又称特征降维,是将高维空间的数据集映射到低维度空间,同时尽可能少的丢失数据,或者降维后的数据点尽可能的被区分。数据预处理——数据降维常见特征降维方法特性选择寻找最优子集,剔除不相关(irrelevant)或冗余(redundant)的特征,从而达到减少特征的个数,提高模型的紧缺度,减少运行时间,特征选择后留下的特征在选择前后没有变化。常见的特征选择的方法有:1)过滤方式:将所有特征进行打分,选择最有效的特征。比如,卡方检验、信息增益、相关系数(皮尔逊、Cos、互信息等)等。2)包装方式:将特征组合的选择看做是一个在特征空间的搜索问题,比如启发式的搜索方法等。3)嵌入方式:将特征选择的过程嵌入到模型训练的过程中,其实也是就是正则化的方法,比如lasso回归、ridge回归等。数据预处理——数据降维常见特征降维方法特性抽取特征抽取是指改变原有的特征空间,并将其映射到一个新的特征空间。例如某个特征是一张图片,将这张图片中的点,线条或颜色提取出来并参数化,就是一个特征抽取的过程。常见的特征抽取方法有:1)PCA主成分分析。其思想是将n维特征映射到k维上(k<n),这k维是全新的正交特征。这k维特征称为主元,是重新构造出来的k维特征,而不是简单地从n维特征中去除其余n-k维特征。通过协方差矩阵的特征值分解能够得到数据的主成分,PCA的目标是发现特征之间的线性关系,并去除。数据需要去中心化。2)LDA线性判别式分析。使用类别信息,选择使类内方差小而类间方差大的方向作为投影方向,将数据投影到维度更低的空间中,使得投影后的点区分度更高。3)SVD奇异值分解。直接对特征矩阵进行SVD分解,然后近似表示原矩阵。注意,SVD可以获取多个方向上的主成分,而PCA只能获得单个方向上的主成分。数据预处理参考资料《数据挖掘:概念与技术》韩家炜《数据挖掘导论》陈封能《机器学习实战》Peter参考工具Python:scikit-learn、pandas
/stable/MatlabRThankYou!数据仓库与数据立方体Contents数据仓库背景及定义01数据仓库系统架构02数据立方体03OLAP0405本章小结数据仓库产生的背景数据的一项重要作用是为管理决策人员提供帮助,通过对数据进行整合、清洗和分析,管理人员能够得到更准确、更全面的信息支持,从而做出更具前瞻性和决策性的选择。一种直接的想法是利用数据库进行统计分析,形成如图3-1所示的自然演化的体系架构。数据仓库产生的背景自然演化的体系架构主要存在以下缺陷:缺乏统一的数据来源缺乏统一的时间基准数据口径差异数据获取效率低数据集成时间长看懂数据困难以及数据加工速度慢数据仓库概念的提出为了应对这些问题,提出了数据仓库的概念。与“分散式管理”的自然演化体系架构不同,数据仓库是一种“中央集中式管理”的数据架构。这种管理架构会对数据统一进行清洗、整合和建模,使得数据变得更加一致、准确和可信,消除不同数据源之间的口径差异,提高数据一致性和质量。数据仓库的定义数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,支持管理者的决策过程。
面向主题的(subject-oriented):数据仓库的构建通常围绕的是一些比较重要的主题而构建,例如产品、客户或销售等。集成的(integrated):数据仓库中的数据是在对原有分散的数据库进行数据抽取、清理的基础上经过系统加工、汇总和整理得到的时变的(time-variant):数据仓库可以保存过去的数据,并且可以显示数据随着时间的推移而发生的变化。非易失的(nonvolatile):数据仓库的非易失性意味着数据在数据仓库中是安全的、不容易丢失的。数据仓库与数据库之间的区别数据库与数据仓库的区别,在本质上就是在线事务处理(OLTP)和在线分析处理(OLAP)的区别Contents数据仓库背景及定义01数据仓库系统架构02数据立方体03OLAP0405本章小结基本架构介绍每个数据仓库系统的核心都有三个主要的组件,分别是:数据来源、提取-加载-转换(ELT)过程以及数据仓库本身。大部分数据仓库系统还有数据应用部分数据仓库系统分层意义数据仓库系统的分层模式是一种在数据仓库设计中常用的组织模式,通过将数据按照不同的层级进行划分和管理,以实现更高效、更灵活的数据处理和利用。数据仓库系统的分层模式主要具备以下几点作用:分层模式使得数据组织结构更清晰提供数据血缘追踪功能减少重复开发简化复杂的问题减少业务的影响数据仓库分层介绍从数据仓库的基本架构图中可以看到,数据仓库包含了多个层级,其中每个层级都有着其特定的功能和处理原则。下面依次介绍数据仓库各层级的用途和处理原则
原始数据层(OperationalDataStore)是数据仓库中的一个重要组成部分,它用于存储从各个业务系统中提取的、经过简单清洗和整合后的原始数据。原始数据层通常是数据仓库架构中的第一层,也是与业务系统交互的接口。数据仓库分层介绍数据明细层(DataWarehouseDetail)中的数据是原始数据层数据经过清洗、转换后得到的明细数据,保留了数据加载过程中的全部信息。同时包含了各种维度表和事实表,可以支持复杂的查询和分析需求。此外还保留了历史数据,能够支持时间上的溯源和趋势分析。该层中的数据质量较高,经过清洗、转换、整合等处理,确保数据准确性和一致性。数据仓库分层介绍数据汇总层(DataWarehouseSummary)通常用于存储经过清洗、转换和集成后的数据。这一层位于数据仓库的核心位置,主要负责将来自数据源的数据进行整合,并提供给决策支持系统和业务智能应用程序使用。数据仓库分层介绍数据应用层(ApplicationDataStore)是根据业务需要,由数据明细层、数据汇总层数据统计而出的结果,该层旨在为数据分析和报表生成等工作提供高性能的数据查询和访问能力,以支持业务决策和报告需求。该层与数据应用部分结合之后,可以为用户提供灵活的数据查询和分析功能,支持用户通过图表、报表等形式直观地分析数据,使用户能够根据自身需求快速获取所需数据,并进行多维分析、数据挖掘等操作。Contents数据仓库背景及定义01数据仓库系统架构02数据立方体03OLAP0405本章小结数据立方体的基本概念数据立方体是一种多维数据集合,通常用于存储和分析数据仓库中的大量数据。它由一个或多个维度和度量组成,维度表示数据的属性或者类别,度量则表示要分析的数据指标。通过将数据按照不同维度组织,可以形成一个多维数据集合,这种数据结构就是数据立方体。数据立方体的基本概念需要注意的是,尽管人们经常把数据立方体看作三维几何结构,但是在数据仓库中,数据立方体是N维的,而不限于三维。数据立方体主要具备以下特点:1)多维性:数据立方体是一个多维数据集合,可以包含多个维度和度量,从而更全面地描述数据。2)预计算:为了提高查询效率,数据立方体通常会事先计算并存储聚合数据,而不是每次查询时都重新计算。3)快速响应:由于预计算的结果,数据立方体可以快速响应用户的查询请求,提高数据分析的效率。4)易于理解:通过数据立方体,用户可以直观地理解数据之间的关系,进行交互式分析和探索。数据立方体的基本概念二维数据立方体四维数据立方体三维数据立方体数据立方体的组成元素数据立方体的组成元素主要包括维度、度量、层次、聚集、维度表和事实表等1)维度(Dimensions):维度是数据立方体中用于对数据进行分类和分组的属性或者特征。2)度量(Measures):度量是数据立方体中需要进行分析和计算的指标或数值,用来衡量业务绩效或者其他关键性能指标。3)层次(Hierarchies):层次定义了维度之间的父子关系,描述了维度值之间的层级结构。4)聚集(Aggregates):聚集是预先计算并存储在数据立方体中的汇总数据,例如总销售额、平均利润等。5)维度表(DimensionTables):维度表是包含维度属性信息的表格,用于描述维度的具体内容和特征。6)事实表(FactTable):事实表是包含度量信息的表格,用于存储需要分析的数值型数据。多维数据模型的模式多维数据模型的模式定义了数据在多个维度上的组织结构和关联关系。目前最流行的数据仓库数据模型是多维数据模型,包括星形模式、雪花模式和事实星座模式等星形模式(starschema):星型模式是数据仓库中最常用的多维数据模型之一,它采用星型结构来组织数据。在星型模式中,中心是一个事实表(FactTable),周围围绕着多个维度表(DimensionTables),构成了一个星型的结构。多维数据模型的模式多维数据模型的模式定义了数据在多个维度上的组织结构和关联关系。目前最流行的数据仓库数据模型是多维数据模型,包括星形模式、雪花模式和事实星座模式等雪花模式(snowflakeschema):雪花模式是一种数据仓库多维数据模型设计结构,是在星型模式的基础上发展而来的设计模式。在雪花模式中,维度表被进一步规范化,因此比星型模式具有更复杂的结构,其组成要素包括事实表、维度表和规范化维度表。多维数据模型的模式多维数据模型的模式定义了数据在多个维度上的组织结构和关联关系。目前最流行的数据仓库数据模型是多维数据模型,包括星形模式、雪花模式和事实星座模式等事实星座模式(factconstellation):复杂的应用可能需要多个事实表共享维表。这种模式可以看做星形模式的汇集,因此称做星系模式(galaxyschema)或事实星座。事实星座模式支持复杂的数据关系和多变的数据分析需求,适用于需要处理多种不同业务过程和度量的场景。事实星座的组成要素包括多个事实表、多个维度表和事实表之间的联系。Contents数据仓库背景及定义01数据仓库系统架构02数据立方体03OLAP0405本章小结OLAP概念在线分析处理OLAP,是一种用于快速分析、探索和汇总多维数据的计算技术。OLAP技术是基于数据仓库中数据立方体的操作,旨在帮助用户进行复杂的数据分析和提供决策支持,OLAP的核心特点如下:多维性:OLAP能够处理多维数据,允许用户以不同的角度(维度)对数据进行分析,支持多维数据切片和切块操作。实时分析:OLAP技术支持用户对数据进行即时的、动态的分析,用户可以随时根据需要进行数据探索和交互式查询。联机:OLAP能够直接连接到数据仓库或数据源,具有快速响应用户查询的特点,以便用户可以实时获取数据分析结果。分析功能:OLAP提供强大的分析功能,如数据的上卷、下钻、转轴、切片和切块等方法,帮助用户深入分析数据OLAP的基本操作OLAP依托于多维数据模型,定义了一系列专门针对数据分析的基本操作类型,主要包括:上卷(Roll-up)、下钻(Drill-down)、切片(Slice)、切块(Dice)以及转轴(Pivot)。通过这些基本操作的组合使用,用户可以很方便的在数据仓库中完成对数据的处理和分析OLAP的基本操作上卷(roll-up):上卷操作是将数据从较低层次的维度汇总到较高层次的维度,减少数据的细节,以获得总体性的视图。下图显示了在维location上对中心立方体执行上卷操作的结果。所展示的上卷操作沿location的分层,由city层向上到country层聚集数据。OLAP的基本操作下钻(drill-down):下钻操作是在汇总数据的基础上,查看较低层次的细节数据,以便深入了解具体细节。下图显示沿着“day<month<quarter<year”定义的time维的概念分层向下,在中心立方体执行下钻操作的结果。这里下钻由time维的分层结构向下,从quarter层到更详细的month层。OLAP的基本操作切片(slice):切片是选取多维数据集中的一个子集,即在某个固定维度上进行数据的筛选和分析。下图表示了一个切片操作,它对中心立方体使用条件time=“Q1”对维time选择销售数据。OLAP的基本操作切块(dice):切块是在多维数据集中选择两个或多个维度的交叉区块(subset),对其进行分析和比较。下图表示了一个切块操作,它涉及三个维,根据如下条件对中心立方体切块:(location=“南京”or“武汉”)and(time=“Q1”or“Q2”)and(item=“日常用品”or“饮料”)。OLAP的基本操作转轴(pivot):转轴操作是改变多维数据立方体中的视角,重新排列维度的位置以获得新的数据观察角度。下图显示了一个转轴操作,其中item和location轴在一个2-D切片上转动。OLAP系统的实现分类常见的OLAP系统可以分为以下三类::多维联机实时分析系统(MOLAP),关系型联机实时分析系统(ROLAP),混合型联机实时分析系统(HOLAP)MOLAP通过基于数组的多维存储引擎,支持数据的多维视图。它们将多维视图直接映射到数据立方体数组结构。典型的MOLAP框架如下图所示。MOLAP中的数据来自数据仓库或者来自存储在多维立方体中的操作型数据源。底层数据的复杂性对于MOLAP工具的使用者是隐藏的。OLAP系统的实现分类常见的OLAP系统可以分为以下三类::多维联机实时分析系统(MOLAP),关系型联机实时分析系统(ROLAP),混合型联机实时分析系统(HOLAP)ROLAP介于关系型数据库(后端)和客户前端工具之间。它们使用关系的或扩充关系的数据库管理系统存储并管理数据仓库数据,而OLAP中间件支持其余部分。典型的ROLAP框架的高层视图如图3-17所示。ROLAP工具也提供本章之前描述的常用OLAP功能。ROLAP服务将查询转换成SQL语句,SQL语句被发送到由关系型数据库支持的数据仓库中。关系型数据库执行查询,并将查询的结果集合发送到ROLAP服务器上,最终交给OLAP/BI工具终端用户。OLAP系统的实现分类常见的OLAP系统可以分为以下三类::多维联机实时分析系统(MOLAP),关系型联机实时分析系统(ROLAP),混合型联机实时分析系统(HOLAP)混合OLAP方法结合ROLAP和MOLAP技术,得益于ROLAP较大的可伸缩性和MOLAP的快速计算,使得其既能处理大规模数据,又能提供快速查询性能。HOLAP在数据存储和查询时能够根据需求自动选择合适的存储方式,既可以利用多维数据立方体进行快速查询,也可以利用关系型数据库支持复杂查询。Contents数据仓库背景及定义01数据仓库系统架构02数据立方体03OLAP0405本章小结本章小结数据仓库是一个面向主题的、集成的、时变的、非易失的数据集合,用于支持管理决策。数据仓库的产生背景主要是由于企业需要更好地管理和分析海量数据以支持决策,而传统的数据库系统无法满足复杂的分析需求。数据仓库核心组件包括数据来源、ELT、数据仓库和数据应用等。数据仓库与数据库的区别在于目标、数据结构、数据处理方式等方面。数据仓库旨在支持决策分析,数据处理方式大都“读多写少”;而数据库用于日常事务处理,数据结构为规范化形式,读写操作相对平衡。数据立方体是数据仓库中一种多维数据模型,用于对数据进行多维分析。数据立方体由维度、度量、层次、聚集、维度表和事实表等部分组成,常见的模式包括星型模式、雪花模式和事实星座模式。OLAP是一种用于多维数据分析的技术,基本操作包括上卷、下钻、切片、切块和转轴等。常见的OLAP系统可以分为多维联机实时分析系统、关系型联机实时分析系统和混合型联机实时分析系统。ThankYou!关联规则挖掘05高级关联模式挖掘背景介绍01Contents关联规则挖掘的基本概念02频繁项集挖掘算法03关联规则挖掘0406推荐系统中的关联规则挖掘超市消费者购物小票说起“购买啤酒的男士经常会购买小孩的纸尿布”不同商品间的关联规则背景介绍谷歌预测2009年部分地区的流感“2009年,Google通过分析5000万条美国人最频繁检索的词汇,将之和美国疾病中心在2003年到2008年间季节性流感传播时期的数据进行比较,并建立一个特定的数学模型。最终Google成功预测了2009冬季流感的传播甚至可以具体到特定的地区和州。”背景介绍超市预知高中生顾客怀孕明尼苏达州一家塔吉特(Target)门店被客户投诉,一位中年男子指控塔吉特将婴儿产品优惠券寄给他的女儿——一个高中生。但没多久他却来电道歉,因为女儿经他逼问后坦承自己真的怀孕了。塔吉特百货就是靠着分析用户所有的购物数据,然后通过相关关系分析得出事情的真实状况。背景介绍电表与空置房的匹配背景介绍05高级关联模式挖掘背景介绍01Contents关联规则挖掘的基本概念02频繁项集挖掘算法03关联规则挖掘0406推荐系统中的关联规则挖掘购物篮事务下面表格中存储的数据可以称为购物篮事务。事务:事务表示为形如<t,X>的元组事务标识符(TID):事务中的t项集:
,如果一个项集包含k个项,则称为k-项集。如{面包,尿布,啤酒,牛奶}为3-项集。TID项集1{面包,牛奶}2{面包,尿布,啤酒,牛奶}3{牛奶,尿布,啤酒,可乐}事务关联规则挖掘关联规则:是形如的表达式,其中
和是两个不相交的项集。关联规则挖掘步骤:频繁项集产生:使用频繁项集挖掘算法,找出满足最小支持度阈值的所有项集,这些项集为频繁项集。规则生成:从上一步得到的频繁项集中过滤出满足最小置信度阈值的规则,这些规则称为强规则。关联规则挖掘支持度计数:指一个项集在所有事务中出现的次数。换言之,它是该项集在事务数据库中的绝对频率。数学上可以表示为。支持度:支持度计数与总事务数的比例,表示在所有事务中有多少比例的事务包含该项集。这是一个标准化的指标,用于评估项集的普遍性。支持度的数学定义如下,N表示事务总数。在关联规则挖掘中,支持度是用于初步筛选数据中潜在有用模式的重要工具。只有当项集的支持度达到预设的最小支持度阈值时,这些项集才被认为是频繁项集。格结构格结构:挖掘频繁项集时,候选项集之间的包含关系所形成的结构。性质:如果一个项集是另一个项集的子集,那么它们之间就存在一条连接。图中显示的是的项集格,其中2-项集{A,B}是3-项集{A,B,C}的直接子集。05高级关联模式挖掘背景介绍01Contents关联规则挖掘的基本概念02频繁项集挖掘算法03关联规则挖掘0406推荐系统中的关联规则挖掘朴素法朴素法:将所有的k-项集作为候选项集,然后确定其在输入数据中的支持度选出频繁项集。算法步骤:候选生成:一次性生成所有候选项集,第k层的候选项集的数目为,其中d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国牛乳乳糖行业供需趋势及投资风险研究报告
- 2025-2030中国燕麦纤维行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国燃气动力船行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国热电联产(CHP)行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国热固性丙烯酸树脂行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国火焰离子化检测器(FID)行业市场发展趋势与前景展望战略分析研究报告
- 2025-2030中国游泳池水处理设备行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国港口挡泥板行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国混频器行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国深水鱼行业发展分析及竞争格局与发展趋势预测研究报告
- 北京海淀人大附2025届高三第四次模拟考试历史试卷含解析
- 建教帮APP测试题库和答案
- 幽门螺杆菌与胃癌
- 压轴题04立体几何压轴题10题型 (教师版)
- 安徽省铜陵市铜陵市2023-2024学年七年级下学期4月期中英语试题
- 15j403-1楼梯栏杆标准
- DB-T29-247-2017天津市岩土工程勘察规范
- 第13课走进青春期友谊课件小学心理健康六年级
- 河南机电职业学院单招《职业技能测试》参考试题库(含答案)
- 电力各种材料重量表总
- 《如何做好辩证施护》课件
评论
0/150
提交评论