程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何让 numpy einsum 忽略 nan 的?

发布于2022-11-01 04:16     阅读(1091)     评论(0)     点赞(28)     收藏(4)


假设您使用 einsum 在简单回归中计算斜率和截距,如下所示:

slope = (np.einsum('ij,ij->i', y_norm, x_norm) /
           np.einsum('ij,ij->i', x_norm, x_norm))
intercept = y_mean[:, 0] - slope * x_mean[:, 0]

其中 y_norm 和 x_norm 是mxn矩阵(numpy 数组),具有m个标准化变量和n 个观测值。

您现在使用一种算法来修剪异常值并将它们更改为xy变量矩阵中的 nan 值。这给出了y_trimmedx_trimmed矩阵,并且在标准化y_trimmed_normx_trimmed_norm之后。

然后,您重新运行 einsum 代码行以获得修剪斜率和修剪截距值。

slope_trimmed = (np.einsum('ij,ij->i', y_trimmed_norm, x_trimmed_norm) /
                       np.einsum('ij,ij->i', x_trimmed_norm, x_trimmed_norm))
intercept_trimmed = y_trimmed_mean[:, 0] - beta_trimmed * x_trimmed_mean[:, 0]

但是,这会导致输出:

array([nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
       nan, nan, nan, nan, nan, nan, nan])

如何让 einsum 忽略 numpy 数组中的 nan?


解决方案


暂无回答



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1836381/322de6b4e14352bf4e72/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

28 0
收藏该文
已收藏

评论内容:(最多支持255个字符)