相关矩阵

python 备忘_矩阵相关

时光怂恿深爱的人放手 提交于 2020-03-10 05:06:45
1. python中矩阵合并、拼接、组合 >> > a = np . array ( [ 1 , 2 , 3 ] ) >> > b = np . array ( [ 2 , 3 , 4 ] ) >> > np . stack ( ( a , b ) ) array ( [ [ 1 , 2 , 3 ] , [ 2 , 3 , 4 ] ] ) >> > >> > np . stack ( ( a , b ) , axis = - 1 ) array ( [ [ 1 , 2 ] , [ 2 , 3 ] , [ 3 , 4 ] ] ) 2. array[n-1,:] 取数组的第n行 array[:,n-1] 取数组的第n列 array[:,0:3] 取数组的1到3列 np.ones((n, 1)) 生成一个n行1列的矩阵,数组元素全是1,用在T@point_cloud(np.hstack来造矩阵,满足矩阵相乘条件) 3. np.array和np.matrix的差别, np.array([1,2,3])这种不是矩阵, np.array([[1, 2, 3]]) 和 np.matrix(1, 2, 3) 才是矩阵,有shape np.array和np.matrix的差别 来源: CSDN 作者: Ka. 链接: https://blog.csdn.net/guaiderzhu1314

MATLAB中调用Python及其相关库(以igraph和numpy为例)

℡╲_俬逩灬. 提交于 2020-02-24 20:26:58
MATLAB是一款数值和矩阵计算软件,兼有强大的时域系统以及电力仿真Simulink模块,这使得MATLAB在工程领域有着难以取代的地位。不过受限于面向过程的开发逻辑,较大的体积和繁琐的安装、破解流程,以及正版昂贵的特性,加之并不太活跃的官方以及社区支持,对于普通用户和数据分析用户,以及开发项目的纯程序员一直不友好,MATLAB在编程语言界的地位也一直不太高,且有逐年下降的趋势。相比之下,Python具有体积小巧,第三方库包多,社区数量多且用户活跃度高的优点,许多大学和机构都有Python的支持和开发项目。Python也由于其igraph包丰富的绘图能力而被许多视觉处理以及图论方向的学者青睐。不过Python对于矩阵和向量运算的格式要求较高,即便是数值矩阵计算模块numpy也不如Matlab灵活,运算速度也不如MATLAB快。不过这两种语言同为脚本语言,语法上也有诸多的相似,精通一种语言的人上手另一种起来还是相对较快的。 出于各种考虑,Python和MATLAB中都已经添加了对方的函数接口,可以在MATLAB脚本中直接调用Python函数,Python代码中也可以直接调用MATLAB函数和变量,其便捷程度几乎与直接在Python IDLE或是MATLAB工作区中调用一样。为了结合两种编程语言在工程领域和非工程项目领域各自的优点,学习调用对方函数的方法是很有必要的。

matlab矩阵合并及相关运算

纵然是瞬间 提交于 2020-02-16 16:23:00
1、matlab允许向量(和矩阵)合并,且matlab提供了两种合并方式,[a,b]和[a;b],两者的结果是不一样的。 a=rand(2,3); b=rand(2,3); c=[a;b]; d=[a,b]; c的结果是将b整体合并到a 的下边,而d的结果是整体将b合并到a 的右边。 2、创建等差向量组 a=[1:2:11] 注意涉及到向量内部对应数据之间的运算时一定要用点运算符号,(.)例如,求表达式b=a^2时应该写作 b=a.^2 也可以利用linspace来创建等差向量,linspace(a,b,n)创建从a到b长度为n的等差数列。当n省略时,默认是100. 3、向量的点乘和叉乘:点乘调用dot命令,dot(a,b),含义是两向量对应元素相乘并求和; 叉乘cross(a,b),值得注意的是a,b应该是同维的,且行数或列数中至少有一个是3 4、引用向量元素: a(i)取矩阵a中的第i个元素,a(:)将a的所有元素列出来,a(n:m)列出矩阵a中从第n个到第m个元素。 5、复数的转置 如果矩阵包含有复数元素,那么转置操作会自动计算复数的共轭值,即a’实际上是将a反转并求共轭。 如果希望只是求转置而不用共轭则应当用(a.’)。 6、矩阵中数组相乘,a.*b。作用是ab的对应元素相乘,求得一个与ab同维的矩阵 7、对矩阵的元素进行操作。 a(:,2)取第二列元素 a(2,:)=[

矩阵运算相关函数

人盡茶涼 提交于 2020-02-13 06:22:02
+ - * / ^ 对应元素相加、相减、相乘、相除、求幂 A %*% B 矩阵相乘 A %o% B 矩阵的外积。 AB' cbind(A, B, ...) 横向组合矩阵或向量 col(A) 求A的Choleski因子。如果 R <- chol(A) ,则 chol(A) 包含上三角因子,并有 R'R=A colMeans(A) 返回一个向量,包含A每列的均值 crossprod(A) A'A (A的转置与A相乘) tcrossprod(A,B) AB'(A乘以B的转置) colSums(A) 返回一个向量,包含A每列的和 diag(A) 返回一个向量,包含主对角线元素 diag(x) 以x为主对角线元素创建对角矩阵 diag(k) 如果k是标量,则创建一个k × k的单位矩阵 eigen(A) A的特征值和特征向量。如果 y <- eigen(A) ,则 y$val 是A的特征值, y$vec 是A的特征向量 ginv(A) A的Moore-Penrose广义逆。(需要MASS包) qr(A) A的QR分解。如果 y <- qr(A) ,则 y$qr 有一个包含分解值的上三角矩阵和一个包含分解值信息的下三角矩阵, y$rank 是A的秩, y$qraux 是包含Q其他信息的向量, y$pivot 包含旋转策略的信息。 rbind(A, B, ...) 纵向组合矩阵或向量

字节跳动后端开发实习生面试(Python)

寵の児 提交于 2020-02-07 23:47:06
一面: 1.自我介绍。 2.介绍“工大小美”项目相关。 3.Python中的GIL(全局解释器锁),以及哪种情况下使用python的多线程性能有较大的提升。 4.项目中用到了SQLite数据库,如果有多个副本,怎么保证数据的一致性。 5.MySQL中的索引,B+树,事务。 6.TCP三次握手,四次挥手。 7.单链表反转。 8.广度优先周游打印二叉树。 二面: 1.自我介绍。 2.介绍“工大小美”项目相关。 3.浏览器中输入域名后发生了什么,整个流程。 4.cookie可以跨域吗?flask中的cookie怎么实现? 5.flask框架路由实现原理是什么。 6.项目中为什么要使用uwsgi。 7.一个NxM的矩阵,每个格子里面可以放一个字符,按照特定的规则,给定一个字符串,找给矩阵中有没有该字符串。 8.一个栈,在O(1)的时间负责度,找出其中最小的数。 不知道是否是因为招实习生的原因,感觉这次面试题挺简单的,但是由于自己没有好好准备,也没刷过题,所以就被pass了,emmm,好好学学基础,秋招再试一次。 来源: https://www.cnblogs.com/yahuian/p/10896849.html

推荐系统相关算法(1):SVD

一世执手 提交于 2020-02-01 06:41:30
http://www.cnblogs.com/FengYan/archive/2012/05/06/2480664.html 1. SVD简介 假如要预测Zero君对一部电影M的评分,而手上只有Zero君对若干部电影的评分和风炎君对若干部电影的评分(包含M的评分)。那么能预测出Zero君对M的评分吗?答案显然是能。最简单的方法就是直接将预测分定为平均分。不过这时的准确度就难说了。本文将介绍一种比这个最简单的方法要准上许多,并且也不算复杂的算法。 SVD(Singular Value Decomposition)的想法是 根据已有的评分情况,分析出评分者对各个因子的喜好程度以及电影包含各个因子的程度,最后再反过来根据分析结果预测评分 。电影中的因子可以理解成这些东西:电影的搞笑程度,电影的爱情爱得死去活来的程度,电影的恐怖程度。。。。。。SVD的想法抽象点来看就是将一个N行M列的评分矩阵R(R[u][i]代表第u个用户对第i个物品的评分),分解成一个N行F列的用户因子矩阵P(P[u][k]表示用户u对因子k的喜好程度)和一个M行F列的物品因子矩阵Q(Q[i][k]表示第i个物品的因子k的程度)。用公式来表示就是 R = P * T(Q) //T(Q)表示Q矩阵的转置 下面是将评分矩阵R分解成用户因子矩阵P与物品因子矩阵Q的一个例子。R的元素数值越大,表示用户越喜欢这部电影

推荐系统相关算法(1):SVD

十年热恋 提交于 2020-02-01 06:40:52
假如要预测Zero君对一部电影M的评分,而手上只有Zero君对若干部电影的评分和风炎君对若干部电影的评分(包含M的评分)。那么能预测出Zero君对M的评分吗?答案显然是能。最简单的方法就是直接将预测分定为平均分。不过这时的准确度就难说了。本文将介绍一种比这个最简单的方法要准上许多,并且也不算复杂的算法。 SVD(Singular Value Decomposition)的想法是 根据已有的评分情况,分析出评分者对各个因子的喜好程度以及电影包含各个因子的程度,最后再反过来根据分析结果预测评分 。电影中的因子可以理解成这些东西:电影的搞笑程度,电影的爱情爱得死去活来的程度,电影的恐怖程度。。。。。。SVD的想法抽象点来看就是将一个N行M列的评分矩阵R(R[u][i]代表第u个用户对第i个物品的评分),分解成一个N行F列的用户因子矩阵P(P[u][k]表示用户u对因子k的喜好程度)和一个M行F列的物品因子矩阵Q(Q[i][k]表示第i个物品的因子k的程度)。用公式来表示就是 R = P * T(Q) //T(Q)表示Q矩阵的转置 下面是将评分矩阵R分解成用户因子矩阵P与物品因子矩阵Q的一个例子。R的元素数值越大,表示用户越喜欢这部电影。P的元素数值越大,表示用户越喜欢对应的因子。Q的元素数值越大,表示物品对应的因子程度越高。分解完后,就能利用P,Q来预测Zero君对《七夜》的评分了

python相关矩阵与协方差矩阵

ⅰ亾dé卋堺 提交于 2020-01-21 08:27:35
相关系数矩阵 pandas.DataFrame(数据).corr() import pandas as pd df = pd.DataFrame({ 'a': [11, 22, 33, 44, 55, 66, 77, 88, 99], 'b': [10, 24, 30, 48, 50, 72, 70, 96, 90], 'c': [91, 79, 72, 58, 53, 47, 34, 16, 10], 'd': [99, 10, 98, 10, 17, 10, 77, 89, 10]}) df_corr = df.corr() # 可视化 import matplotlib.pyplot as mp import seaborn seaborn.heatmap(df_corr, center=0, annot=True) mp.show() 协方差矩阵 numpy.cov(数据) import numpy as np matric = [ [11, 22, 33, 44, 55, 66, 77, 88, 99], [10, 24, 30, 48, 50, 72, 70, 96, 90], [91, 79, 72, 58, 53, 47, 34, 16, 10], [55, 20, 98, 19, 17, 10, 77, 89, 14]] covariance_matrix =

机器学习相关参考

混江龙づ霸主 提交于 2020-01-14 05:30:23
特征工程相关 特征选择 特证工程学习笔记 Feature-Engineering中文版 缺失值填充方法 机器学习_数据处理及模型评估相关资料 训练模型填充空值(fill null)的几种方法 范数 0范数,1范数,2范数的几何意义 机器学习中的范数规则化之(一)L0、L1与L2范数 矩阵 Matrix calculus(矩阵微积分)关于矩阵求导 如何理解相似矩阵 矩阵求导术(上) 矩阵求导术(下) 孟岩的理解矩阵(一)(二)(三)(辅助理解) https://blog.csdn.net/myan/article/details/647511 https://blog.csdn.net/myan/article/details/649018 https://blog.csdn.net/myan/article/details/1865397 如何理解矩阵特征值 奇异值分解SVD 矩阵求导、几种重要的矩阵及常用的矩阵求导公式 Scalar-by-vector identities 高数&算法 马同学高等数学 牛顿法 逻辑回归 深入理解SVM之对偶问题 EM算法 支持向量机(强烈推荐) others 西瓜书第3,6,10详细讲解 来源: CSDN 作者: whime_sakura 链接: https://blog.csdn.net/whimewcm/article/details

Matlab操作矩阵的相关方法

社会主义新天地 提交于 2019-12-26 09:34:47
Matlab操作矩阵的相关方法 下面这篇文章主要是对吴恩达老师机器学习中matlab操作的一个整理和归纳 一、基本操作 1.生成矩阵( ones、zeros ) A = [1 2;3 4;5 6] #生成3行4列的矩阵 B = [1 2 3] #B就是一个行向量 C = [1;2;3] #定义c为一个列向量 D = 1:0.1:2 #定义开始值为1,步长为0.1,结束值为2的一个行向量 E = 1:6 #定义开始值为1,步长默认为1,结束值为6的行向量 ones(2,3) #矩阵中所有元素都为1 定义一个2行3列的矩阵 zeros(2,3) #矩阵中所有的元素都为0 定义一个2行3列的矩阵 2.生成随机矩阵( rand、randn ) rand(1,3) #生成1行3列的随机矩阵 randn(2,3) #生成高斯随机矩阵,高斯随机矩阵即为标准差或方差为1 3.生成单位矩阵( eye(n) ) eye(n) #生成n行n列的单位矩阵 4.帮助命令( help ) help 变量名 #可查看函数的API详解 二、移动数据 1.操作.txt文件( load ) 1.1 加载.txt文件并且拆分文件的行和列的值 data = load('文件路径') #加载文件 获取多列的数据(获取多行的数据和多列类似,只需要修改第一个参数即可) data(:,1) #拿到所有行第一列的数据 data(: