arj*_*ada 7 python numpy linear-regression scikit-learn
我Ridge().fit(X_train, y_train)在数据集上使用时遇到了 RuntimeWarning,其中X_train.shape = (9440, 1900)
/Users/username/micromamba/envs/data-science/lib/python3.11/site-packages/sklearn/utils/extmath.py:189: RuntimeWarning: invalid value encountered in matmul
ret = a @ b
Run Code Online (Sandbox Code Playgroud)
当我减小数据集的大小时,X_train.shape = (1000, 1900)运行时警告就会消失。
可能是什么原因导致此警告以及如何避免它?我确保没有 np.nan、np.inf 和 -np.inf。
这个错误在某种程度上是已知的,遗憾的是它依赖于体系结构/环境。这是 numpy 中的一个纯粹的矩阵运算问题。我用以下代码在我的 Colab 中重现了它:
# warning under numpy==1.25, OK under numpy==1.22.4
M = np.random.random((30000, 270)) # on Colab
M.T @ M
Run Code Online (Sandbox Code Playgroud)
@Stef 测试了破坏性的 numpy 版本。
请参阅最近的 GitHub 讨论,我在其中numpy贡献了这个突破性示例。
我创建了这个 Colab 笔记本来帮助解决问题的根源(在numpy==1.22.4Colab 的选择下工作正常)。尝试在 Colab 下进行训练(您可以上传数据)。
总的来说,我的建议是降级 numpy 版本或等待维护人员修复。