【问题标题】:a value too large for dtype('float64') [closed]dtype('float64')的值太大[关闭]
【发布时间】:2015-05-17 15:08:34
【问题描述】:

我正在使用 numpy 读取 arff 文件,但出现以下错误:

ValueError:输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值。

我使用np.isnan(X2.any())np.isfinite(X2.all()) 来检查它是nan 还是无限情况。但这些都不是。这意味着它是第三种情况,即infinity or a value too large for dtype('float64').

如果有人能告诉我如何处理这个错误,我将不胜感激。

谢谢。

【问题讨论】:

  • 我有点困惑:当您无法读取数据时,如何检查数据中是否没有 NaN (X2?)?你能澄清一下吗?
  • 您的数据 (numpy.finfo(numpy.float64).max) 中的值是否大于 1.7976931348623157e+308
  • @EOL :我能够很好地读取数据。我在阅读元素并尝试使用随机森林等对数据进行预测后收到此错误。
  • np.isnan(X2.any()) 以错误的顺序执行操作。我想你想要np.isnan(X2).any()
  • 听起来这个错误实际上是由scikit-learn 调用引发的(可能在RandomForestClassifier.fit() 中?)。请始终在您的问题中发布完整的错误回溯,并明确提及您实际使用的库。

标签: python numpy scikit-learn


【解决方案1】:

好的,我明白了。在我使用Imputer(missing_values='NaN', strategy='median', axis=1) imp.fit(X2) 之后。我还得写:

X2 = imp.fit_transform(X2)。 sklearn.preprocessing.Imputer.fit_transform 的原因返回一个新数组,它不会改变参数数组

【讨论】:

  • 所以这是你的误解;你能关闭/删除你原来的问题吗?
猜你喜欢
  • 1970-01-01
  • 2020-07-19
  • 2019-04-09
  • 2021-05-27
  • 2019-08-25
  • 2017-02-19
  • 2019-12-03
  • 2021-04-18
  • 2016-03-25
相关资源
最近更新 更多