草庐IT

python实现混淆矩阵(numpy)

numpy实现混淆矩阵(python)numpy实现混淆矩阵(python)numpy实现混淆矩阵(python)假设有A、B、C、D、E五个类别一确定输出和标签importnumpyasnpy_true=["A"]*20+["B"]*20+["C"]*20+["D"]*20+["E"]*20len(y_true)y_truey_pred=["D"]*5+["A"]*30+["B"]*15+["C"]*25+["D"]*20+["E"]*5len(y_pred)y_pred二初始化混淆矩阵#初始化混淆矩阵classes_num=5confusion_matrix=np.zeros((class

基于声卡实现的音频存储示波器,可作为电磁学实验的测量仪表

文章目录1前言2原理和架构2.1采样定理2.1.1采样频率2.1.2量化精度2.2软件架构3部件设计和装配3.1采样器3.2显示屏3.3旋钮3.4模式切换开关3.5启动停止按钮3.6装配和测试4存储示波器在电磁学实验中的应用4.1制作示波器探针4.2导线切割磁力线实验1前言十年前女儿读高中,电磁学是那个学期物理课的重点内容。女儿回家吐槽说课堂上的物理实验是纸上谈兵,老师只播放幻灯片和实验动画,并没有仪表可以直观地看到电磁实验中感应电流的变化。为了帮助女儿理解电磁感应,爷儿俩花了一星期时间,做了一个用声卡测量电磁实验中感应电流的软件,还有一套楞次定律的实验装置。还记得楞次定律吗?增反减同,来拒去

基于声卡实现的音频存储示波器,可作为电磁学实验的测量仪表

文章目录1前言2原理和架构2.1采样定理2.1.1采样频率2.1.2量化精度2.2软件架构3部件设计和装配3.1采样器3.2显示屏3.3旋钮3.4模式切换开关3.5启动停止按钮3.6装配和测试4存储示波器在电磁学实验中的应用4.1制作示波器探针4.2导线切割磁力线实验1前言十年前女儿读高中,电磁学是那个学期物理课的重点内容。女儿回家吐槽说课堂上的物理实验是纸上谈兵,老师只播放幻灯片和实验动画,并没有仪表可以直观地看到电磁实验中感应电流的变化。为了帮助女儿理解电磁感应,爷儿俩花了一星期时间,做了一个用声卡测量电磁实验中感应电流的软件,还有一套楞次定律的实验装置。还记得楞次定律吗?增反减同,来拒去

NumPy学习笔记(四)—— argmax()函数

目录一、前言二、函数讲解1、argmax()函数2、参数1)a2)axis(可选)3)out(可选)3、返回值4、注意一、前言在数组里查找相同元素,返回索引的时候用到了该函数二、函数讲解1、argmax()函数老样子,我们先看看该函数下包含了哪些参数与返回值英文版:中文版:argmax(a,axis=None,out=None)2、参数1)a我们使用的(输入)数组2)axis(可选)沿轴使用(可选填,默认为数组的展平成一维形式,即0,1,2,3,4…等)如果是沿着0轴,则返回每一列最大值的索引如果是沿着1轴,则返回每一行最大值的索引指定可以直接选择0轴,1轴或2轴等(如果有的话)上个代码小例子

2 第一章数组 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 Day2

977.有序数组的平方力扣 这道题目最开始我是认为直接每个数平方然后再重新排序。这样可以通过,但是有更简便的方法,双指针利用了排序数组的思想,最大的数只能从数组的首尾两端产生。所以新建一个数组然后每次都放进去即可。209.长度最小的子数组力扣 题目属于典型的滑动窗口问题,从最开始的一直往后找知道找到合适的结点。我这道题目最开始少考虑了当他没有找到符合题目要求的数组,直接返回了res,所以出错。59.螺旋矩阵II力扣class Solution {public:    vector> generateMatrix(int n) {        vector> res(n,vector(n,0)

2 第一章数组 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结 Day2

977.有序数组的平方力扣 这道题目最开始我是认为直接每个数平方然后再重新排序。这样可以通过,但是有更简便的方法,双指针利用了排序数组的思想,最大的数只能从数组的首尾两端产生。所以新建一个数组然后每次都放进去即可。209.长度最小的子数组力扣 题目属于典型的滑动窗口问题,从最开始的一直往后找知道找到合适的结点。我这道题目最开始少考虑了当他没有找到符合题目要求的数组,直接返回了res,所以出错。59.螺旋矩阵II力扣class Solution {public:    vector> generateMatrix(int n) {        vector> res(n,vector(n,0)

opencv,numpy,tensor格式转换

深度学习中,涉及的图片格式有诸多转换方式,写此篇用于区别记录。目前接触到的读取图片的方式主要是两种,一是使用opencv的cv2模块,二是PIL.Image模块,两者的使用有不同。一、cv2的读取方式,格式转换最先一个问题是读取格式。1.cv2读取的图片格式直接是numpy的ndarry格式,图片是形状为HxWxC的BGR图片。jm=cv2.imread(path)#cv读取的是BGR格式图片print(type(jm))print(jm.shape)#输出class'numpy.ndarray'>(240,300,3)直接打印是BGR格式plt.imshow(jm)plt.show()经过格

np.tile()函数,numpy.tile()函数的通俗的详细解释,python中有哪些函数可扩展数组数据?np.repeat/np.stack

因为网上对这个函数的很多教程,解释不够通俗易懂,或者说规律不够简单明白,所以我总结了一下,写成文分享给大家。一、前后形状的变化有何规律?函数的语法是np.tile(a,reps),a表示类数组元素(不仅可以是ndarray数组,也可以是列表、元组等),reps用来定义各个方向上的拷贝数量。reps参数可以记忆成repeatshape,也即拷贝性扩展的形状。假设a的原形状为(2,3),reps=(2)或reps=2(这两种表示方式等价)时,返回数组的形状计算规律如图中所示“右对齐+逐个元素相乘+缺则补一”。可得返回数组的形状为(2,6)。importnumpyasnparr=np.array([

python3.7安装numpy1.21.4

使用工具:pycharmpython环境:3.7(venv)问题分析:本人按照其他文章的方法操作了很多次,发现在安装numpy1.21.4时,会在wheelbuilding的环节出错。因此,其他文章基本安装1.16左右的版本。解决方法:1、安装1.15.1版本的numpy,在终端中输入pipinstallnumpy==1.15.12、升级numpy(分多次升级可能成功率更高,笔者未就此进行过实验)pipinstall--upgradenumpy==1.16.0pipinstall--upgradenumpy==1.19.0pipinstall--upgradenumpy==1.21.0pipi

python中numpy矩阵的零填充

目录需求: 方法:一、再new一个更大的所需要的矩阵大小  二、pad函数 其他想法需求:对于图像处理中的一些过程,我需要对读取的numpy矩阵进行size的扩充,比如原本是(4,6)的矩阵,现在需要上下左右各扩充3行,且为了不影响数值计算,都用0填充。比如下图,我有一个4x5大小的全1矩阵,但是现在我要在四周都加上3行的0来扩充大小,最后扩充完还要对原区域进行操作。    方法:想到了几种方法,记录一下。一、再new一个更大的所需要的矩阵大小 a=np.ones((4,5))#假设原矩阵是4x5的全1矩阵print(a.shape)b_pad=np.zeros((4+6,5+6))#要四周扩