事实表的基本概念

一篇文章搞懂数据仓库:三种事实表(设计原则,设计方法、对比) 粒度是一个订单一行数据,创建订单时间,付款时间,发货时间,收货时间,分别作为一个字段,便于计算不同业务过程的时间间隔。事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设 计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度 和与业务过程有关的度量。订单支付金额和订单票数,两个事实的粒度为 “订单级”,属于上一层订单级数据,与 “票级” 事实表的粒度不一致,且不能进行汇总;如,订单金额、订单优惠金额、订单运费这 3 个事实,应该采用统一的计量单位,统一为元或者分,以方便使用; 阅读详情

什么是事实表

事实表的结构

事实数据表是包含描述业务内特定事件的数据。是发生在现实世界中的操作型事件所产生的可度量数据,通常包含大量的行。日常查询请求的主要目标就是基于事实表展开计算和聚合操作。
从最低粒度级别来看,事实表行对应一个度量事件,也可以说,一个度量事件必然对应一个最低粒度的事实行为。因此,事实表的设计完全依赖物理活动,不受可能产生的最终报表的影响。
事实表一般会包含数字度量,也总会包含外键,用来与相关的维表做关联。
常用的事实表经常会包含日期/时间戳,退化维度键(退化维度键的解释不再展开,想了解具体定义可Baidu或者看我下期博客)。

数据度量分类

数据度量可分为:可加,半可加,不可加三类。
可加类:最灵活,最有用的事实。可加类度量可以按照与事实表关联的任意维度汇总。
半可加类:可以对某些维度汇总,但不能对所有维度汇总。例如,订单差额的计算,除了时间维度外,它们可以跨所有维度进行加法操作。
不可加类:完全不可加类。例如 ,比率。对非可加事实,一种好的方法时,尽可能存储非可加度量的完全可加的分量,并在计算出最终的非可加事实前,将这些分量汇总到最终的结果集合中。

事实表中的空值

事实表中可以存在空值。所有的聚合函数(sum,count,min,max ,avg等)均可针对空值计算。但是外键和用来关联维度表的id不能存放空值,否则会导致违反参照完整性的情况发生,可以采用使用默认行(代理键)的形式来表示未知的或者无法应用的条件。

一致性原则

1.如果某些度量出现在不同的事实表中,应该保证针对事实的技术定义是相同的。
2.如果不同的事实表定义是一致的,则这些一致性事实应该具有相同的命名。
3.如果不同的事实表定义不一致,则应该有不同的命名用来告诫业务用户和BI应用。

简单举例

1.银行对存款记账,A表中存放实际数据,包括账号、所属机构号、存款金额等,B表存放机构号和机构名称的对应关系。则A是事实表,B是维表。
2.用户注册网站。A表中存放实际数据,包括用户的姓名,年龄,邮箱,国家id,省份id等,B表存放国家id与国家名字的对应关系。则A是事实表,B是维表。

事实表分类

  • 可加,半可加,不可加事实

  • 一致性事实表:

  • 事务事实表:一行对应空间或时间上某点的度量事件。
    优劣:事务事实表可以是稠密的,也可以是稀疏的,因为仅当存在度量时才会建立行
    应用场景:
    业务场景举例:

  • 周期快照事实表:每行汇总了发生在某一标准周期,如某一天,某周,某月的多个度量事件。
    优劣:
    应用场景:
    业务场景举例:

  • 积累快照事实表:汇总了发生在过程开始和结束之间可预测步骤内的度量事件。管道或工作流过程具有定义的开始点,标准中间过程,定义的结束点,它们在此类事实表中都可以被建模。
    优劣:
    应用场景:缓慢变化维事实表的设计
    业务场景举例:以履行订单表举例。累计快照事实表中的一行,对应某一具体的订单,当订单产生时会插入一行,修改订单行为发生时,表内订单数据被访问并修改。

  • 无事实的事实表:存在某些事件仅仅记录一系列某一时刻发生的多维实体。
    优劣:
    应用场景:
    业务场景举例:在给定的某一天中发生的学生参加课程的事件。用户注册网站事件

  • 聚集事实表或OLAP多维数据库:聚合事实表是对原子粒度事实表数据进行简单的数字化上卷操作,目的是为了提高查询性能。聚合事实表包含外键以缩小一致性维度,聚集事实的构建是通过对来自多个原子事实表的度量的汇总而获得的。
    优劣:适当设计的聚集集合类似数据库索引,能够提高查询性能,但不需要直接面对BI应用和商业用户
    应用场景:数据仓库中集市层的建设(IDL)
    业务场景举例: 未想到

  • 合并事实表:通常将来自多个过程的,以相同粒度表示的事实合并为一个单一的合并事实表,这样做能够带来方便。
    优劣:合并事实表会增加ETL处理过程的负担,但降低了BI应用的分析代价。
    应用场景:特别适合那些经常需要共同分析的多过程度量。
    业务场景举例:现货销售可以与销售预测合并为一张事实表,与针对多个不同的事实表采用下钻应用比较,这样做可使对现货及预测任务的分析工作变得简单快捷。

事实表 的指标 维度表_数据仓库建模——维度表、事实表与星型模式 一、维度建模的基本概念维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。它本身属于一种关系建模方法,但和在操作型数据库中介绍的关系建模方法相比增加了两个概念:1. 维度表(dimension)表示对分析主题所属类型的描述。比如"昨天早上张三在京东花费200元购买了一个皮包"。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天... 阅读详情

相关推荐

【杂记】宽表/窄表—事实表/维度表—数仓分层(ODS/CDM/ADS)—增量表/全量表——电信行业常见指标

宽表与窄表 宽表:从字面意义上讲就是字段比较多的数据库表。 窄表:严格按照数据库设计三范式。尽量减少数据冗余,但是缺点是修改一个数据可能需要修改多张表 魔百和 魔百和基于家庭宽带网络,通过“魔百和”定制终端,以电视机为显示设备,向用户提供可点播的电视内容及应用, 同时提供多屏互动体验,着力打造“和视界”为多屏首发高清院线。 ODS表及CDR表 ODS——操作性数据 DW——数据仓库 DM——数据集市 1.数据中心整体架构 数据仓库的整理架构,各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对OD

积一时之步,臻千里之遥程 8641

事实表的三种类型设计

事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设 计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度 和与业务过程有关的度量。 1、三种事实表概述 事实表有三种类型 : 事务事实表、周期快照事实表和累积快照事实表。 1.1 事务事实表 也称原子事实表,描述业务过程,跟踪控件或时间上某点的度量事件,保存的是最原子的数据; 个人理解:类似于mysql binlog日志,每一次相关的 change 都记录下来,生成一行新的数...

someInNeed的博客 3013

数据仓库维度建模设计

文章目录1. 维度建模基本概念1.1. 维度表(dimension)1.2. 事实表(fact table)2. 维度建模三种模式2.1. 星型模式2.2. 雪花模式2.3. 星座模式3. 本项目中数据仓库的设计3.1. 事实表设计3.2. 维度表设计 1. 维度建模基本概念 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解...

bitmao888的博客 4374

数据仓库——事实表

累积快照事实表用来跟踪通过一系列处理步骤的个体项的进展情况,用于研究多数过程中里程碑或者事件的经过时间。事实表快照在确定的时间间隔中对问题的度量进行抽样,这样就可以容易地研究问题的度量值,而不需要聚集长期的事务历史。状态度量,通常可以从事务历史中构造出来,然而如果事务历史延伸到很远的过去,或者必须计算许多事务的状态,监控状态将是低效的办法。间隔时间的研究要求关联多个状态,在事务模型中,每个状态变化都将记录在事实表的不同行中。: 度量一系列事务的效果称为状态度量,当状态度量很重要时,事务事实表是无效率的。

a1473227656的博客 2004

事实表与维度表

事实表(Fact Table)是指存储有事实记录的表,如系统日志、销售记录等;事实表的记录在不断地动态增长,所以它的体积通常远大于其他表。 维度表(Dimension Table)或维表,有时也称查找表(Lookup Table),是与事实表相对应的一种表;它保存了维度的属性值,可以跟事实表做关联;相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。常...

我的祖传代码 2万+

GMSL2摄像头接入避坑指南:从FMC子卡配置到V4L2调用的完整流程(附Ubuntu20.04实测)

本文详细解析了GMSL2摄像头接入的全流程,从FMC子卡配置到V4L2调用的完整指南。基于XC7Z100平台实测经验,提供了硬件选型、带宽优化、Linux驱动配置及高分辨率采集的实战技巧,帮助开发者规避常见问题,提升系统稳定性与性能。

weixin_33737774的博客 418

数据仓库基本概念-事实表的三种分类

1      事实表分类 在数据仓库领域有一个概念叫Transaction fact table,中文一般翻译为“事务事实表”。事务事实表是维度建模的数据仓库中三种基本类型事实表中的一种,另外两种分别是周期快照事实表和累积快照事实表。 事务事实表与周期快照事实表、累积快照事实表使用相同的一致性维度,但是它们在描述业务事实方面是有着非常大的差异的。 1.1     事务事实表 事务事实表记录

5140

Vivado实战:如何用BUFGMUX_CTRL实现FPGA双时钟热切换(附时序约束模板)

本文详细介绍了如何使用Xilinx FPGA中的BUFGMUX_CTRL原语实现双时钟热切换的工业级解决方案。通过分析BUFGMUX_CTRL的核心机制、PCB布局约束和电源噪声抑制方法,提供Vivado实现全流程和时序约束模板,帮助工程师在工业自动化、车载电子等场景中提升系统可靠性。

weixin_29186249的博客 577

大数据治理域——事实表设计

本文详细介绍了数据治理域中的事实表设计。首先阐述了事实表的基本概念,包括其定义、粒度、关键特征、结构组成以及分类。接着通过订单事实表结构的例子,生动展示了事实表的实际应用。事实表是存储业务过程或事件中度量值的数据库表,以业务事件为中心,具有明确的粒度和可加性等特点,通常包含外键、度量指标等字段,可分为事务型、周期快照型和累积快照型三种。

庄小焱 1118

Matlab实战:水声信号DEMON谱分析从入门到精通(附完整源码)

本文详细介绍了使用Matlab进行水声信号DEMON谱分析的完整流程,从基础理论到实战应用,涵盖信号预处理、包络提取、频谱分析等关键步骤,并附完整源码。特别针对水声通信中的低信噪比环境,提供了多种优化方案和性能提升技巧,帮助读者快速掌握这一水下目标检测的核心技术。

gamma的博客 296

PCL 使用RANSAC拟合平面【2026最新版】

RANSAC拟合平面算法原理和实现流程详解以及最大迭代次数和内点期望概率的设置方法。最后再对拟合后的平面法向量与向量(1,1,1)进行定向。博客长期更新,最近一次更新时间为:2026年4月24日。

点云侠的博客 42万+

事实表和维度表是怎么造数据_数据仓库建模——维度表、事实表与星型模式

一、维度建模的基本概念维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。它本身属于一种关系建模方法,但和在操作型数据库中介绍的关系建模方法相比增加了两个概念:1. 维度表(dimension)表示对分析主题所属类型的描述。比如"昨天早上张三在京东花费200元购买了一个皮包"。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天...

weixin_39959505的博客 994

【Proteus仿真】基于AT89C51单片机的单片机双向通信

本文介绍了基于AT89C51单片机实现双向通信的系统设计。系统采用MAX232芯片实现TTL与RS-232电平转换,通过CONN-D9F接口建立串行通信连接。甲机程序通过按键控制发送不同指令字符,同时接收乙机数据驱动数码管显示;乙机程序根据接收指令控制LED显示状态,并可发送0-10数字至甲机。文中详细说明了MAX232电平转换原理、DB9接口定义,以及完整的单片机控制程序代码,包括串口初始化、数据收发处理等关键功能实现,为嵌入式系统串口通信开发提供了实用参考方案。

XU157303764的博客 1094

数据仓库--事实表和维度表

数据仓库的物理模型较常见的操作型数据库的物理模型有很大不同。最明显的区别是:操作型数据库主要是用来支撑即时操作,对数据库的性能和质量要求都比较高,为了防止“garbage in,garbage out”,通常设计操作型数据库的都要遵循几个范式的约束,除非少数情况下为了性能进行妥协,才可能出现冗余。而数据仓库的建立并不上为了支撑即时操作,或者说,数据仓库的数据是来源于即时操作产生的数据,而不是直接来

DavidWang9527的专栏 2万+

C++ (week6、7):Linux系统编程4:网络

Linux网络:计算机网络概述、TCP协议、Socket编程、IO多路复用机制(select、epoll)、HTTP协议、进程池、线程池、大文件网络传输问题

Edward2022的博客 1431

告别 DEFINE VIEW:CDS View Entity 迁移全景实战(报表迁移 + ADT 向导 + 避坑清单)

CDS迁移的关键要点与策略 CDS DDIC-based View已被标记为废弃,迁移到CDS View Entity成为必要。迁移面临的主要挑战包括激活成本、命名约束和依赖风险。ABAP 7.57及以上版本必须优先处理,否则将积累技术债务。 迁移方式主要有两种: 报表路线:适合渐进式迁移的On-Premise项目 ADT向导:适合云环境批量迁移 关键注意事项: 必须提前检查SQL View依赖关系 金额/数量字段需要显式引用单位/货币字段 建议按使用场景分批迁移 最佳实践是结合报表进行系统盘点,再通过AD

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 208

BI中事实表和维度表的定义

    一个典型的例子是,把逻辑业务比作一个立方体,产品维、时间维、地点维分别作为不同的坐标轴,而坐标轴的交点就是一个具体的事实。也就是说事实表是多个维度表的一个交点。而维度表是分析事实的一个窗口。         首先介绍下数据库结构中的星型结构,该结构在位于结构中心的单个事实数据表中维护数据,其它维度数据存储在维度表中。每个维度表与事实数据表直接相关,且通常通过一个键联接到事实数据

b00140045的专栏 433

RK3588 Buildroot 新建板级DTS

在rk3588 linux开发过程中,新创建板型主要基于硬件差异化、软件适配与优化、项目定制化等多方面需求。

501846585_QQAndroid_java 1298

【HBZ分享】数仓里面的概念-宽表-维度表-事实表概念讲解

数仓概念 1. 度量值: 可被统计的,比如:次数,销量,营销额,订单表中的下单金额等可以统计的值叫度量值 2. 维度表: (1). 对事实描述的信息,每一张表都对应现实世界中的一个对象或概念,比如:用户,商品,日期,地区维度 (2). 比如要分析商品的销售情况如何,就可以从商品类型,或者地区销售情况来进行分析 (3). 所谓维度,其实就是从什么角度进行分析 比如从用户的角度, 比如从商品类型,每种类型商品的销售量等 比如

a645293829的博客 3836

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【大数据】数据仓库维度建模入门

对数据分析越来越深入,越来越发现数据标准化的重要性,再高明的数据分析技术,没有规范统一的数据仓库,也是“巧妇难为无米之炊”。遂从头再对数据仓库技术进行一边梳理。   1. 维度建模理论概要 1.1 维度设计的主要流程 1.1.1 选择业务过程 业务过程是组织完成的操作性活动,例如:获得订单、处理保险索赔、学生课程注册或每个月每个账单的快照等。业务过程事件建立或获取性能度量,并转换成事实表...

探索世界,改变世界 3056

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

12 数据仓库理论

数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储之后,数据才能高性能、低成本、高效率、高质量的使用。事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计。其包含与该业务过程有关的维度引用以及该业务过程的度量。事务型事实表用来记录各个业务过程,保存各业务过程原子操作事件,即最细粒度的操作事件。粒度是指事实表中一行数据所表达的业务细节程度。

qq_41758289的博客 957

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Z05 - 019、模块开发:数据仓库设计 - 维度建模基本概念

0、 初学耗时:0.5h 注:优快云手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。 一、   1.1    1.2  记忆词:   离线数据分析  ギ 舒适区ゾ || ♂ 累觉无爱 ♀ 一、   1.1 ~    1.2 ~      1.2.1 .       1.2.2 .   烟锁池塘柳。 - - - ...

吾心持剑,剑锋披靡 321

B. 数据仓库 --- 建模技术 --- 基本概念

B. 数据仓库 — 建模技术 — 基本概念 基本概念 收集业务需求与数据实现 协作维度建模研讨:需要业务经验丰富的领域专家参与 维度设计 基于关系型数据的星型模式与OLAP多维数据库 事实表 事实表结构 一行对应一个度量事件 外键,用于关联与之相关的维度,也包含可选的退化维度和日期/时间戳 操作特性 可加性度量:按照与事实表关联的任意维度汇总 半可加性度量:对某些维度汇总,但不...

micklongen的专栏 325
上一篇: 建模核心概念
下一篇: mysql学习总结(二)进阶内容
piepis
博客等级 码龄10年 104粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

piepis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值