维度

Numpy的tile函数

Deadly 提交于 2019-11-29 00:39:38
原文请戳链接:http://blog.sina.com.cn/s/blog_6bd0612b0101cr3u.html 1.函数的定义与说明 tile函数是模板numpy.lib.shape_base中的函数。 函数的形式是tile(A,reps) 函数参数说明中提到A和reps都是array_like的,什么是array_like的parameter呢?在网上查了一下,始终搞不明白,便把熟悉的python数据类型都试了一下,得出以下结论。 A的类型众多,几乎所有类型都可以:array, list, tuple, dict, matrix以及基本数据类型int, string, float以及bool类型。 reps的类型也很多,可以是tuple,list, dict, array, int,bool.但不可以是float, string, matrix类型。 假定A的维度为d,reps的长度为len 当d>=len时,将reps长度补足为d,即在reps前面加上d-len个1。 这里的意思是,假设A为k维数组,每一维都有一定长度,构成的向量为D。 而长度为len的reps有len个数,进行tile函数运算时补足d位,前面加d-len个1,如下图所示: 经过tile运算,生成新的A,A的各维维度为: 其中相乘的意思为,将原来A中每一维度的元素进行copy

[Python]numpy中tile函数的用法

北城以北 提交于 2019-11-29 00:39:21
1.函数的定义与说明 tile函数是模板numpy.lib.shape_base中的函数。 函数的形式是tile(A,reps) 函数参数说明中提到A和reps都是array_like的,什么是array_like的parameter呢?在网上查了一下,始终搞不明白,便把熟悉的python数据类型都试了一下,得出以下结论。 A的类型众多,几乎所有类型都可以:array, list, tuple, dict, matrix以及基本数据类型int, string, float以及bool类型。 reps的类型也很多,可以是tuple,list, dict, array, int,bool.但不可以是float, string, matrix类型。 假定A的维度为d,reps的长度为len 当d>=len时,将reps长度补足为d,即在reps前面加上d-len个1。 这里的意思是,假设A为k维数组,每一维都有一定长度,构成的向量为D。 Numpy的tile函数 而长度为len的reps有len个数,进行tile函数运算时补足d位,前面加d-len个1,如下图所示: Numpy的tile函数 经过tile运算,生成新的A,A的各维维度为:Numpy的tile函数 其中相乘的意思为,将原来A中每一维度的元素进行copy,生成的A中此元素出现次数为新的reps对应维度的数目

异常检测(2)——基于概率统计的异常检测(1)

放肆的年华 提交于 2019-11-28 22:39:41
  某个工厂生产了一批手机屏幕,为了评判手机屏幕的质量是否达到标准,质检员需要收集每个样本的若干项指标,比如大小、质量、光泽度等,根据这些指标进行打分,最后判断是否合格。现在为了提高效率,工厂决定使用智能检测进行第一步筛选,质检员只需要重点检测被系统判定为“不合格”的样本。   智能检测程序需要根据大量样本训练一个函数模型,也许我们的第一个想法是像监督学习那样,为样本打上“正常”和“异常”的标签,然后通过分类算法训练模型。假设x test 是数据样本,predict(x test )来判断x test 是否是合格样本。某个偷懒的家伙写下了这样的代码: def predict(xtest): return 1    由于工厂的质量管理过硬,仅有极少数不合格样本,因此这段荒唐的预测居然展现出极高的准确率!这是由于严重的数据偏斜导致的,或许我们可以通过查准率(Precision)和召回率(Recall)两个指标识别出这段不负责任的代码,但是当你再次试图使用某个监督学习算法时,仍然会面对同样的问题——仅有极少数不合格样本,以至于监督学习无法学到足够的知识。能否从极度偏斜的数据中学习出一个有效的检测模型呢?当然能,这就是基于统计的异常检测。这类方法通常会假设给定的数据集服从一个随机分布模型,将与模型不一致的样本视为异常样本。其中最常用的两种分布模型是一元正态分布模型和多元正态分布模型。

【pytorch】pytorch-LSTM

二次信任 提交于 2019-11-28 21:05:12
pytorch-LSTM() torch.nn包下实现了LSTM函数,实现LSTM层。多个LSTMcell组合起来是LSTM。 LSTM自动实现了前向传播,不需要自己对序列进行迭代。 LSTM的用到的参数如下:创建LSTM指定如下参数,至少指定前三个参数 input_size: 输入特征维数 hidden_size: 隐层状态的维数 num_layers: RNN层的个数,在图中竖向的是层数,横向的是seq_len bias: 隐层状态是否带bias,默认为true batch_first: 是否输入输出的第一维为batch_size,因为pytorch中batch_size维度默认是第二维度,故此选项可以将 batch_size放在第一维度。如input是(4,1,5),中间的1是batch_size,指定batch_first=True后就是(1,4,5) dropout: 是否在除最后一个RNN层外的RNN层后面加dropout层 bidirectional: 是否是双向RNN,默认为false,若为true,则num_directions=2,否则为1 为了统一,以后都 batch_first=True LSTM的输入为: LSTM(input,(h0,co)) 其中,指定 batch_first=True​ 后,input就是 (batch_size,seq_len

使用 dataset 管理数据(官网)

瘦欲@ 提交于 2019-11-28 15:04:15
ECharts 4 开始支持了 dataset 组件用于单独的数据集声明,从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射 。这在不少场景下能带来使用上的方便。 ECharts 4 以前,数据只能声明在各个“系列(series)”中, 例如: option: { xAxis: { type: 'category', data: ['Matcha Latte', 'Milk Tea', 'Cheese Cocoa', 'Walnut Brownie'] }, yAxis: {} series: [ { type: 'bar', name: '2015', data: [89.3, 92.1, 94.4, 85.4] }, { type: 'bar', name: '2016', data: [95.8, 89.4, 91.2, 76.9] }, { type: 'bar', name: '2017', data: [97.7, 83.1, 92.5, 78.1] } ] } 这种方式的优点是,直观易理解,以及适于对一些特殊图表类型进行一定的数据类型定制。 但是缺点是,为匹配这种数据输入形式,常需要有数据处理的过程,把数据分割设置到各个系列(和类目轴)中。此外,不利于多个系列共享一份数据,也不利于基于原始数据进行图表类型、系列的映射安排。 于是,ECharts

ETL子系统

女生的网名这么多〃 提交于 2019-11-28 14:57:38
  最近在看《Pentaho Kettle 解决方案》,看到 ETL子系统,发现信息量比较大,用简短的语句做一下笔记。   ETL子系统有34种子系统,被分成4个部分:抽取、清洗和更正、发布、管理。 一、抽取  子系统1:数据剖析系统   指从不同源系统中搜集数据的统计信息或其他相关信息的过程,目的是分析不同数据源的结构和内容。  子系统2:增量数据捕获系统   目的是捕获系统里的数据的变化。由于数据量大以及网络的延迟,数据完成初始加载后,不应再把数据重新加载一边,为了识别出有变化或更新的数据,增加时间戳或快照的方式。  子系统3:抽取系统   从不同数据源抽取数据,并输入到ETL流程里。 二、清洗和更正   几乎没有什么数据是不存在问题的,因此数据加载到数据仓库之前要增加一些步骤来清洗和更正这些数据。另外,每个系统存储数据得方式不同,比如有些数据源里,性别表示为 0,1;有些数据源里用“男”,“女”表示,存进数据仓库里面应该有统一的规范。  子系统4:数据清洗和质量处理系统   这个过程主要是修改和整理进入到 ETL 流程的脏数据,提高数据的质量。  子系统5:错误事件处理   错误事件处理的目的是记录下 ETL 过程中的每一个错误。这样便于管理员定期监控和分析错误。  子系统6:审计纬度   审计维度表是一类特殊的维度表,数据仓库里的所有事实表都和审计纬度表关联

文献阅读报告 - Move, Attend and Predict

人走茶凉 提交于 2019-11-28 12:50:23
Citation Al-Molegi A , Martínez-Ballesté, Antoni, Jabreel M . Move, Attend and Predict: An Attention-based Neural Model for People’s Movement Prediction[J]. Pattern Recognition Letters, 2018:S016786551830182X. 概览 本文与之前所阅读的几篇轨迹预测文章不同,其采纳循环神经网络对小场景中轨迹预测的提升,将其运用于 更大时间跨度(最小为小时,由GPS、打卡机等设备采集)的地点变换预测 上。具体来说,定义 Move, Attend and Predict (MAP) 模型,模型的输入由(二维地址, 时间戳)构成,输出则为根据以往地址信息所预测的 下一个地址 ,模型由RNN编码器、注意力模型和预测模型三部分组成,总体来说结构比较简单,某些技术受限于期刊审核时间稍有滞后,但其在实验评估部分的方法留留给我了一些启示,稍后将在文章中给出。 HighLights 时间信息与注意力机制 :以往相关研究如STF-RNN网络将(地点独热值,时间点独热值)元组一并嵌入作为循环神经网络的输入。而MAP模型则采用另一种思路,引入注意力模型,使用RNN单独处理二维地址信息并保存输出

【Numpy】数组的计算2

大憨熊 提交于 2019-11-28 11:10:39
1. 聚合:最小值、最大值和其他值 当面对大量数据时,第一个步骤通常是计算相关数据的概括统计值,最常用的概括统计值可能是均值和标准差,这两个值都能让你分别概括数据集中的“经典”值,但是其他一些形式的聚合也是很有用的(如求和,乘积,中位数,最大值和最小值,分位数等) numpy有非常快速的内置聚合函数可用于数组 1.1 数组值求和 计算一个数组所有元素的和,可以使用Python本身内置的sum函数来实现: 1 import numpy as np 2 3 l = np.random.random(100) 4 5 sum(l) 6 Out[7]: 52.340268364356575 它的语法与Numpy的sum函数非常相似 1 np.sum(l) 2 Out[8]: 52.34026836435658 但是,因为Numpy中的sum函数是在编译码中执行操作,所以操作计算更快一些 1 big_array = np.random.rand(1000000) 2 3 %timeit sum(big_array) 4 70.5 ms ± 424 µs per loop (mean ± std. dev. of 7 runs, 10 loops each) 5 6 %timeit np.sum(big_array) 7 1.01 ms ± 2.02 µs per loop (mean ±

Echarts-数据的视觉映射

限于喜欢 提交于 2019-11-28 09:55:43
来源:官网,自己整理 数据可视化是 数据 到 视觉元素 的映射过程(这个过程也可称为视觉编码,视觉元素也可称为视觉通道) 。 ECharts 的每种图表本身就内置了这种映射过程,比如折线图把数据映射到『线』,柱状图把数据映射到『长度』。一些更复杂的图表,如 graph 、 事件河流图 、 treemap 也都会做出他们内置的映射。 此外,ECharts 还提供了 visualMap 组件 来提供通用的视觉映射 。 visualMap 组件中可以使用的视觉元素有: 图形类别(symbol) 、 图形大小(symbolSize) 颜色(color) 、 透明度(opacity) 、 颜色透明度(colorAlpha) 、 颜色明暗度(colorLightness) 、 颜色饱和度(colorSaturation) 、 色调(colorHue) 下面对 visualMap 组件的使用方式进行简要的介绍。 数据和维度 ECharts中的数据,一般存放于 series.data 中。根据图表类型不同,数据的具体形式也可能有些许差异。比如可能是『线性表』、『树』、『图』等。但他们都有个共性:都是『数据项(dataItem)』的集合。每个数据项含有『数据值(value)』和其他信息(如果需要的话)。每个数据值,可以是单一的数值(一维)或者一个数组(多维)。 例如, series.data

Kylin

风流意气都作罢 提交于 2019-11-28 08:17:14
为什么需要Kylin? Hadoop帮助我们解决了海量数据的存储。 早期使用Hadoop的MapReduce计算模型,太慢了,只能做离线计算,无法做实时计算与迭代式计算。 Spark应运而生,并带动了Scala语言的发展,Spark的MapReduce计算模型比Hadoop的MapReduce计算模型性能提升了数十倍。 在现今的企业发展中,数据的增量是每日以百MB、G为单位的增长,面对如此之大的规模性数据增长,及运营成本、硬件成本、响应速度等各方面影响下,Spark也够呛。 在这种情况下,企业查询一般分为即席查询和定制查询。 即席查询: Hive、SparkSQL等OLAP引擎,虽然在一定程度上降低了数据分析的难度,但他们只用于即席查询的场景, 优点 就是用户根据自己的需求,自定义、灵活的选择查询条件,与普通查询最大的区别在于普通查询时根据应用定制的开发查询条件,但 随着数据量和计算复杂度的增长,响应数据无法得到保证 。 实时查询: 多数情况下是对用户的操作做出实时反应,Hive等查询引擎很难满足实时查询,一般只能对数据库中的数据进行提取计算,然后 将结果存入MySQL等关系型数据库 ,最后提供给用户进行查询,随着后面海量数据的递增, 这种方式的代价很大 。 Kylin不同于大规模并行处理的Hive等架构,Kylin是 预计算 的模式,我们提前定义好查询的维度