维度

维度数据模型建模过程

泄露秘密 提交于 2019-12-02 11:09:17
维度数据模型建模过程 选择业务流程 描述需要建模的业务流程。例如,需要了解和分析一个零售店的销售情况,那么与该零售店销售相关的所欲业务流程都是需要关注的。 声明粒度 声明维度模型的粒度,用于确定事实中表示的是什么,例如,一个零售店的顾客在购物小票上的一个购买条目。 确认维度 典型的维度都是名词,如日期、商店、库存等。维度表存储了某一维度的所有相关数据,例如,日期维度应该包含年、季度、月、周、日等数据。每个数据仓库中都应该有一个日期维度。 确认事实 这一步是数字化的度量,构成事实表的记录。它是和系统的业务用户密切相关的,因为用户正是通过对事实表的访问获得数据仓库存储的数据。大部分事实表的度量都是数字类型的,可累加,可计算,如成本、数量、金额等。 来源: https://blog.csdn.net/lilele12211104/article/details/102754986

Kylin 入门

心已入冬 提交于 2019-12-02 10:31:45
1 Kylin 概述 1.1 Kylin定义 Apache Kylin 是一个开源的分布式分析引擎,提供 Hadoop/Spark 之上的 SQL 查询接口及多个维度分析(MOLAP)能力以支持超大规模数据,它能在亚秒内查询巨大的 Hive 表。 1.2 术语解释 Data Warehouse(数据仓库):数据仓库是一个各种数据(包括历史数据和当前数据)的中心存储系统,是BI( business intelligence ,商业智能)的核心部件 Business Intelligence(商业智能):商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具 OLAP(online analytical processing):OLAP(online analytical processing)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的,从各方面观察信息,也就是从不同的维度分析数据,因此 OLAP 也成为多个维度分析 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0HJ5DNxT-1571934654744)(https://oscimg.oschina.net/oscnet/bf3b2155496868c5d12b129ee5774992daa.jpg)] 星型模型:

使用PCA进行特征降维

孤人 提交于 2019-12-02 05:44:50
特征降维: 特征降维是无监督学习的另一个应用,目的有二:其一,我们会经常在实际项目中遭遇特征维度非常之高的训练样本,而往往又无法借助自己的领域知识人工构建有效特征; 其二,在数据表现方面,我们无法用肉眼观测超过三个维度的特征。因此,特征降维不仅重构了有效的低维度特征向量,同时也为数据展现提供了可能。 在特征降维的方法中,主成分分析是最为经典和实用的特征降维技术,特别在辅助图像识别方面有突出的表现。 如何用矩阵的秩来判别向量组的线性相关性: m×n 矩阵 A ,如果 r(A) = m < n,则行向量组无关,列向量组相关, 如果 r(A) = k < min(m,n),则行向量组、列向量组都相关, 如果 r(A) = n < m,则列向量组无关,行向量组相关。 如果 r(A) = m = n ,则行向量组、列向量组都无关。 如下图代码所示,我们有一组2*2的数据[(1,2),(2,4)]。假设这两个数据都反映到一个类别(分类)或者一个类簇(聚类)。如果我们的学习模型模型是线性模型,那么这两个数据其实只能帮助权重参数更新一次,因为他们线性相关,所有的特征数值都只是扩张了相同的倍数;如果使用PCA分析的话,这个矩阵的“秩”是1,也就是说,在多样性程度上,这个矩阵只有一个自由度。 #--线性相关矩阵秩计算样例 #导入numpy工具包 import numpy as np #初始化一个2

退化维度

时光总嘲笑我的痴心妄想 提交于 2019-12-02 05:03:57
https://blog.csdn.net/wzy0623/article/details/49797421 来源: https://blog.csdn.net/CSDN_bird/article/details/102719033

如何避免维度灾难与过拟合

こ雲淡風輕ζ 提交于 2019-12-02 04:56:38
简而言之,当训练样本数量不变,分类器性能会随着选取的特征维度的增大先增大后减小,也就是说只有在特征维度数量和样本数量稳定在一定范围内,分类器性能才会最优,但目前没有什么固定的方法去计算二者之间的关系。 过拟合就是当训练样本数量不变,分类器性能随着特征维度增大而减小,直观的体现就是测试训练样本分数很高,一旦测试新数据分数就下降。 如何避免维度灾难? 那些对于非线性边界能拟合很好的分类器一般泛化性比较差,而且容易过拟合。所以当使用这些分类器时,特征的数量尽量保持小些(如神经网络、KNN、决策树等)。如果使用一些易泛化的分类器,那么特征数可以用多些(如朴素贝叶斯、线性分类器等) 来源: https://www.cnblogs.com/niulang/p/11730849.html

3.2.10、Google Tag Manager实战指南—— 获取用户IP

一曲冷凌霜 提交于 2019-12-01 23:33:15
众所周知,GA里面是没有提供IP这个字段的,而且也明文规定不准上传能够识别用户的信息。但是很多用户,特别是大陆地区的用户在习惯了百度统计提供IP用于用户计数,也希望GA能够获取的到用户IP,实际上是可以实现的,但是不要明文上传IP,做些装饰,还是可以实施的。获取IP还有一个实用的作用就是可以用于垃圾流量的分析,如某个IP的访问很多,跳出率很高,那这个基本就可以判定是刷量。 原理:用js去通过第三方API查询获取得到用户的IP的信息,然后将IP加密写入Cookie,再通过GTM读取第一方Cookie后用自定义维度去存储。这里用的是搜狐的API去查询用户的IP,返回有两个字段,一个是IP,一个地区名。 详细实现过程: 1、在GTM通过自定html去查询搜狐API,然后在获得的IP后面加上.741并将IP写入Cookie里面,Cookie名为IPnum。在GTM中选择“代码”→“新建”→“选择一个代码类型以设置”→“自定义HTML”,然后将代码复制进入(代码去GA小站网站获取),触发器选择All Pages,完整的配置如图3-92所示: 图3-92 设置IP 2、在变量中用第一方Cookie获取IP,在GTM中选择“代码”→“新建”→“选择一个代码类型以设置”→“第一方Cookie”,然后做如图3-93所示配置 3、在GA中选择“管理”→“自定义定义”→“自定义维度

3.2.6 、Google Tag Manager实战指南——用UserID将后台数据与GA数据打通

谁说胖子不能爱 提交于 2019-12-01 23:31:57
在实际的应用中,我们往往需要将我们自己后台的数据库里面的数据跟GA里面的用户匹配起来,或是想知道不同用户在不同设备的使用情况,跨设备的使用情况,这一切都有赖于使用User ID来实现,实现的原理如图3-53所示。 实现原理:GA中的用户唯一标示符是userid,通过用自己生成的唯一标识符覆盖GA自动生成的即可,详细过程为:用户注册生成ID的时同时生成ID的Hash值GA_UID,两者之间是一一对应关系,再将GA_UID设置成页面的全局变量,在GTM中通过js变量将GA_UID读入,是在GA中自定义维度新建一个维度,记录索引1,在GTM中GA的默认代码中的自定义维度中填入索引1和js变量getUserId即可。 图3-53 User ID实现原理图 1.为什么用User ID: 从上面原理可以知道User ID才是用户唯一标识,而Client ID会由于设备,浏览器等因素而不同,因此不适用. 2.实现过程: 1、用户注册时生成账户ID同时生成ID的Hash值GA_UID,如下:当我注册用户时候,账户id为789,生成的hash值为c11e9d2df001eb40f3c124041b1400d4 ID GA_UID 789 c11e9d2df001eb40f3c124041b1400d4 2、将GA_UID设置成页面的全局变量,如图3-54所示: 图3-54 GA_UID设置成全局变量

3.2.5 、Google Tag Manager实战指南——全局变量转自定义维度

一世执手 提交于 2019-12-01 23:31:50
在做AB test的时候,由于页面的不同,两种类型的用户可能会有不同的表现,但用户在分类的时候一般采用随机的方式,看两类用户的行为表现,这里就需要在页面添加一个用户分组字段,如A组走新界面,B组走旧界面。这就需要一个字段能够在GA上将两类用户做区分,可以通过GTM读入全局变量后转成GA维度的方法,具体原理如图3-49所示。 实现原理:将分组标示作为页面的全局变量,变量中的JavaScript变量读取全局变量,然后在GA中自定义维度新建一个字段,记下索引,在GA默认跟踪代码中自定义维度分别增加变量新建的变量和GA中自定位维度的索引即可。 图3-49 全局变量转自定义维度原理 详细设置过程: 1、在GA新建自定义维度 在GA中单击“管理”→“自定义维度”→“+新建自定义维度”,然后记下其索引数值,这是索引数值是6。 2、将分组变量放到页面上去 这个需要开发支持,将对应的字段按照如下格式放到页面上去: 代码清单3-4 <scrIPt> MonthGroup="A"; </scrIPt> 3、获取页面分组变量 在GTM中单击“变量”→“用户自定义的变量”→“新建”→“选择一个变量类型以开始设置…”→“JavaScript变量”,做如图3-51所示的配置: 图3-51 JavaScript变量设置 4、将全局变量转自定义维度 在GA默认跟踪代码中,找到“更多设置”里的自定义维度,然后做如图3

关于竞品分析,这应该是最实用的分析流程

吃可爱长大的小学妹 提交于 2019-12-01 19:29:32
为什么要做竞品分析?无非就是当你有了一个初步的产品想法之后,但是却不能够明确这个想法到底靠不靠谱,它是否真的解决了用户的某些需求,这些需求算不算痛点,也不知道市面上是否已经有了与你想法相似的产品,他们是怎么做的,是否做得足够好,还有哪些待挖掘的机会等等。 此时你脑中的想法一定只是个demo版,非常的初级,是一个朦朦胧胧的状态,甚至你都说不清它到底是来源于哪里,可以是从以往生活经历中随意调取到的一个记忆点,或者是某个月黑风高的夜晚做的一个不知所以然的梦。 例如你在某一天的下午突然冒出一个念头,觉得自己想开个肠粉店,为什么会突然有这样的想法,很有可能就是你中午吃饭的时候闻到一阵飘来的肠粉的香味,而到了下午辘辘饥肠的时候脑里面就自动调取了这一部分记忆使之你有了这个莫名其妙的想法。 当然,想法的来源有时也非常明确,例如说你可能对某个产品的形态很感兴趣,所以你有了做这个产品的想法,或者是当你体验了某个应用商店app,有种透彻了解这类产品的想法,还有就是leader直接给予你的产品任务,例如他会跟你说阿毛啊,我们接下来公司想做一款新产品,是社交通讯类的产品,你好好去研究一下,看看怎么做更好。 因此,这时候的产品想法相对于前者来说来源就是明确的,但是不管来源是否明确,都存在着靠谱或者不靠谱的可能,无法判断这个想法是否有市场机会,你不能一拍脑袋就断定这个想法可不可行,想要真正明确这个想法是否有戏

关于tensorflow的规约函数

烈酒焚心 提交于 2019-12-01 13:24:06
规约函数都有降维的功能,每个函数都有维度线(axis) ,如果不指定,那么他的默认参数是None,就是把这个张量(tensor)降到0维度,也就是一个数。 规约函数如下: 函数 描述 reduce_sum ( input_tensor , axis = None , keep_dims = False , name = None , reduction_indices = None) 计算输入张量元素的和,或者按照axis指定的轴进行求和 reduce_prod(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None) 计算输入张量元素的乘积,或者按照axis指定的轴进行乘积 reduce_mix(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None) 计算输入张量元素的最小值 reduce_max(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None) 计算输入张量元素的最大值 reduce_mean(input_tensor,axis=None,keep_dims=False,name=None,reduction