scikit-learn svmlight格式加载器中的弃用警告

时间:2013-11-19 23:15:23

标签: python scikit-learn

我在我写过的IPython笔记本中得到了一个新的弃用警告,我以前没见过。我所看到的是以下内容:

X,y = load_svmlight_file('./GasSensorArray/batch2.dat')
/Users/cpd/.virtualenvs/py27-ipython+pandas/lib/python2.7/site-packages/sklearn/datasets/svmlight_format.py:137: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
return _load_svmlight_file(f, dtype, multilabel, zero_based, query_id)
/Users/cpd/.virtualenvs/py27-ipython+pandas/lib/python2.7/site-packages/sklearn/datasets/svmlight_format.py:137: DeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
return _load_svmlight_file(f, dtype, multilabel, zero_based, query_id)
...

关于这里可能出现什么问题的任何想法?我再看看我的数据文件,乍一看,我没有看到任何明显的问题。我不确定我在系统设置中改变了什么会导致这种情况。我已经安装了0.14.1的scikit-learn。

2 个答案:

答案 0 :(得分:12)

您可能已升级numpy版本,因为这是一个numpy 1.8.0弃用警告。在this拉取请求中解释。继续this PR。

简要浏览sklearn issue tracker,我没有发现任何相关问题。 如果没有找到,您可以更好地搜索并提交错误报告。

答案 1 :(得分:6)

升级numpy之后,每当您尝试使用非整数编号索引数组时,它都会为您提供此弃用警告。在sklearn中,有许多地方数据类型是浮点数,即使索引在计算时都是整数值。

因此,无论何时在numpy中索引数组,都需要确保索引是整数类型的。但在sklearn的许多地方并非如此。修复有时是微不足道的(例如,在使用分区计算索引时使用//而不是/),有时不会,但是现在,不用担心,这只是一个警告。