维度

numpy的基本使用(一)

孤人 提交于 2019-11-29 17:18:11
numpy概述 numpy(Numerical Python)提供了python对多维数组对象的支持: ndarray ,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy支持比Python更多种类的数值类型。NumPy数值是 dtype (数据类型)对象的实例,每个对象具有唯一的特征。 创建ndarray数组 ndarray :N维数组对象(矩阵),所有元素必须是相同类型。 ndarray属性:ndim属性,表示维度个数;shape属性,表示各维度大小;dtype属性,表示数据类型。 ndarray 内部由以下内容组成: 一个指向数据(内存或内存映射文件中的一块数据)的指针。 数据类型或 dtype,描述在数组中的固定大小值的格子。 一个表示数组形状(shape)的元组,表示各维度大小的元组。 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。 数组创建函数 创建一个 ndarray 只需调用 NumPy 的 array 函数 即可: numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) 参数说明: import numpy as np

设计模式课程 设计模式精讲 15-1 桥接模式讲解

走远了吗. 提交于 2019-11-29 16:23:34
1    桥接模式讲解 1.1  类型: 1.2  定义: 1.3  适用场景: 1.4  优点: 1.5  缺点: 1.6  与其他设计模式关系: 1    桥接模式讲解 1.1  类型: 结构型 1.2  定义: ◆定义:将抽象部分与它的具体实现部分分离,使它们都可以独立地变化 ◆合成复用原则中提到:优先通过组合的方式建立两个类之间联系,而不是继承,继承过多会发生类爆炸的情况 1.3  适用场景: ◆a  抽象和具体实现之间增加更多的灵活性 适用桥接模式可以避免两个层次之间建立静态的继承关系,通过桥接模式使他们之间建立一种关联关系 , 抽象部分和具体实现部分它们都可以通过继承的方式独立的扩展,并且互不影响,就可以动态的将一个抽象化子类的对象和一个实现化的子类对象,进行组合。 这样我们抽象化的角色和实现化的对象就实现了解耦 ◆b  一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展 ◆c  不希望使用继承,或因为多层继承导致系统类的个数剧增 1.4  优点: ◆a  分离抽象部分及其具体实现部分 桥接模式使用了组合,也就是说 使用对象与对象之间的关系,来解耦了抽象和实现之间的固有的绑定关系,使抽象和实现可以沿着各自的维度去变化来扩展。 抽象和实现不再在一个继承的层次中,从而通过组合获得多维度的组合对象 ◆b  提高了系统的可扩展性

推荐系统起手式-几种简单推荐模型(基于内容的推荐)

五迷三道 提交于 2019-11-29 15:12:53
一.基于内容的推荐 所谓基于内容信息的推荐系统,其实就是用特征(Feature)来表示用户、物品以及用户和物品的交互,从而能够把推荐问题转换成为监督学习任务。把推荐系统完全定义为监督学习任务,需要有这么几个步骤。 第一,就是我们已经提到的,需要把所有用户、物品的各种信号用特征来表示。这里面往往牵涉非常复杂和繁琐的特征工程,也就是看如何能够把不同的信息通过特征表达出来。 第二,就是每一个监督任务都需要面临的问题,如何构造一个目标函数,来描述当前的场景。可以说,这是最难的一个部分,也是和基于流行度和基于相似度的推荐系统的最大区别。 二.用户特征信息 用户向量化后的结果,就是 User Profile,俗称“用户画像”。对于用户来说,最基础、最首要的肯定是用户的基本特性,包括性别、年龄、地理位置。这三大信息其实可以涵盖用户特性工程中非常大的一块内容。这里不仅是最基本的这三个特性的值,还有围绕这三个特性发展出来的三大种类的特性。比如,不同性别在文章点击率上的差异,不同年龄层在商品购买上的差异,不同地理位置对不同影视作品的喜好等,这些都是根据这三个特性发展出来的更多的特性。然后,我们可以为用户进行画像(Profiling)。有显式的用户画像,比如用户自己定义的喜好,或者用户自己认为不愿意看到的物品或者类别。但是在大多数情况下,用户都不会为我们提供那么精准的回馈信息

数据分析之numpy

好久不见. 提交于 2019-11-29 14:46:34
一、NumPy Ndarray 对象 NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。 ndarray 对象是用于存放同类型元素的多维数组。 ndarray 中的每个元素在内存中都有相同存储大小的区域。 ndarray 内部由以下内容组成: 一个指向数据(内存或内存映射文件中的一块数据)的指针。 数据类型或 dtype,描述在数组中的固定大小值的格子。 一个表示数组形状(shape)的元组,表示各维度大小的元组。 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。 numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) """ object 数组或嵌套的数列 dtype 数组元素的数据类型,可选 copy 对象是否需要复制,可选 order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认) subok 默认返回一个与基类类型一致的数组 ndmin 指定生成数组的最小维度 """ View Code 二、Numpy数据类型 numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上

数据分析相关学习 -1 numpy

∥☆過路亽.° 提交于 2019-11-29 14:45:58
前情提要:   数据分析:把一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究 对象的内在规律   数据分析的三剑客: numpy,pandas,matplotlb      numpy是python语言的一个扩展程序库,支持大量的维度数组与矩阵的运算  ,此外,也针对数组的运算,提供了大量的数学函数库 一: 创建ndarray 导包 import numpy as np 1: 创建数组 np.array()   1=>1: 创建一个一维数组 np.array([1,2,3,4,5]) 输出: array([1, 2, 3, 4, 5])   1=>2:创建一个二维数组 in: np.array([[1,2,3],[4,'a',6],[6,7,8]]) out: array([['1', '2', '3'], ['4', 'a', '6'], ['6', '7', '8']], dtype='<U11')      注意: numpy的默认的ndarray的所有数据元素的类型是相同的.         如果传进ladies列表中包含不同的类型,则统一为统一类型       优先级:         str>float>int    2:使用np的routines函数创建     包含以下常见创建方法:       2=>1:       np.ones(shape,dtype

Numpy 基础 一

爱⌒轻易说出口 提交于 2019-11-29 14:42:10
1 # coding:utf-8 2 3 4 import numpy as np 5 import pandas as pd 6 7 # 1. 获得 Numpy 的版本信息 8 print(np.__version__) 9 print(pd.__version__) 10 11 # ================================================================================== 12 # Ndarray 对象 13 # np.ndarray(object, dtype = None, copy=true, order = None, subok = False, ndmin = 0) 14 # ================================================================================== 15 16 # object: 数组或者嵌套的数列 17 # dtype: 数组元素的类型 18 # copy: 对象是否需要复制 19 # order: 创建数组的样式, C 行方向, F 列方向, A 任意方向 20 # subok: 返回一个与基类型一致的数组 21 # ndmin:制定生成数组的最小维度 22 23 arr = np.ndarray(

你需要的不是实时数仓 | 你需要的是一款强大的OLAP数据库(上)

限于喜欢 提交于 2019-11-29 12:40:19
来源:大数据技术与架构 作者:王知无 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! By 大数据技术与架构 场景描述: 今年有个现象,实时数仓的建设突然就被大家所关注。我个人在公众号也写过和转载过几篇关于实时数据仓库建设的文章和方案。 对于实时数仓的狂热追求大可不必如此。 关键词: 实时数仓 OLAP架构选型 声明:本文参考了阿里巴巴菜鸟网络,知乎,网易严选,美团的实时数仓设计的公开技术文章,感谢以上各位技术同学无私付出。参考链接在文末给出。 《大数据技术与架构》读者拥有本文的优先阅读权。 本文版权个人所有,未经作者本人允许不得转载。 阿里巴巴F4 · A band镇贴 前言 今年有个现象,实时数仓建设突然就被大家所关注。我个人在公众号也写过和转载过几篇关于实时数据仓库的文章和方案。 但是对于实时数仓的狂热追求大可不必如此。 首先,在技术上几乎没有难点,基于强大的开源中间件实现实时数据仓库的需求已经变得没有那么困难。其次,实时数仓的建设一定是伴随着业务的发展而发展,武断的认为Kappa架构一定是最好的实时数仓架构是不对的。实际情况中随着业务的发展数仓的架构变得没有那么非此即彼。 在整个实时数仓的建设中,OLAP数据库的选型直接制约实时数仓的可用性和功能性。本文从业内几个典型的数仓建设和发展情况入手,从架构

Tensorflow - tf常用函数使用(持续更新中)

天大地大妈咪最大 提交于 2019-11-29 05:01:35
本人较懒,故间断更新下常用的tf函数以供参考: 一: tf.reduce_sum( ) reduce_sum( ) 个人理解是降维求和函数,在 tensorflow 里面,计算的都是 tensor,可以通过调整 axis 的维度来控制求和维度。 参数: input_tensor:要减少的张量.应该有数字类型. axis:要减小的尺寸.如果为None(默认),则缩小所有尺寸.必须在范围[-rank(input_tensor), rank(input_tensor))内. keep_dims:如果为true,则保留长度为1的缩小尺寸. name:操作的名称(可选). reduction_indices:axis的废弃的名称. 返回: 该函数返回减少的张量. numpy兼容性 相当于np.sum; 此处axis为tensor的阶数,使用该函数将消除tensor指定的阶axis,同时将该阶下的所有的元素进行累积求和操作。 看一个官方示例: x = tf.constant([[1, 1, 1], [1, 1, 1]]) tf.reduce_sum(x) # 6 tf.reduce_sum(x, 0) # [2, 2, 2] tf.reduce_sum(x, 1) # [3, 3] tf.reduce_sum(x, 1, keep_dims=True) # [[3], [3]] tf

numpy数组对象的维度操作

余生颓废 提交于 2019-11-29 03:19:23
1、视图变维(数据共享):reshape()与ravel() import numpy as np a = np.arange(1, 9) print(a) b = a.reshape(2, 4) print(b) c = b.reshape(2, 2, 2) print(c) d = c.ravel() print(d) e = c.flatten() print(e) e += 10 print(e, c, sep='\n')   改变a,b,c,d中任何一个数组,其他数组都会发生变化,原因是b,c,d都是a的视图,数据指向的是a的地址,并没有重新开辟内存保存数据。 2、复制变维(数据独立):flatten()与copy()   flatten()也是将多维数组变成一维数组,改变e,c不变,说明两个数组是相互独立,数据不共享,相当于复制。 3、直接变维(不返回新数组,直接改变原数组对象的维度):shape()与resize() a.reshape(2, 4) print(a) a.size(2, 2, 2) print(a)          来源: https://www.cnblogs.com/jason--/p/11442089.html

GCN和GCN在文本分类中应用

跟風遠走 提交于 2019-11-29 02:39:12
1.GCN的概念 传统CNN卷积可以处理图片等欧式结构的数据,却很难处理社交网络、信息网络等非欧式结构的数据。一般图片是由c个通道h行w列的矩阵组成的,结构非常规整。而社交网络、信息网络等是图论中的图(定点和边建立起的拓扑图)。 传统CNN卷积面对输入数据维度必须是确定的,进而CNN卷积处理后得到的输出数据的维度也是确定的。欧式结构数据中的每个点周边结构都一样,如一个像素点周围一定有8个像素点,即每个节点的输入维度和输出维度都是固定的。而非欧式结构数据则不一定,如社交网络中A和B是朋友,A有n个朋友,但B不一定有n个朋友,即每个节点的输入维度和输出维度都是不确定的。 所以不能使用CNN来对社交网络、信息网络等数据进行处理,因为对A节点处理后得到输出数据的维度和对B节点处理后得到输出数据维度是不一样的。为了得到社交网络、信息网络的空间特征所以我们使用GCN(Graph Convolutional Network)来处理。 2. GCN工作原理 图1 一个GCN的实例(图片来源网页[3]) 同一般的卷积神经网络不同,GCN输入的数据是一个图拓扑矩阵,这个拓扑矩阵一般是图的邻接矩阵。 2.1 概念定义 概念 定义 G 一个拓扑图定义为G=(V,E) 其中V是节点集合,E是边集合。 N N是图中节点个数,即|V| F 节点的特征数,不同学习任务F不同 X 网络初始化矩阵,