首页 > 解决方案 > `rcond` 参数将更改为默认的机器精度乘以 ``max(M, N)`` 其中 M 和 N 是输入矩阵维度

问题描述

我将一些大段代码从 Python 2.7 迁移到 Python 3.7,现在我得到了

rcond参数将更改为默认的机器精度时间max(M, N),其中 M 和 N 是输入矩阵维度。要使用未来的默认值并让这个警告静音,我们建议 pass rcond=None,继续使用旧的、明确的 pass rcond=-1

没有行号,甚至没有文件,我不知道是什么原因造成的。

根据这个github线程

这些警告目前无需担心。它们固定在 v0.2dev 分支中。由于 scikit-learn 兼容性问题,该分支尚未准备好发布,但如果您担心警告,可以使用它。


  1. 他们真的没什么好担心的吗?

  2. 如何在不抑制所有警告的情况下摆脱它们?

  3. 如何找到导致它们的线路?

标签: pythonscikit-learn

解决方案


np.linalg.lstsq(a, b)您可以通过更改为https://numpy.org/doc/stable/reference/generated/numpy.linalg.lstsq.html来抑制此警告np.linalg.lstsq(a, b, rcond=None)


推荐阅读