其他分享
首页 > 其他分享> > 线性回归之Excel数据如何矩阵运算

线性回归之Excel数据如何矩阵运算

作者:互联网

代码部分: # -*- coding: utf-8 -*- import numpy as np import xlrd   path="C:/Users/Desktop/temp/aprotest/2creatmodel/123.xlsx" data = xlrd.open_workbook(path) table = data.sheets()[2]   cols = table.col_values(0) cols1 = np.matrix(cols)  # 把list转换为矩阵 cols2=np.transpose(cols1)#转置 print cols2   cols11 = table.col_values(1) cols21 = table.col_values(2) cols31 = table.col_values(3) cols4=np.vstack((cols11,cols21,cols31))#vstack合并后是横着排的,需要转置 cols5=np.matrix(cols4) cols6=np.transpose(cols5)#转置 print cols6   z=np.linalg.inv(cols6.T*cols6)*cols6.T*cols2 #代码复制后乘号显示异常 print z   思路: 先用xlrd读取excel数据;然后将数据转换为矩阵matrix,期间用到numpy做数据合并和矩阵转置;最后用numpy做矩阵计算,得到线性回归结果。   知识点: numpy之矩阵转置 cols6=np.transpose(cols5) numpy之数据合并 cols4=np.vstack((cols11,cols21,cols31)) 如果(cols11,cols21,cols31)已经先作为矩阵转置过了,再合并,那就应该用hstack,而不是vstack。 可以简单的理解为:vstack是行合并,hstack是列合并。具体可以参考: https://blog.csdn.net/m0_37602827/article/details/90546621章节1.2    

标签:cols6,Excel,矩阵,vstack,np,转置,线性,table
来源: https://www.cnblogs.com/myshuzhimei/p/12112507.html