“rcond”参数将更改为机器精度乘以“max(M, N)”的默认值,其中 M 和 N 是输入矩阵维度

Gul*_*zar 6 python scikit-learn

我将一些大段代码从 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. 如何找到导致它们的线路?

ezc*_*chx 5

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