【问题标题】:deprecation warning in numpynumpy 中的弃用警告
【发布时间】:2013-04-11 09:44:16
【问题描述】:

我有一个运行 scikit 朴素贝叶斯分类的脚本,它是在 linux 机器上编写的。当我将它传输到 Windows 机器时,我收到了弃用警告:

DeprecationWarning:在不兼容的种类之间隐式转换...

在 linux 版本中,我有 numpy 版本 1.6.1 在 Windows 中,numpy 版本是 1.7.1rc1。

将浮点数列表转换为二维数组时会引发警告。 我应该忽略警告吗?是不是和numpy版本的变化有关?

铸造似乎在两​​台机器上都可以正常工作...

谢谢

【问题讨论】:

  • 忽略弃用警告是在自找麻烦……它们的存在是有原因的,那就是它们最终很可能会成为错误。

标签: python numpy scikit-learn


【解决方案1】:

您当然应该更新您的代码,以使警告消失。也许通过从列表中显式创建一个 Numpy 数组。

我想你的意思是一些自动转换,比如:

array([1., 2, 3]) * [3, 4, 5]

Responsible 似乎是最近合并的以下拉取请求。最好的解释在文件test_ufunc.py。

https://github.com/numpy/numpy/pull/451/files

【讨论】:

  • 我自己投射时不会收到警告吗?
  • 构造一个 Numpy 数组不是强制转换。但是,Numpy 构造函数可能会抱怨其他问题。
  • 重点是 implicit 演员表。这可能是由于像integer_arr += float 这样的操作,其中integer_array + float 是一个浮点类型,然后由于就地操作而被隐式转换。
猜你喜欢
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多