关于python中矩阵的实现和矩阵的转置
python中矩阵的实现是靠序列,,,
序列有很多形式,
其实矩阵是现实生活中的东西,把现实生活中的结构转换到程序中。
就需要有个实现的方法,而这种路径是多种多样的。
下面给出一个把矩阵转换成python中的序列、
然后进行矩阵的转置
# -*- coding: utf-8 -*-
#下面的测试是关于转置的。
import numpy as np #NumPy
minVals=np.array([1,2,3])
print(minVals)
data=np.tile(minVals,(3,1)) #这里调用了一个numpy的一个函数tile。它的作用是把minVals按照3行1列排布
print(data)
data=data.T
print(data)
#下面是输出结果:
[1 2 3]
[[1 2 3]
[1 2 3]
[1 2 3]]
[[1 1 1]
[2 2 2]
[3 3 3]]
#下面给一个创建矩阵,归一化,转置的程序:
# -*- coding: utf-8 -*- def autoNorm0(dataSet): #这部分是归一化【】,按照行进行归一化 """ 行的归一化 可以看做是光谱自身的归一化,就是光谱的高度波动变成了0-1之间。 这个需要验证 """ minVals=dataSet.min(1) #参数0应该是代表着按行计算. print(minVals) maxVals=dataSet.max(1) ranges=maxVals-minVals #这个是范围 normDataSet=np.zeros(np.shape(dataSet)) m=dataSet.shape[1] #这个是列数 data=np.tile(minVals,(m,1)) ranges_juzhen=np.tile(ranges,(m,1)) ranges_juzhen=ranges_juzhen.T data=data.T normDataSet=dataSet-data #因为归一化是从0开始的,归到0-1这个范围里面. normDataSet=normDataSet/ranges_juzhen #特征值相除,,会不会出现浮点,或者除不尽的情况.??? return normDataSet,ranges,minVals #要弄懂返回来的这几个参数是什么??? #下面的测试是关于转置的。 import numpy as np #NumPy minVals=np.array([1,2,3]) print(minVals) data=np.tile(minVals,(3,1)) #把序列转换成数组 print("矩阵:") print(data) print() normDataSet,ranges,minVals=autoNorm0(data) #归一化 print("矩阵归一化结果:") print(normDataSet) data=data.T #进行矩阵的转置 print("转置矩阵:") print(data) normDataSet,ranges,minVals=autoNorm0(data) #转置之后进行归一化 print("矩阵转置后归一化结果:") print(normDataSet)
输出结果如下:
[1 2 3]
矩阵:
[[1 2 3]
[1 2 3]
[1 2 3]]
[1 1 1]
矩阵归一化结果:
[[0. 0.5 1. ]
[0. 0.5 1. ]
[0. 0.5 1. ]]
转置矩阵:
[[1 1 1]
[2 2 2]
[3 3 3]]
[1 2 3]
矩阵转置后归一化结果:
[[nan nan nan]
[nan nan nan]
[nan nan nan]]
D:/1论文/2018.0919/0919/program/0906/knn/ceshi.py:25: RuntimeWarning: invalid value encountered in true_divide
normDataSet=normDataSet/ranges_juzhen #特征值相除,,会不会出现浮点,或者除不尽的情况.???
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架