精华内容
下载资源
问答
  • 数据仓库与数据挖掘归纳汇总

    千次阅读 2019-06-13 11:23:56
    /* 大学生一枚,只为分享知识别无他求,有兴趣一起交流,相互激励,共同进步 关注个人微信公众号:飞享 ...3.元数据数据仓库运行和维护的中心内容,数据仓库系统对数据的存取和更新都需要元数据信息。 4.根据...

    /*
    大学生一枚,只为分享知识别无他求,有兴趣一起交流,相互激励,共同进步
    关注个人微信公众号:飞享
    文中相应链接都是对应知识点补充说明
    */

    数据仓库
    1.数据仓库:面向主题的,集成的,稳定的,反映历史变化的数据集合,通常用于辅助决策支持。
    2.元数据:描述数据仓库内数据的结构和建立方法的数据。
    3.元数据是数据仓库运行和维护的中心内容,数据仓库系统对数据的存取和更新都需要元数据信息。
    4.根据元数据用途的不同可将元数据分为技术元数据和业务元数据。
    5.访问工具:用户访问数据仓库提供的手段,数据查询和报表工具,应用开发工具,数据挖掘工具,数据分析工具。
    6.数据仓库数据库:数据信息存放的地方,对海量数据进行存取和检索支持。
    7.数据抽取工具:把数据从各种各样的存取环境中提取出来,进行必要的转化,整理,再存放到数据仓库内。
    8.数据转换内容:删除对决策分析没有意义的数据,转换到统一的数据名称和定义,计算统计和衍生数据,填补缺失数据,统一不同的数据定义方式。
    9.数据集市:为了特定的应用目的,从数据仓库中独立出来的一部分数据,也称为部门数据或主题数据。
    10.数据仓库管理:包括安全和权限管理,数据更新的跟踪,数据质量的检查,元数据的管理与更新,数据仓库的使用状态的监测与审计,数据复制与删除,数据分割与分发,数据备份与恢复,数据存储管理。
    11.信息发布系统:用于把数据仓库中的数据或其他相关的数据发送给不同的地点或用户。
    12.数据挖掘:从大量数据中获取有效的,新颖的,潜在有用的,最终可理解的模式的过程。就是从大量数据中提取和挖掘知识。
    13.数据处理分两类:联机事务处理(OLTP),联机分析处理(OLAP)
    14.数据挖掘步骤:
    a.数据清理:消除噪声数据
    b.数据集成:多种数据组合在一起
    c.数据选择:选择相关数据
    d.数据变换:汇总等操作将数据变换成适合挖掘的数据
    e.数据挖掘:对数据进行操作
    f.模式评估:根据某种模式来评估其价值
    g.知识表示:可视化表现
    15.数据仓库的粒度是指数据的细节或汇总程度,细节程度越高,粒度级别越低。
    16.数据仓库与数据挖掘的区别:数据仓库是一种存储技术,适应于不同用户对不同决策需要提供所需的数据和信息。数据挖掘研究各种方法和技术,从大量信息中挖掘出有用的信息和知识。
    17.多维数据模型:星型模型,雪花模型,星网模型,第三范式
    18.ETL过程:数据仓库的数据获取需要经过抽取,转换,装载三个过程。
    19.基本多维数据分析的基本操作:切片,切块,旋转,钻取。
    20.粒度:数据仓库中数据单元的详细程度和级别。数据越详细,粒度越小,层次级别越低;数据综合度越高,粒度越大,层次级别越高。
    21.数据仓库关键环节:数据抽取,数据存储与管理,数据表现。
    22.商业智能:商业智能以数据库为基准,通过联机分析处理和数据挖掘技术帮助企业领导者针对市场变化的环境,做出快速准确的决策。
    23.数据仓库是一个作为决策支持和联机分析应用系统数据源的结构化数据环境,数据仓库要研究和解决的就是从数据库中获取信息的问题。
    24.数据仓库组成:数据仓库数据库,数据抽取工具,元数据,访问工具,数据集市,数据仓库管理,信息发布系统。
    25.数据仓库体系结构模型:两层体系结构,基于独立数据集市的体系结构,基于依赖型数据集市和ODS的体系结构,基于逻辑型数据集市的实时数据仓库体系结构。
    26.操作型数据存储:集成的,面向主题的,可更新的,当前值的,企业级的,详细的数据,也叫运营数据存储。
    27.实时数据仓库:意味着源数据系统,决策支持服务和数据仓库之间以一个接近实时的速度交换数据和业务规则。
    28.数据仓库发展演变的5个阶段:以报表为主,以分析为主,以预测为主,以营运导向为主,以实时数据仓库和自动决策为主。

    数据仓库与数据存储
    1.调和数据是存储在企业级数据仓库和操作型数据仓库中的数据
    2.数据仓库中的数据分为状态数据和事件数据
    3.数据抽取:从不同网络,不同的操作平台,不同的数据库及数据格式,不同的应用中抽取数据。
    4.数据转换:数据转化,数据的重新格式化和计算,关键数据的重新构建,数据汇总,数据定位。
    5.数据加载:将数据加载到目标数据仓库,通常需要跨网络,跨操作平台进行加载。
    6.数据的ETL过程就是将操作型数据转换成调和数据的过程。
    7.ETL过程:抽取,清洗,转换,加载和索引。
    8.数据抽取的类型分为静态抽取和增量抽取。静态抽取用于最初填充数据仓库,增量抽取用于进行数据仓库的维护。
    9.使用星型模式可以从一定程度上提高查询效率,星型模式中数据的组织已经经过预处理,主要数据都在庞大的事实表中。
    10.维度表一般由主键,分类层次,描述属性组成。主键分自然键和代理键。
    11.雪花模型是对星型模式维表的进一步层次化和规范化来消除冗余数据。
    12.数据仓库中存在不同综合级别的数据。分为四个级别:早期细节级,当前细节级,轻度综合级,高度综合级。
    13.数据结构的三层结构:
    数据从企业内外部的各业务处理系统流向企业级数据仓库或操作型数据存储区,根据企业的数据模型和元数据库对数据进行调和处理,形成一个中间数据层,然后再根据分析需求,从调和数据层将数据引入导出数据层,形成满足各类需求的数据集市。
    14.星型模式中,事实表居中,多个维表呈辐射状分布于四周,并与事实表连接。位于星型中心的实体是事实表,是用户最关心的基本实体和查询活动中心,为数据仓库的查询活动提供定量数据。位于星型模式四周的实体是维度实体,其作用是限制和过滤用户的查询结果,缩小访问范围。每个维表都有自己的属性,维表和事实表通过关键字相连。
    15.时间总是数据仓库或数据集市的维,因为数据仓库或数据集市的数据总是历史的数据,需要时间维来区别。

    数据仓库的建立
    1.数据仓库的概念模型通常采用信息包图法来进行设计,五个组成部分:名称,维度,类别,层次,度量。
    2.数据仓库的逻辑模型通常采用星型图法来设计。
    3.按照事实表中度量的可加性,事实表对应的事实分为四种类型:事务事实,快照事实,线性项目事实,事件事实。
    4.确定数据仓库的粒度模型之后,为提高数据仓库的使用性能,还需要根据用户需求设计聚合。
    5.在项目实施时,根据事实表的特点和用户查询需求,可以选用时间,业务类型,区域和下属组织等多种数据分割类型。
    6.当维表中的主键在事实表中没有与外界关联时,这样的维称为退化维。
    7.维度可以根据变化快慢分为:无变化维度,缓慢变化维度,剧烈变化维度。
    8.数据仓库的数据量一般很大,且数据更新很少,可以通过设计和优化索引结构来提高数据存储性能。
    9.信息包图法:也叫用户需求表,在一张平面表格上描述元素的多维性,其中的每一个维度用平面表格的一列表示,通常的维度如时间,地点,产品和顾客等;而细化本列的对象就是类别,例如时间维度可以细化到年月日等;平面表格的最后一行即为指标度量值。创建信息包图需确定最高层和最底层的信息需求,以便最终设计出包含各个层次需要的数据仓库。
    10.数据仓库设计过程:收集分析和确认业务需求,分析理解主题和元数据、事实及其度量、粒度和维度的选择与设计、数据仓库的物理存储方式的设计。
    11.数据仓库系统设计过程:
    a.收集和分析业务需求
    b.建立数据模型和数据仓库的物理设计
    c.定义数据源
    d.选择数据仓库技术和平台
    e.从操作型数据库中抽取,清洗,转换数据到数据仓库。
    f.原则访问和报表工具,选择数据库连接软件,选择数据分析和数据展示软件
    g.更新数据仓库

    https://wenku.baidu.com/view/0b0d44785bcfa1c7aa00b52acfc789eb172d9e1b.html?rec_flag=default&sxts=1560318635557
    补充
    1.雪花模型:雪花模型中某些维表是规范化的,因而把数据进一步分解到附加的表中,模式图形成了类似雪花的形状。通过最大限度的减少数据存储量以及联合较小的维表来改善查询性能。雪花模型增加了用户必须处理的表的数量,增加了某些查询的复杂性,但同时提高了灵活性,可以回答更多的商业问题,特别适合系统的逐步建设要求。
    2.OLAP:联机分析处理,是使分析人员,管理人员或执行人员能狗从多角度对信息进行快速,一致,交互的存取,从而获得对数据的更深入了解的一类软件技术。支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
    3.决策树:将训练集函数表示成树结构,通过他来近似离散值的目标函数。是一种有向树,以训练集的一个属性做节点,属性所对应的一个值做边。决策树一般都是自上而下的来生成的。
    4.元数据管理在数据仓库中的运用:
    元数据能支持系统对数据的管理和维护,五类系统管理功能:
    a.描述哪些数据在数据仓库中
    b.定义要进入数据仓库中的数据和数据仓库产生的数据
    c.记录根据业务数据发生而随之进行的数据抽取工作时间安排。
    d.记录并检测系统数据一致性的要求和执行情况。
    e.衡量数据质量。
    5.数据挖掘对聚类的数据的要求:
    a.可伸缩性
    b.处理不同类型属性的能力
    c.发现任意形状的聚类
    d.使输入参数的领域知识最小化
    e.处理噪声数据的能力
    f.对于输入顺序不敏感
    g.高维性
    h.基于约束的聚类
    i.可解释性和可利用性
    6.aprior算法思想:
    第一步:迭代,检索出数据源中所有烦琐项集,即支持度不低于用户设定的阈值的项
    第二步:利用第一步检索出的烦琐项集构造出满足用户最小信任度的规则
    7.基于依赖型数据集市和操作型数据存储的数据仓库体系结构常常被称为中心和辐射架构,其中企业级数据仓库是中心,源数据系统和数据集市在输入和输出范围的两端。
    8.运营数据存储,ODS:是一个集成的,面向主题的,可更新的,当前值的,企业级的,详细的数据库。
    9.贝叶斯网络的两部分组成:网络结构和条件概率表
    10.数据仓库常见的存储优化方法:
    a.表的归并与簇文件
    b.反向规范化,引入冗余
    c.表的物理分割

    https://wenku.baidu.com/view/8c08ad5976eeaeaad0f3307a.html
    一.关联规则https://blog.csdn.net/sealyao/article/details/6460578
    1.经典关联规则算法:Apriori算法和FP-growth算法
    2. Apriori算法:多次扫描交易数据库,每次利用候选频繁集产生频繁集;
    3. FP-growth算法:利用树形结构,无须产生候选频繁集而是直接得到频繁集,大大减小扫描交易数据库的次数,从而提高算法效率。
    4.关联规则:发现隐含的关联关系,并用规则的形式表现出来。反映一个事物与其他事物之间的相互依存性和关联性。
    5.关联规则分为产生频繁集和产生规则两个步骤
    a.找出交易数据库中所有大于或等于用户指定的最小支持度的频繁项集
    b.利用频繁项集生成所需要的关联规则,根据用户设定的最小可信度进行取舍,产生强关联规则
    6.关联规则分为:一维和多维关联规则,单层和多层关联规则,布尔型和数值型关联规则
    7.项集:项目元素的集合
    8.支持度:项集出现的次数除以总的记录数
    9.置信度:在X出现的条件下,Y发生的概率
    10.频繁集:支持度大于等于最小支持度的项集称为频繁项集
    11.强关联规则:支持度和可信度分别大于最小支持度和最小可信度

    二.数据分类
    1.分类:把数据样本映射到一个事先定义的类中的学习过程,即给定一定输入的属性向量及其对应的类,用基于归纳的学习算法得出分类。
    2.数据集通过描述属性(连续或离散数据)和类别属性(离散数据)来表示
    3.分类的过程:获取数据,预处理,分类器的设计,分类决策
    获取数据:包括物理数据和逻辑数据
    预处理:去除噪声数据,对空缺值进行处理。数据集成或者变换。
    分类器设计:划分数据集(训练集和测试集),分类器构造,分类器测试
    分类决策:利用该分类器对未知类标号的数据样本进行实际的分类决策
    4.评价准则:精确度,查全率,查准率,F-measure,几何均值的计算
    5.支持向量机常用核函数:多项式核函数,径向核函数,S型核函数
    6.ID3构造决策树

    三.数据聚类
    1.聚类分析是将物理的或者抽象的数据集合划分为多个类别的过程。聚类之后的每个类别中任意两个数据样本之间具有较高的相似度,而不同类别的数据样本之间具有较低的相似度。
    2.聚类算法的分类:划分聚类方法,层次聚类方法,基于密度的聚类方法,基于网格的聚类方法
    3.数据样本之间的相似度通常用样本间的距离来表示,而距离是通过数据样本的描述属性的具体取值来计算的。
    4.聚类分析包括:连续型,二值离散型,多值离散型,混合类型四种类型描述属性的相似度计算方法。
    5.连续型属性的数据样本之间的距离有:欧式距离,曼哈顿距离,明考斯基距离。
    6.划分聚类方法对数据集进行聚类时包含三个要点:选定某种距离作为数据样本间的相似性度量,选择评价聚类性能的准则函数,选择某个初始分类,之后用迭代的方法得到聚类结果,使得评价聚类的准则函数取得最优值。
    7.层次聚类的方法包括:凝聚型层次聚类,分解型层次聚类
    8.数据挖掘技术对聚类分析的要求:可伸缩性,处理不同类型属性的能力,发现任意形状聚类的能力,减小对先验知识和用户自定义参数的依赖,处理噪声数据的能力,可解释性和实用性。

    四.贝叶斯网络
    1.先验概率:根据历史资料或主观判断所确定的各种事件发生的概率,该概率没有经过实验证实,属于检验前的概率。
    2.后验概率:通过贝叶斯公式,结合调查等方式获取了新的附加信息,对先验概率修正后得到的更符合实际的概率。
    3.条件概率:当条件确定后,某事件发生的条件概率。
    4.贝叶斯网络:信念网络,因果网络,是描述随机变量之间依赖关系的一种图形模式,是一种用来推理的模型。
    5.贝叶斯网络通过有向图的形式来表示随机变量间的因果关系,并通过条件概率将这种关系数量化,可以包含随机变量集的联合概率分布,是一种将因果知识和概率知识相结合的信息表示框架,使得不确定性推理在逻辑上变得更为清晰,理解性更强。
    6.贝叶斯网络由网络结构和条件概率表两部分组成。
    7.贝叶斯网络三个议题:预测,诊断,学习。
    8.基于贝叶斯网络的学习包括:结构学习,参数学习

    五.粗糙集
    1.粗糙集:粗糙集理论是一种新型处理不完整和不确定性问题的数学工具,它能对不完整资料进行分析,推理,学习和发现,具有很强的知识获取能力。
    2.决策表:具有条件属性集和决策属性集的知识表达系统称为决策表。
    3.等价关系:关系是自反的,对称的,传递的。

    六.神经网络
    1.神经网络类型:前向型,反馈型,随机型,自组织竞争型。
    2.神经元:神经网络的基本计算单元,又称为处理单元或结点,一般是多个输入,一个输出的非线性单元,可以有一个内部反馈和阈值。
    3.神经网络中的特性函数:分段线性特性函数,阈值特性函数,S型逻辑特型函数
    4.神经网络通常包括一个输入层和一个输出层,以及若干隐藏神经元组成的隐层。无隐层为单层神经网络,否则称为多层神经网络。
    5.神经网络按照是否有反馈层,分为前馈神经网络和反馈神经网络。
    6.网络结构包括神经元数目,隐含层数目,连接方式等。
    7.前馈网络和递归网络的本质区别是网络的某些输出是否循环作为网络的输入。前馈网络的所有输出都不能作为输入,而递归网络的某些输出可以循环作为网络的输入。
    8.多层前馈网络中隐藏神经元的作用是增强网络的适应能力,通过隐藏层,多层前馈网络可以逼近系统中任意非线性的成分。
    9.在BP算法中,总体误差对网络输出的偏导数和有序导数始终一致。因为总体误差与网络输出变量之间没有中间变量。总体误差对网络输入的偏导数和有序导数是不一致的。因为总体误差和输入变量之间是有中间变量。

    七.遗传算法
    八.统计分析
    九.文本和web挖掘
    1.web挖掘的三个主要类别:web内容挖掘,web结构挖掘,web使用挖掘
    web内容挖掘:文本挖掘,多媒体挖掘
    web结构挖掘:超链接挖掘,页面结构挖掘
    web使用挖掘:用户访问模式挖掘,分析定制web站点
    2.查准率:检索到的文档中的相关文档占全部检索到的文档的百分比,它所衡量的是检索系统的准确性。
    查全率:检索出的文档中的相关文档占全部相关文档的百分比,他所衡量的是检索系统的全面性。
    3.信息检索:用户从包含各种信息的文档集中查找所需要的信息或知识的过程。
    4.信息模型建立方法:布尔模型,向量模型,概率模型
    5.检索模型三要素:文本集,用户提问,文本与用户提问相匹配
    6.关联分析对文本数据库进行语法分析,抽取词根等预处理,生成关键字向量,根据关键字查询向量与文档向量之间的相关度比较结果,输出文本结果,然后调用关联挖掘算法。
    7.文本挖掘两个阶段:关联挖掘阶段,规则生成阶段
    8.文本聚类步骤:获取结构化的文本集;执行聚类算法,获得聚类谱系图;选取合适的聚类阈值。
    9.自动摘要信息系统构成:信息的理解,主题信息的提取,摘要生成
    10.自动摘要步骤:对文档的预处理;过滤;分词
    11.搜索引擎组成:搜索器,索引器,检索器,用户接口

    算法逻辑题:
    1.k-means聚类
    2.层次聚类
    3.aprior关联规则算法
    4.FP-tree关联
    https://www.cnblogs.com/pinard/p/6307064.html
    5.决策树ID3算法分类
    https://blog.csdn.net/qq_28697571/article/details/84678889
    6.近邻分析与k近邻分析算法分类

    数据仓库:
    https://blog.csdn.net/ycy258325/article/details/52811013
    https://blog.csdn.net/jack0511/article/details/3863501
    https://blog.csdn.net/weixin_40449300/article/details/87384104

    //欢迎关注个人微信公众号:飞享

    展开全文
  • 什么数据仓库?

    万次阅读 多人点赞 2019-04-24 19:44:14
    什么需要数据仓库? 传统的数据库中,存放的数据都是一些定制性数据较多,表是二维的,一张表可以有很多字段,字段一字排开,对应的数据就一行一行写入表中,特点就是利用二维表表现多维关系。 但这种表现关系...

    为什么需要数据仓库?

           传统的数据库中,存放的数据都是一些定制性数据较多,表是二维的,一张表可以有很多字段,字段一字排开,对应的数据就一行一行写入表中,特点就是利用二维表表现多维关系。

           但这种表现关系的上限和下限就定死了,比如QQ的用户信息,直接通过查询info表,对应的username、introduce等信息即可,而此时我想知道这个用户在哪个时间段购买了什么?修改信息的次数?诸如此类的指标时,就要重新设计数据库的表结构,因此无法满足我们的分析需求。

           在产品脑图中可以很清晰的看到根据业务需求设计所需的字段,因此也导致数据库是根据业务需求进行设计

           那么有的会问,为什么一开始就不考虑好这个扩展性呢?为什么数据库一开始就不以数据仓库的形式设计?

           首先数据仓库,从字面上理解就可以感受到这是一个很大的空间,而且存储的物品很杂,里面会存放酱油、沐浴露、洗发精等物品,而数据库是存放酱油、盐等厨房用品,洗浴又是一个数据库。

           另外一个就是,国内互联网的发展,一开始大家都是做个软件出来,大家一起用,这个时候只要满足的了需求即可,现今不止是需求还有用户的体验等各种方面,需要根据这些分析指标做调整。

    小结:

           数据库是跟业务挂钩的,而数据库不可能装下一个公司的所有数据,因此数据库的设计通常是针对一个应用进行设计的。

           数据仓库是依照分析需求、分析维度、分析指标进行设计的。

     

    什么是数据仓库?

           数据仓库(Data Warehouse)简称DW或DWH,是数据库的一种概念上的升级,可以说是为满足新需求设计的一种新数据库,而这个数据库是需容纳更多的数据,更加庞大的数据集,从逻辑上讲数据仓库和数据库是没有什么区别的。

           为企业所有级别的决策制定过程,提供所有类型数据支撑的战略集合,主要是用于数据挖掘和数据分析,以建立数据沙盘为基础,为消灭消息孤岛和支持决策为目的而创建的。

    数据仓库发展过程

           2000年初,国内是简单的报表阶段,这个阶段主要是汇总一些数据,解决业务人员想要的报表。

           如:销售额:xxx万元、销售量:20000件

     

           2010年,数据集市阶段,进行一定的数据采集、整理,按照某业务部门的需求进行采集、整理,按照业务人员需要,进行多维度报表的展现,能够提供特定的领导决策数据。

           如:1月~3月销售额:xxx万元、4月~6月销售额:xxx万元

          

           2015年,各大公司开始注重用户体验,物流效率等问题,这个时候进入数据仓库阶段,主要按照数据模型,对整个企业的数据进行采集、整理,提供跨部门,完整一致性的业务报表数据,能够通过数据仓库生成对业务具有指导性的数据,为决策者提供更全面的数据。

           如:某个月某个地区的用户数量下降,某个月某个地区的用户数量上升。

     

    数据仓库特点

    面向主题

           是企业系统信息中的数据综合、归类并进行分析的一个抽象,对应企业中某一个宏观分析领域所涉及的分析对象。

           比如购物是一个主题,那么购物里面包含用户、订单、支付、物流等数据综合,对这些数据要进行归类并分析,分析这个对象数据的一个完整性、一致性的描述,能完整、统一的划分对象所设计的各项数据。

           如果此时要统计一个用户从浏览到支付完成的时间时,在购物主题中缺少了支付数据或订单数据,那么这个对象数据的完整性和一致性就可能无法保证了。

     

    数据集成

           数据仓库的数据是从原有分散的数据库中的数据抽取而来的。

           操作型数据和支持决策分析型(DSS)数据差别甚大,这里需要做大量的数据清洗与数据整理的工作。

           第一:每一个主题的源数据在原有分散数据库中的有许多重复和不一致,且不同数据库的数据是和不同的应用逻辑捆绑的。

           第二:数据仓库中的综合性数据不能从原有的数据库系统直接得到,因此在数据进入数据仓库之前要进过统一和综合。(字段同名异意,异名同义,长度等)

     

    不可更新

           数据仓库的数据主要是提供决策分析用,设计的数据主要是数据查询,一般情况下不做修改,这些数据反映的是一段较长时间内历史数据的内容,有一块修改了影响的是整个历史数据的过程数据。

           数据仓库的查询量往往很大,所以对数据查询提出了更高的要求,要求采用各种复杂的索引技术,并对数据查询的界面友好性和数据凸显性提出更高的要求。

     

    随时间不断变化

           数据仓库中的数据不可更新是针对应用来说,从数据的进入到删除的整个生命周期中,数据仓库的数据是永远不变的。

           数据仓库的数据是随着时间变化而不断增加新的数据。

           数据仓库随着时间变化不断删去久的数据内容,数据仓库的数据也有时限的,数据库的数据时限一般是60 ~ 90天,而数据仓库的数据一般是5年~10年。

           数据仓库中包含大量的综合性数据,这些数据很多是跟时间有关的,这些数据特征都包含时间项,以标明数据的历史时期。

     

    数据仓库和数据库的区别

           数据库的操作:一般称为联机事务处理OLTP(On-Line Transaction Processing),是针对具体的业务在数据库中的联机操作,具有数据量较少的特点,通常对少量的数据记录进行查询、修改。

           数据仓库的操作:一般称为联机分析处理OLAP(On-Line Analytical Processing),是针对某些主题(综合数据)的历史数据进行分析,支持管理决策

    比较项

    操作型(OLTP)

    分析性(OLAP)

    关注

    细节

    综合或提炼

    模型

    实体 – 关系(E-R)

    星型或雪花

    操作

    可更新

    只读,只追加

    操作粒度

    操作一个单元

    操作一个集合

    场景

    面向事务

    面向分析

    数据量

    需求

    日常操作

    决策需求

    业务方向

    客户信息、订单等查询

    客户登录间隔时间,市场细分等

     

    数据仓库常用系统架构

     

           ODS层(临时存储层):这一层做的工作是贴源,而这些数据和源系统的数据是同构,一般对这些数据分为全量更新和增量更新,通常在贴源的过程中会做一些简单的清洗,

           DW层(数据仓库层):将一些数据关联的日期进行拆分,使得其更具体的分类,一般拆分成年、月、日,而ODS层到DW层的ETL脚本会根据业务需求对数据进行清洗、设计,如果没有业务需求,则根据源系统的数据结构和未来的规划去做处理,对这层的数据要求是一致、准确、尽量建立数据的完整性。

           APP层(引用层):提供报表和数据沙盘展示所需的数据。

     

    为什么要分层?

           在未分层的情况下,数据之间的耦合性与业务耦合性是不可避免的,当源业务系统的业务规则发生变化时,可能影响整个数据的清洗过程。

           数据分层简化了数据清洗的过程,每一层的逻辑变得更加简单和易于理解,当发生错误或规则变化时,只需要进行局部调整。

    通过大量的预处理来提升应用系统查询速度,进而提升的用户体验,因此数据仓库会冗余大量的数据,是典型的空间换时间的策略。

     

    元数据

           在操作数据仓库时,操作的都是元数据,而元数据分为技术元数据和业务元数据。

           技术元数据:是指数据仓库开发、管理、维护相关的数据,描述了数据的原信息,转换描述、数据映射、访问权限等。

           业务元数据:为管理层和业务分析人员服务,从业务的角度描述数据,包括行业术语、数据的可用性、数据的意义等。

           元数据的存储有常用的两种,一种是以数据集为基础,每一个数据集有对应的元数据文件,每一个元数据文件对应数据集的元数据内容,另一种是以数据库为基础,由若干项组成,每一项标识元数据的一个元素。

     

     

    为什么需要为数据仓库建模?

           进行全面的业务梳理时,我们可以通过业务模型,全面了解业务结构及运行情况,按照业务特定的规律分门别类和程序化,改进业务的流程

           通过模型的建设,我们可以很清晰的看到数据之间内在的关联关系,从而建立起全方位的数据视角,并消灭信息孤岛数据差异化的问题,进而保证数据的一致性。

           模型可以很好的帮助我们分离出底层技术的实现和上层业务的展现,当上层业务发生变化时,通过数据模型,底层的技术实现可以适应的了业务的变动,进而解决数据库的灵活性

           在模型中可以很好的看出开发人员和业务人员之间的系统建设范围的界定,及未来的规划

     

    什么是数据模型?

           数据模型是数据关系的一种映射, 就是将业务之间的关系,用模型图形化的描绘出来,而不再是脑海的一个模糊的关系。

           在设计数据仓库模型和架构时,我们需要懂具体的技术,也需要了解行业的知识和经验来帮助我们对业务进行抽象、处理,进而生成各个阶段的模型。

     

    数据模型架构

     

           在大体上,我们将数据模型分为5大块。

           系统记录域:数据仓库业务数据存储区,保证数据的一致性。

           内部管理域:用于内部管理的元数据,统一的元数据管理。

           汇总域:这里的数据来自系统记录域的汇总,保证分析域的主题分析性能,满足部分报表查询。

           分析域:各个业务部分的具体主题业务分析,可以单独存储在相应的数据集市中。

           反馈域:用于相应的前端的反馈数据,视业务的需要设置这个域。

     

    维度和指标(度量)

           维度和指标时数据分析领域常用的概念,亦是在设计数据仓库过程中需要考虑的。

           维度就是数据的观察角度,即从哪个角度去分析问题,看待问题。

           指标(度量)就是从维度的基础上去衡算这个结果的值。

           比如银行采集数据:

    时间(维度)

    分行(维度)

    存款额(指标)

    1999年

    A分行

    1000W

    2000年

    A分行

    2000W

    2001年

    A分行

    3000W

    1999年

    B分行

    500W

    2000年

    B分行

    1600W

    2001年

    B分行

    3300W

           维度一般是一个离散的值,比如时间维度上每一个独立的日期或地域,因此统计时,可以把维度相同记录的聚合在一起,应用聚合函数做累加、均值、最大值、最小值等聚合计算。

           指标(度量)就是被聚合的通计算,即聚合运算的结果,一般是一个连续的值。

           比如我们可以从银行的存款额和企业的贷款额之间的计算,推算出目前的市场状况是如何,如果企业的贷款额高,银行的存款额也高,说明人们不愿意消费了,都把钱存起来,企业产品卖不出去,要发工资,那么自然要贷款了,这只是一个例子,具体还需要结合很多数据做分析。

     

    事实表和维度表

           事实表和维度表是在设计数据仓库过程中需要考虑的。

           事实表(Fact Table)是指存储有事实记录的表,如系统的日志、销售记录、用户访问日志等信息,事实表的记录是动态的增长的,所以体积是大于维度表。

           用户访问日志(事实表):用户名、url、时间…

           维度表(Dimension Table)也称为查找表(Lookup Table)是与事实表相对应的表,这个表保存了维度的属性值,可以跟事实表做关联,相当于是将事实表中经常重复的数据抽取、规范出来用一张表管理,常见的有日期(日、周、月、季度等属性)、地区表等,所以维度表的变化通常不会太大。

           维度表的存在缩小了事实表的大小,便于维度的管理和CURD维度的属性,不必对事实表的大量记录进行改动,并且可以给多个事实表重用。

           省份表(维度表):北京市、广东省、上海市…

     

    数据模型建立过程

     

           业务模型:业务分解和程序化,确定好业务的边界及业务流程,如订单、支付都是一个单独的业务模块

           领域模型:业务概念的抽象、分组,整理分组之间的关联,比如用户购物的业务,抽成一个更大的模型,这个模型一般相对于行业。

           逻辑建模:领域模型中的业务概念实体化,并考虑实体的具体属性及实体与实体之间的关系,比如订单(订单号、付款人…)和支付(金额、支付时间…)的关系。

           物理模型:解决实际应用的落地开发、上线等问题,及性能等一些具体的技术问题。

     

    范式建模法

           数据仓库的概念模型(域模型)应该包含企业数据模型的概念模型(域模型)之间的关系,以及各主题域的定义。

           数据仓库的概念模型(域模型)应该比业务系统的主题域模型范围更加广。

           在数据仓库的逻辑模型需要从业务系统的数据模型中的逻辑模型中抽象实体,实体的属性,实体的子类、关系等,在某些时候反而限制了数据仓库模型的灵活性,在底层数据向数据集市汇总时,需要进行一定的变通。

     

    维度建模法

           维度建模法的特点在于需要进行大量的数据预处理、预计算,因此会导致大量的数据处理工作,而且业务发生变化,需要重新进行维度的定义时,往往需要重新进行维度数据的预处理、预计算,使用时直接调用计算好的结果,进而导致大量的数据冗余,最大的作用就是解决了性能的问题。

     

    实体建模法

           实体建模法是一种抽象客观世界的方法,细分为一个个实体,以及实体之间的关系,将一个业务划分为3个过程,因此只能局限在业务建模和领域建模的阶段,因此到了逻辑建模阶段和物理建模阶段,则是范式和维度建模的发挥了。

     

    星型模型架构 VS 雪花模型架构

           当设计好概念模型时,就要根据概念模型设计逻辑模型,而在设计逻辑模型是,通常根据事实表和维度表的关系,将常见的模型架构分为星型模型和雪花型模型。

           星型模型架构是一种非正规化的结构,特点是有一张事实表,多张维度表,是不存在渐变维度的,事实表和维度表通过主外键相关联,维度表之间是没有关联,因为维度表的数据冗余,所以统计查询时不需要做过多外部连接。

            雪花模型架构就是将星型模型中的某些维度表抽取成更细粒度的维度表,然后让维度表之间也进行关联,通过最大限度的减少数据存储量以及联合较小的维度表来改善查询性能。

     

     

          《怎样分析数据致提高产出?》https://blog.csdn.net/Su_Levi_Wei/article/details/103794163

     

    展开全文
  • 数据挖掘考题汇总

    万次阅读 多人点赞 2019-06-07 16:34:06
    文章目录数据挖掘习题汇总数据挖掘概述二 认识数据 数据挖掘习题汇总数据挖掘概述 ...联系和区别: 通过数据可以推导出知识, 比如我们可以通过一系列出售数据推导出这个商店是卖什么的(是否正确地运用...

    数据挖掘习题汇总

    一 数据挖掘概述

    • 数据与知识的区别与联系?
      • 数据: 指描述事物的符号记录, 它涉及到事物的存在形式, 是关于事物的一组离散且客观的事实描述。
      • 知识: 反映各种事物的信息进入人们大脑,对神经细胞产生作用后留下的痕迹
      • 联系和区别: 通过数据可以推导出知识, 比如我们可以通过一系列出售数据推导出这个商店是卖什么的(是否正确地运用知识对数据做出解释,以得到准确的信息)
    • 列举几项你知道的数据挖掘应用, 并论述数据挖掘在其中的作用?
      • 传感数据(卫星, 位传感器)
      • 天体/空间物理数据
      • 生物/化学数据(基因序列, 分子结构)
    • 数据挖掘方法过程是什么?
      • 挖掘前(数据清理, 变换, 归约, 采样, 统计, 预计算)
      • 关键方法:
        • 分类预测
        • 聚类分析
        • 孤立点分析
        • 趋势和演变分析
    • 数据挖掘与统计的区别与联系?
      • 有大量数据的地方就需要数据挖掘
      • 统计是初级阶段, 挖掘是进阶
      • 数据挖掘是多学科交叉, 统计学只是其中的一部分
    • 数据挖掘与数据管理的区别与联系?
      • 只有经过一定的数据管理过程才能让数据挖掘出来的信息更有价值?..

    二 认识数据

    • 数据属性有哪些类别?不同类别的属性有哪些作用?
      • 标称属性: 就是用来描述一类事物的, 一般用来分类。
      • 二元属性: 就是0或者1
      • 序数属性: 就是属性之间有顺序的 如讲师, 副教授, 教授
      • 数值属性: 定量的, 分为区间标度属性和比例标度属性
      • ps. 标称, 二元, 序数是定性的, 数值是定量的
    • 如何对属性的区间标度变量和二元变量进行相似度度量?
    • 基本统计描述有哪些?
      • 总量描述
      • 中心趋势描述(均值, 中位数, 众数, 中列数)
      • 相对描述
      • 变异描述(指标变异越大, 平均数的代表性越小;指标变异越小, 平均数代表性越大)
    • 基本统计描述该如何使用?
      • 会算不等于会用
      • 首先理解各个指标代表的意义
      • 进行相关分析, 找到变量之间的关联关系
      • 进行回归分析, 通过一般关系推导数学模型, 通过已知变量推导未知变量
    • 为什么需要进行数据可视化?
      • 借助图形化的手段, 清晰有效的传达和沟通信息
    • 数据可视化的七个阶段是什么?
      • 获取
      • 分析
      • 过滤
      • 挖掘
      • 表达
      • 修饰
      • 交互
    • 数据可视化解决的重点问题是什么?
      • 数据来源
      • 数据结构
      • 关注信息
      • 分析处理
      • 视觉模型
      • 清晰易读
      • 操作控制

    三 数据预处理

    • 数据预处理的作用?
      • 在数据进行处理前进行的一些操作
      • 现实世界中通常无法直接对原始数据进行挖掘或者结果差强人意, 为了提高数据挖掘质量我们需要进行数据预处理, 将数据处理成更加符合预期的数据。
    • 什么是ETL?ETL包括哪些步骤?
      • ETL是数据抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
    • 数据质量问题包含哪些?由什么原因导致?
      • 数据质量在这里插入图片描述
      • 数据质量原因在这里插入图片描述
        在这里插入图片描述
    • ETL的常见问题包含哪些?
      • 字符集问题
      • 缓慢变化维处理
      • 增量, 实时同步的处理
      • 错误数据的检测
      • 变化数据的捕获
      • 抽取异常中止的处理
    • 数据库和数据仓库的区别?
      在这里插入图片描述
    • NoSql数据模型有哪些?与SQL模型相比, 有什么区别和联系, 各有什么优劣?
      • 键值对模型如(redis, MemcacheDB等)
      • 文档模型(如 xml, json, mongoDB等)
      • 列族模型(如 hbase, amazon simpleDB等)
      • 图模型(如 neo4J)
      • SQL和No-SQL的关系区别
    • 常见的数据预处理方法有哪些?分别如何处理?
      • 数据清洗
      • 数据集成与变换
      • 数据归约
      • 离散化和概念分层
    • TF-IDF算法是什么, 有什么实际意义?
      • 算法过程在这里插入图片描述
      • 数学含义在这里插入图片描述

    四 分类基础

    • 概念描述和OLAP的区别是什么?
      • OLAP联机分析处理,是数据仓库的核心,是对OLTP的历史数据进行加工,分析处理,用于处理商业智能,决策支持等重要的决策信息
    • 概念描述方法有哪些?
      • 数据泛化
      • 解析特征
      • 挖掘类比较
    • 什么是分类, 什么是有指导/无指导学习?
      • 分类就是将样本按照不同特征分为不同类别
      • 有指导学习: 模型的学习在被告知每个训练样本属于哪个类的指导下进行
      • 无指导学习: 模型不知道训练样本属于哪个类, 聚类是典型的无指导学习
    • 什么是决定性现象, 什么是不确定现象?
      • 决定性现象: 就是不是0就是1的现象, 如水到100度必然沸腾, 筛子不可能到8点
      • 不确定现象: 在基本条件保持不变的情况下, 一系列的实验会得到不同的结果。
    • 什么是随机试验, 样本空间, 样本点, 随机事件, 复合事件, 必然事件, 不可能事件?
      在这里插入图片描述
      在这里插入图片描述
    • 事件间的关系有哪些?
    • 概率与频率的区别与联系?
      • 在试验次数足够多的情况下, 频率趋近于概率
    • 概率有哪些基本性质?
    • 什么是古典概率?
    • 什么是条件概率?条件概率有哪些性质?
      • 在这里插入图片描述
    • 什么是乘法定理?
      在这里插入图片描述
    • 条件概率与无条件概率有什么关系?
      在这里插入图片描述
    • 条件概率与积事件概率有什么关系?
      在这里插入图片描述
    • 什么是全概率公式?
      在这里插入图片描述
    • 什么是贝叶斯公式, 贝叶斯公式有什么作用, 有哪些局限性?
      在这里插入图片描述
      在这里插入图片描述
    • 什么是朴素贝叶斯分类?
      • 就是贝叶斯中特征都是独立存在的?
        在这里插入图片描述
    • 什么是贝叶斯网络? 贝叶斯网络和朴素贝叶斯有什么区别和联系?
      在这里插入图片描述
      • 区别和联系
        在这里插入图片描述

    五 决策树与链接分析

    • 什么是决策树?
      在这里插入图片描述
    • 决策树有什么用?
      在这里插入图片描述
    • 决策树生成方法有哪些?各有什么特点?
    • 如何对决策树进行剪枝?
      • 前期修剪
      • 后期修剪
    • 为什么要进行规则提取?如何进行规则提取?
      • 很多规则有可能冗余?
    • 决策树的进一步策略有哪些?
      • 纯度计算
      • 错误率计算
      • 多属性组合分类
    • 什么是图?
      • 对象(节点) 及 对象间关系(边)的一种直观展示
        在这里插入图片描述
    • 如何计算图的最短路径?
    • Pagerank, 漏斗模型, 关键路径, 矩阵分析有哪些作用?
      • pagerank: 就是根据不同网页间链接的出度入度数量 判断网页权重
      • 漏斗模型: 自顶而下, 逐层反应各个流程的数量和比例便于分析流失原因和转化率
      • 关键路径: 顶点表示事件, 弧表示活动, 弧上权值表示活动持续时间, 用来预估工程时间(关键路径算法)
      • 矩阵分析: 表示两个因素之间的关联关系?

    六 随机过程与抽样

    • 什么是马尔科夫模型?什么是转移概率?什么是C-K方程?
    • 什么是HMM, HMM的三大问题是什么?
    • HMM三大问题的求解算法是什么?
    • 什么叫抽样?抽样都有哪些?如何抽样?

    七 聚类基础

    • 什么是聚类?
      在这里插入图片描述
    • 聚类有什么用?
    • 聚类和分类有什么区别和联系?
    • 划分聚类的算法思想, 过程, 优点, 缺点和可拓展点有哪些?
      在这里插入图片描述
      在这里插入图片描述
    • 点与点, 点与类, 类与类的距离计算方法有哪些?
      在这里插入图片描述
      在这里插入图片描述
    • 聚类评估典型任务有哪些, 思想分别是什么, 有哪些典型的计算方法?

    八 高级聚类方法

    • 密度聚类的核心概念 算法思想 过程 优点 缺点?
    • 网格聚类的核心概念 算法思想 过程 优点 缺点?
    • 图聚类的核心概念 算法思想 过程 优点 缺点?
    • 什么是离群点?
    • 离群点检测有什么意义?
    • 离群点检测方法有哪些?

    九 频繁模式挖掘基础

    • 什么是频繁模式?
    • 频繁模式相关基本概念有哪些?
    • 支持度和置信度的计算和作用?
    • 什么是关联规则?
    • 频繁模式挖掘有哪些作用?
    • Apriori方法的思想 过程 优点 缺点是什么 改进方法有哪些?
    • 什么是频繁图?
    • 如何挖掘频繁图?

    十 频繁模式挖掘进阶和关联规则

    • 如何进行频繁序列挖掘?
    • 如何生成关联规则?
    • FP-Tree方法是什么 如何挖掘FP-Tree?
    • 什么是多层关联规则?
    • 为什么进行模式评估?
    • 如何判断相关性 如何计算兴趣度?

    十二 群体智能挖掘

    • 遗传学算法的生物学基础/算法思想/基本过程?
    • 蚁群算法的生物学基础/算法思想/基本过程?
    • 人工蜂群算法的生物学基础/算法思想/基本过程?
    • 人工神经网络算法的生物学基础/算法思想/基本过程?

    十三 集成挖掘

    • bagging和boosting机制分别是什么, 有什么异同点?
    • Bandit策略是什么?
    • 随机森林算法基本思路是什么?
    • GBDT算法基本思路?
    • adaboost算法基本思路?

    十四 复杂类型数据挖掘

    • 什么是模糊集, 模糊计算有什么性质?
    • 如何进行模糊统计?
    • 什么是模糊矩阵, 模糊矩阵如何运算?
    • 如何进行模糊聚类, 如何进行模糊分类?
    • 空间数据和序列数据有什么特点?
    • 空间挖掘与序列挖掘与普通挖掘方法有什么区别和联系?
    • 序列有哪些种, 判别方法有哪些?
    • 什么是GMM, GMM求解算法是什么?
    展开全文
  • 数据结构面试经典问题汇总

    千次阅读 多人点赞 2020-05-26 16:23:13
    数据结构面试经典问题汇总参考资源:基础深入补充: 参考资源: 基础 数据结构常见面试题 深入 数据结构面试题(三) 数据结构面试必问 数据结构算法常见面试考题 补充: 1.数组和链表的区别,请详细解释。 从逻辑...

    数据结构面试经典问题汇总

    参考资源

    基础

    1. 数据结构常见面试题

    深入

    1. 数据结构面试题(三)
    2. 数据结构面试必问
    3. 数据结构算法常见面试考题

    补充

    1.数组和链表的区别,请详细解释。
    从逻辑结构来看:
    a) 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
    b) 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素
    从内存存储来看:
    a) (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
    b) 链表从堆中分配空间, 自由度大但是申请管理比较麻烦
    从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。

    2.排序算法有哪些?< C语言总共有多少种排序法>
    排序算法有很多,每种算法有不同的时间和空间复杂度,效率也有差别,那么针对使用上也有不同的场合。原则上说,数据结构是一门领域,跟语言没有绝对的联系,很多时候同样的算法可以用很多种语言实现。下面列一些常见的算法:插入排序,冒泡排序,选择排序,快速排序,堆排序,归并排序,基数排序,希尔排序等。

    3.怎么理解哈希表,哈希表是什么
    摘自百度:散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数

    4.请写出以下算法的时间复杂度
    冒泡排序法 插入排序法 堆排序法 二叉树排序法
    O(n^2) O(n^2) O(nlog2 n) 最差O(n2)平均O(nlog2n)
    快速排序法 希尔排序法
    最差O(n2)平均O(n
    log2n) O(nlog n)不稳定

    5.数据结构,二叉树的相关知识,开销量,为何使用二叉树等。
    在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常根的子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在出度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。
    文件系统和数据库系统一般都采用树(特别是B树)的数据结构数据,主要为排序和检索的效率。二叉树是一种最基本最典型的排序树,用于教学和研究树的特性,本身很少在实际中进行应用,因为缺点太明显了(看看教科书怎么说的)。就像冒泡排序一样,虽然因为效率问题并不实用,单不失一种教学例子的好手段。

    6.怎么判断链表是否有环?
    两个指针分别按照固定步长行走,P1一次走1布,P2一次走2布,如果链表有环,P1和P2会有相遇的时刻。(追击问题解法)

    7、简述快速排序过程
    1)选择一个基准元素,通常选择第一个元素或者最后一个元素,
    2)通过一趟排序将待排序的记录分割成独立的两部分,其中一部分记录的元素值均比基准元素值小。另一部分记录的元素值比基准值大。
    3)此时基准元素在其排好序后的正确位置
    4)然后分别对这两部分记录用同样的方法继续进行排序,直到整个序列有序。

    8、各类排序算法对比
    时间复杂度来说:
    (1)平方阶(O(n2))排序
      各类简单排序:直接插入、直接选择和冒泡排序;
    (2)线性对数阶(O(nlog2n))排序
      快速排序、堆排序和归并排序;
    说明:
    当原表有序或基本有序时,直接插入排序和冒泡排序将大大减少比较次数和移动记录的次数,时间复杂度可降至O(n);
    而快速排序则相反,当原表基本有序时,将蜕化为冒泡排序,时间复杂度提高为O(n2);
    原表是否有序,对简单选择排序、堆排序、归并排序和基数排序的时间复杂度影响不大。
    稳定性:
    排序算法的稳定性:若待排序的序列中,存在多个具有相同关键字的记录,经过排序,这些记录的相对次序保持不变,则称该算法是稳定的;若经排序后,记录的相对次序发生了改变,则称该算法是不稳定的。
    稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序
    不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序

    9、选择排序算法准则:
    设待排序元素的个数为n.
    1)当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。
    2)当n较大,内存空间允许,且要求稳定性:归并排序
    3)当n较小,可采用直接插入或直接选择排序。
    直接插入排序:当元素分布有序,直接插入排序将大大减少比较次数和移动记录的次数。
    直接选择排序 :元素分布有序,如果不要求稳定性,选择直接选择排序

    10、用循环比递归效率高吗?
    递归和循环两者完全可以互换。不能完全决定性地说循环地效率比递归的效率高。
    递归算法:
    优点:代码简洁、清晰,并且容易验证正确性。
    缺点:它的运行需要较多次数的函数调用,如果调用层数比较深,需要增加额外的堆栈处理(还有可能出现堆栈溢出的情况),比如参数传递需要压栈等操作,会对执行效率有一定影响。但是,对于某些问题,如果不使用递归,那将是极端难看的代码。在编译器优化后,对于多次调用的函数处理会有非常好的效率优化,效率未必低于循环。
    循环算法:
    优点:速度快,结构简单。
    缺点:并不能解决所有的问题。有的问题适合使用递归而不是循环。如果使用循环并不困难的话,最好使用循环。
    解决哈希冲突的方法
    哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。
    1) 线性探测法
    2) 平方探测法
    3) 伪随机序列法
    4) 拉链法

    11、KMP算法:
    在一个字符串中查找是否包含目标的匹配字符串。其主要思想是每趟比较过程让子串先后滑动一个合适的位置。当发生不匹配的情况时,不是右移一位,而是移动(当前匹配的长度– 当前匹配子串的部分匹配值)位。

    展开全文
  • 数据挖掘概念汇总数据预处理

    万次阅读 多人点赞 2017-03-24 17:49:51
    数据挖掘概念汇总数据预处理
  • 什么数据分层,数据分层的作用!

    万次阅读 多人点赞 2018-08-25 11:04:36
    问:你是做什么的? 答:最近在搞数据仓库。 问:哦,你是传统行业的吧,我是搞大数据的。 答:...... 发个牢骚,搞大数据的也得建设数据仓库吧。而且不管是传统行业还是现在的互联网公司,都需要对数据仓库有一定...
  • 用python处理大量excel中的数据汇总

    千次阅读 2020-12-22 11:57:40
    昨天接到的任务是:大概就是一届所有计院的学生的所有毕业设计的小分每个人都放在一个excel里面(也就是总共200+excel) 然后从每个excel里面取出各个单元格里的小分,汇总到一个excel里面。。。在这个汇总的e...
  • 建立多层次的数据访问服务体系,有力提升数据仓库的价值。基于指标汇总层、集市层、可以...汇总指标层也中间层,他提炼出对ODS具有共性的数据访问、统计需求,从而构建出的一个面向支持应用的、提供共享的数据访...
  • 深度学习经典数据汇总

    千次阅读 2020-10-03 19:04:42
    深度学习数据集Author:louwillFrom:深度学习笔记很多朋友在学习了神经网络和深度学习之后,早已迫不及待要开始动手实战了。第一个遇到的问题通常就是数据。作为个人学习和实验来...
  • 在具体学习数据仓库之前先看一下数据中心的整体构架以及数据流向。 DB 是现有的数据来源,可以为mysql、SQLserver、文件日志等,为数据仓库提供数据来源的一般存在于现有的业务系统之中。 ETL 是 Extract-...
  • 数据挖掘考试习题汇总

    千次阅读 2020-06-25 15:50:36
    2、元数据是描述数据仓库内数据的结构和建立方法的数据,它为访问数据仓库提供了一个信息目录,根据数据用途的不同可将数据仓库的元数据分为技术元数据和业务元数据两类。 3、数据处理通常分成两大类:联机事务处理...
  • 各种数据汇总——转载而来

    千次阅读 2019-03-21 09:55:26
    目前系统整理了一些网上开放的免费科研数据集,以下是分类列表以及下载地址,供高校和科研机构免费下载和使用。 金融 美国劳工部统计局官方发布数据 上证A股日线数据,1999.12.09 至 2016.06.08,前复权,1095支...
  • 什么是异构数据

    万次阅读 多人点赞 2019-10-13 14:33:35
    异构数据顾名思义就是不同结构的数据,异构数据体现在五个层次上: 1.计算机体系结构的异构;数据的物理存储来源于不同体系结构的计算机中,如:大型机、小型机、工作站、PC或嵌入式系统中。 2.操作系统的异构;...
  • 3 数据仓库的主要特征4 数据仓库与数据库区别5 数据仓库架构6 数据仓库元数据管理什么是元数据?元数据具体的工作内容元数据分为技术元数据和业务元数据7 数据治理脏数据的种类数据治理原则知识拓展(数据集市)结束...
  • 正文开始本文有1.5万字,预计阅读30分钟,可以先收藏数据湖近几年迅速蹿红,今天笔者做一个综述,包括数据湖的缘起、数据湖的定义、数据湖的特征、数据湖的技术、数据湖的趋势和数据湖的案例六大部...
  • 什么数据资产?

    千次阅读 2021-02-18 10:17:18
    在说什么数据资产之前,我们需要先明确什么数据数据就是数值,可以是信息在某个时点的结果值,如数字、文本、图像、声音等都可以是数据,那么数据就是信息的载体,以数据库、文档、图形、视频等形式存在,这些...
  • 每个人的生活中都充满了结构化和非结构化的数据。随着人类生活全面向互联网转移,大数据时代将会不可避免的到来!   作为全球互联网的前沿概念,大数据主要包括两方面特征:一方面整个社会的信息量急剧增长,另...
  • 考研数据结构的知识点汇总

    千次阅读 多人点赞 2019-10-24 16:24:49
    2.数据元素:数据的基本单位,(一个数据元素可由若干数据项组成)。 3.数据项:数据的不可分割的最小单位。 4.数据对象:性质相同的数据元素的集合,是数据的一个子集。 5.数据结构:指互相之间存在着一种或多种...
  • 本人是在一家零售行业工作,所出的教程,都是...领导总是我每天导出来分析,但是我们公司分析数据总是要到 大区和小区,因为我们大区和小区都有负责人,KPI考核要对应负责人,通过数据去体现问题。这一次领导我...
  • 数据科学,机器学习和高级分析到实时仪表板,决策者都需要数据来帮助做出决策。 该数据需要一个家,而数据湖是创建该家的首选解决方案。该术语由Pentaho的CTO James Dixon发明并首次描述,他在博客中写道:“如果...
  • 统计学中常用的数据分析方法汇总

    千次阅读 2020-06-21 15:38:22
    描述统计是通过图表或数学方法,对数据资料进行整理、分析,并对数据的分布状态、数字特征和随机变量之间关系进行估计和描述的方法。描述统计分为集中趋势分析、离中趋势分析和相关分析三大部分。 集中趋势分析集中...
  • 数据挖掘:探索性数据分析(EDA)

    千次阅读 多人点赞 2020-02-21 15:48:22
    数据挖掘:探索性数据分析
  • 人脸属性数据数据汇总

    千次阅读 2019-04-14 18:36:26
    IMDB-WIKI 量级:超过50w张,460723张来自IMDB 和62328来自WIKI。 标签:性别+年龄 特点:年龄分布均衡 链接:https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/ Adience 量级:2w6 ...
  • 什么是时间序列数据

    万次阅读 2018-10-24 16:47:00
    用描述性的语言来解释什么是时序数据,简单的说,就是这类数据描述了某个被测量的主体在一个时间范围内的每个时间点上的测量值。   对时序数据进行建模的话,会包含三个重要部分,分别是:主体,时间点和测量值。....
  • 数据异常解决方法汇总

    千次阅读 2020-07-01 22:23:28
    测算每个因素对结果的“贡献度”碰到实在分析不出原因的数据异常怎么办? 本文转载自公众号:数据分析师成长记录 Step1:积极与需求方沟通 数据异常很大一部分原因是自身对问题的理解与需求方意图不一致导致的,...
  • 【算法与数据结构】必备知识点汇总

    万次阅读 多人点赞 2019-07-01 19:27:14
    1.数据结构基础 2.线性表(顺序存储、链式存储) 元素之间是有顺序的:第一个元素无前驱,最后一个元素无后继,其他元素都有前驱和后继 顺序存储结构:用一段地址连续的存储单元一次存储线性表的数据元素(存取...
  • 数据流向 应用示例 何为数仓DW Data warehouse(可简写为DW或者DWH)数据仓库,是在数据库已经大量存在的情况下,它是一整套包括了etl、调度、建模在内的完整的理论体系。 数据仓库的方案建设的目的,是为前端查询...
  • 什么需要数据清洗?:一颗老鼠屎也会破坏掉一整个大规模数据集 怎么进行数据清洗?: 缩放特征值(Scaling) 即转换数据集的数值范围(标准化数据), 缩放是指将浮点特征值从自然范围(例如 100 到 900)转换为标准...
  • 2010年左右,还是在上学的时候,学过一门课程数据仓库与数据挖掘》,那还是属于传统数据的时代,我们会讨论什么数据仓库?什么数据集市?数据仓库和数据库有什么区别?等等,当我还在苦苦学习这些之时,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,658
精华内容 19,863
关键字:

数据汇总叫什么