对Python 中矩阵或者数组相减的法则详解

 更新时间:2019年08月26日 15:58:55   作者:Halo_Linch  
今天小编就为大家分享一篇对Python 中矩阵或者数组相减的法则详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下:

定义了一个计算损失的函数:

def error(yhat,label):
 yhat = np.array(yhat)
 label = np.array(label)
 error_sum = ((yhat - label)**2).sum()
 return error_sum

主要出现问题的是 yhat - label 部分,要强调的是一定要保证两者维度是相同的!这点很重要,否则就会按照python的广播机制进行运算,举个例子:

a = np.array([1,2,3])
a0 = np.array([[1],[2],[3]])
b = np.array([2,3,5,])
print(b-a)
print(b-a0)

这里a的维度是(3,),因为是由列表转化成的数组(当然不是很推荐这种维度,因为很容易犯错),a0的维度是(3,1),b的维度是(3,),a与b的维度相同,在计算b-a的时候,结果显而易见:

b - a0 的结果:

产生这种结果的原因是因为由于维度不同,在计算的时候将b变为了与a0同样的3行的数组,变化后b的维度变为了(3,3),等同于如下的计算:

b = np.array([[2,3,5],
    [2,3,5],
    [2,3,5]])
a0 = np.array([[1],
    [2],
    [3]])
b - a0

结果仍然为:

以上这篇对Python 中矩阵或者数组相减的法则详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • pycharm 使用anaconda为默认环境的操作

    pycharm 使用anaconda为默认环境的操作

    这篇文章主要介绍了pycharm 使用anaconda为默认环境的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 详解Python中对Excel的处理操作

    详解Python中对Excel的处理操作

    Excel是一种常见的电子表格文件格式,广泛用于数据记录和处理,Python提供了多个第三方库,可以方便地对Excel操作,下面就来和大家详细讲讲吧
    2023-07-07
  • Python实现将pdf文档保存成图片格式

    Python实现将pdf文档保存成图片格式

    有时候我们会碰到只支持图片上传的场景,如何编程快速将pdf转成图片呢?可以使用 Python 的 pdf2image 库仅10行代码就能将 PDF 文档保存为图片格式,所以本文给大家介绍了如何使用Python实现将pdf文档保存成图片格式,需要的朋友可以参考下
    2024-10-10
  • python出现

    python出现"IndentationError: unexpected indent"错误解决办法

    这篇文章主要介绍了python出现"IndentationError: unexpected indent"错误解决办法的相关资料,希望通过本文能解决遇到这样的问题,需要的朋友可以参考下
    2017-10-10
  • 利用pandas读取中文数据集的方法

    利用pandas读取中文数据集的方法

    今天小编就为大家分享一篇利用pandas读取中文数据集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 从安装到应用全面掌握Python与OpenCV的配置与高级功能(最新推荐)

    从安装到应用全面掌握Python与OpenCV的配置与高级功能(最新推荐)

    OpenCV的强大功能不仅限于基本的图像处理,还可以扩展到实时视频分析、复杂的图像拼接和特征匹配等应用场景,这篇文章主要介绍了从安装到应用全面掌握Python与OpenCV的配置与高级功能,需要的朋友可以参考下
    2024-08-08
  • Python使用ThreadPoolExecutor一次开启多个线程

    Python使用ThreadPoolExecutor一次开启多个线程

    通过使用ThreadPoolExecutor,您可以同时开启多个线程,从而提高程序的并发性能,本文就来介绍一下Python使用ThreadPoolExecutor一次开启多个线程,感兴趣的可以了解一下
    2023-11-11
  • Python编程中flask的简介与简单使用

    Python编程中flask的简介与简单使用

    今天小编就为大家分享一篇关于Python编程中flask的简介与简单使用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Python处理中文标点符号大集合

    Python处理中文标点符号大集合

    中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏,下面小编给大家带来了Python处理中文标点符号大集合,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-05-05
  • pandas使用函数批量处理数据(map、apply、applymap)

    pandas使用函数批量处理数据(map、apply、applymap)

    这篇文章主要介绍了pandas使用函数批量处理数据(map、apply、applymap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论