维度

[python机器学习及实践(6)]Sklearn实现主成分分析(PCA)

大憨熊 提交于 2020-02-14 03:41:37
1.PCA原理 主成分分析(Principal Component Analysis,PCA), 是一种统计方法。通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。 PCA算法: 2.PCA的实现 数据集: 64维的手写数字图像 代码: #coding=utf-8 import numpy as np import pandas as pd from sklearn.decomposition import PCA from matplotlib import pyplot as plt from sklearn.svm import LinearSVC from sklearn.metrics import classification_report #1.初始化一个线性矩阵并求秩 M = np.array([[1,2],[2,4]]) #初始化一个2*2的线性相关矩阵 np.linalg.matrix_rank(M,tol=None) # 计算矩阵的秩 #2.读取训练数据与测试数据集。 digits_train = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/optdigits/optdigits.tra', header=None)

欧式聚类详解(点云数据处理)

心不动则不痛 提交于 2020-02-13 11:18:26
欧式聚类详解(点云数据处理) 欧式聚类是一种基于欧氏距离度量的聚类算法。基于KD-Tree的近邻查询算法是加速欧式聚类算法的重要预处理方法。 KD-Tree最近邻搜索 Kd-树是K-dimension tree的缩写,是对数据点在k维空间中划分的一种数据结构;Kd-树是一种平衡二叉树。为了能有效的找到最近邻,Kd-树采用分而治之的思想,即将整个空间划分为几个小部分。k-d树算法的应用可以分为两方面,一方面是有关k-d树本身这种数据结构建立的算法,另一方面是在建立的k-d树上如何进行最邻近查找的算法。 k-d tree是每个节点均为k维数值点的二叉树,其上的每个节点代表一个超平面,该超平面垂直于当前划分维度的坐标轴,并在该维度上将空间划分为两部分,一部分在其左子树,另一部分在其右子树。即若当前节点的划分维度为d,其左子树上所有点在d维的坐标值均小于当前值,右子树上所有点在d维的坐标值均大于等于当前值,本定义对其任意子节点均成立。 构建开始前,对比数据点在各维度的分布情况,数据点在某一维度坐标值的方差越大分布越分散,方差越小分布越集中。从方差大的维度开始切分可以取得很好的切分效果及平衡性。 KD-Tree构建原理 常规的k-d tree的构建过程为:循环依序取数据点的各维度来作为切分维度,取数据点在该维度的中值作为切分超平面,将中值左侧的数据点挂在其左子树

Numpy库入门

白昼怎懂夜的黑 提交于 2020-02-12 12:19:48
Numpy库入门 导入numpy import numpy as np 上述写法是导入numpy的惯例写法 array的一些重要属性 a = np.array([[0, 1, 2, 3, 4], [9, 8, 7, 6, 5]]) a.dim 2 a.dim表示a的维度个数,显然a是个二维的 a.shape (2, 5) a.shape表示a的维度信息,(2, 5)表示的是a是2 x 5 的从外到里 a.size 10 a.size表示a的元素个数 a.dtype dtype('int32') a.dtype表示的是a的元素类型 a.itemsize 4 a.itemsize表示的是a的单个元素所占的字节数 创建array的方法 通过列表创建 x = np.array([0, 1, 2, 3]) x array([0, 1, 2, 3]) 通过元组创建 x = np.array((4, 5, 6, 7)) 通过列表和元组的混合类型创建 x = np.array([[1, 2], [9, 8], (0.1, 0.2)]) print(x) [[1. 2. ] [9. 8. ] [0.1 0.2]] array的一些常用的函数 arange 生成序列 np.arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) ones 生成指定维度

R学习 第二篇:矩阵和数组

為{幸葍}努か 提交于 2020-02-11 09:40:10
向量是一维的,只有行这一个维度,没有其他维度。R可以创建更高维度的数据对象,例如,矩阵、数据框、数组,索引高维度的对象时,需要使用元素的下标。这些对象的下标都使用中括号[]和索引,第一个维度是row,第二个维度是column,维度依次增加,索引的格式是:var[row,column,,,]。数组是二维或多维(三维或多于三维),二维数组叫做矩阵。数组元素的类型是相同的,每个维度的元素数量是相同的。数据框是二维对象,每个数据列的数据类型是相同的,不同数据列的数据类型可以不同。 一,数组(array) R使用arrary()函数创建数组,该函数至少需要两个向量参数:数组的元素值(data)向量,和维度(dim)向量,第三个参数是可选的维度名(dimnames)向量。数据(data)参数是数组的所有元素值向量,维度参数(dim)指定各个维度的元素数量,维度名(dimnames)参数是可选的,用于指定各个维度的名称。 array(data = NA, dim = length(data), dimnames = NULL) 数组的维度是有顺序的,维度参数(dim)的第一个维度是row,第二个维度是column,第三个维度是high,以此类推,数组是按照维度的顺序把数据(data)参数的数据填充到数组中。 严格来说,数组(或矩阵)的长度和维度是固定的,因此不能增加或删除行或列,但可以通过为数组

“猜你喜欢”实现策略?

旧巷老猫 提交于 2020-02-11 04:21:27
有没有想过自己在亚马逊眼中你是什么样子?答案是:你是一个很大、很大的表格里一串很长的数字。这串数字描述了你所看过的每一样东西,你点击的每一个链接以 及你在亚马逊网站上买的每一件商品;表格里的其余部分则代表了其他数百万到亚马逊购物的人。你每次登陆网站,你的数字就会发生改变;在此期间,你在网站上 每动一下,这个数字就会跟着改变。这个信息又会反过来影响你在访问的每个页面上会看到什么,还有你会从亚马逊公司收到什么邮件和优惠信息。 许 多年来,推荐系统的开发者试过用各种各样的方法来采集和解析所有这些数据。最近这段时间,多数人都选择使用被称为个性化协同推荐 (Personalized Collaborative Recommender)的算法。这也是亚马逊、Netflix、Facebook 的好友推荐,以及一家英国流行音乐网站 Last.fm 的核心算法。说它 “个性化”,是因为这种算法会追踪用户的每一个行为(如浏览过的页面、订单记录和商品评分),以此进行推荐;它们可不是瞎猫碰上死耗子——全凭运气。说它 “协同”,则是因为这种算法会根据许多其他的顾客也购买了这些商品或者对其显示出好感,而将两样物品视为彼此关联,它不是通过分析商品特征或者关键词来进 行判断的。 不同类型的个性化协同推荐系统最晚从 1992 年开始便已经出现。除了 GroupLens 计划,另一项早期的推荐系统是 MIT 的

SSAS创建父子维度

坚强是说给别人听的谎言 提交于 2020-02-09 07:28:04
父子维度与其他维度不同的地方就是维度中的数据是递归层次关系的。如 adventureworksdw 库中的 DimEmployee 表中数据(上级和下级雇员的层次关系)就是递归关系。表中的主键是 EmployeeKey 列,对应于每个雇员的 ID ,雇员上级的 ID 保存在 ParentEmployeeKey 列。也就是说 ParentEmployeeKey 和 EmployeeKey 列是外键关系。 1、 在维度文件夹上右键,选择新建维度。在欢迎使用维度向导页上,单击下一步。 2、 在选择创建方法页上,选择使用现有表并单击下一步。 3、 在指定源信息中选择新建的数据源视图” Adventure Works DW “(我这保持默认)单击下一步。 4、 在选择相关表中,为了保持简单,去掉选中项。 5、 在选择维度属性页中,修改 EmployeeKey 名称为 Employee , ParentEmployeeKey 名称为 Employees 。 6、在完成向导页中,将维度名称改为 Employee 。 7 、在解决方案右击,选择生成而后点击部署,最后浏览数据。 修改维度属性 1、 在维度结构选项卡上右键 Employees 属性,在 MembersWithDataCaption 属性中输入 *(Direct) ,把领导给标记出来, * 会自动替换为相应的成员属性。 在

逆商之CORE和LEAD

你说的曾经没有我的故事 提交于 2020-02-08 10:06:47
一,逆商的四个维度CORE C——control 掌控感 要想拥有掌控感,首先就要坚信“任何事情都能做到”。即使身处最糟糕的境地,你也总是有一点点可掌控的部分。你始终能掌控自己应如何应对,希望和行动正是由此产生的。 O——ownership 担当力 担当力维度的分数越高,你就越会对结果担责。它有助于我们从建设性和实用性的角度出发,来重新定义责任。与逆商较低的人相比,高逆商的人更愿意承担困境所产生的后果。这种担当力促使他们采取行动。 R——reach影响度 影响度维度探究的问题是:这个逆境会对我生活的其他方面产生多大影响?逆商较低的人会无限制放大一件很小的挫败事件,把它扩散到生活的其他方面。相反,影响度维度的分数越高,就越有可能把问题的影响范围控制在当前事件上,不让它给生活徒增压力。 E——endurance 持续性 这个维度主要探究两个相关问题:逆境会持续多久?逆境的起因会持续多久? 许多逆商较低的人会无限拉长逆境的影响时间,认为该事件将是他毕生的耻辱或者阴影,且更倾向于把失败的原因归结于永恒的、不可抗拒的因素,从而拒绝改变。 二,增强逆商的LEAD工具 L——Listen,倾听自己(他人)的逆境反应 这是高逆商反应还是低逆商反应? 在哪个维度得分最高或者最低? 我们首先要掌握的第一个技巧就是迅速觉察逆境降临的能力。先发现逆境,才能应对逆境。 如果迎面冲过来一个疯子,朝你大喊大叫

SSIS父子维度

被刻印的时光 ゝ 提交于 2020-02-08 09:32:26
1.数据仓库结构: 2.区域的AttributeHierarchyVisible设置为False 3.Parent ID的Usage设置为Parent 4.级别命名: 5.结果: 来源: https://www.cnblogs.com/ycdx2001/p/3747678.html

pytorch中tensor的基本维度变换

旧巷老猫 提交于 2020-02-08 04:44:58
直接从代码中学习tensor的一些维度变换操作: import torch torch . manual_seed ( 2020 ) x = torch . rand ( 1 , 2 , 3 ) print ( x ) # tensor([[[0.4869, 0.1052, 0.5883], # [0.1161, 0.4949, 0.2824]]]) print ( x . view ( - 1 , 3 ) . size ( ) ) # torch.Size([2, 3]) print ( '\ntranspose:' ) print ( torch . transpose ( x , 0 , 1 ) ) print ( x . transpose ( 0 , 1 ) . size ( ) ) # torch.Size([2, 1, 3]) print ( x . transpose ( 1 , 2 ) . size ( ) ) # torch.Size([1, 3, 2]) # transpose要指明待交换的维度 print ( '\ntorch.cat:' ) y = torch . rand ( 1 , 1 , 3 ) print ( torch . cat ( ( x , y ) , dim = 1 ) . size ( ) ) # torch.Size([1, 3, 3

词向量概况

人盡茶涼 提交于 2020-02-07 06:54:23
Reference: http://licstar.net/archives/328 ( 比较综合的词向量研究现状分析) 序:为什么NLP在模式识别里面比较难? Licstar 的文章开头这么提到: 语言(词、句子、篇章等)属于人类认知过程中产生的高层认知抽象实体,而语音和图像属于较为底层的原始输入信号 。 语音、图像数据表达不需要特殊的编码,而且有天生的顺序性和关联性,近似的数字会被认为是近似特征。然而语言就麻烦了。 比如通俗的One-hot Representation就是一种不是很好的编码方式,编出来的数据比图像、语音的信号表达方式差很多。 还可以对比的是:统计数据。为什么数据挖掘模型简单?因为统计数据是人工build出来的,特征维度特低,是经过人脑这个大杀器提炼出来的超浓缩特征。 所以数据挖掘不需要深度学习啊,特征提取啊什么的,而且也没法这么做。大数据下,你跑个十几层的神经网络试试? 问题:语序不分 在NLP中,表达一个句子很简单。比如CV loves NLP,只要我们对所有单词建立一个词库。 那么CV loves NLP 可以表示成二进制编码[0,1,0,0,0,1,0,0,1],即出现的词是1,不出现为0。 这就是著名的One-hot Representation特征表示法,用它能完成NLP中的很多任务,然而就这么满足了? 那么问题来了,NLP loves CV和CV