Предупреждение о устаревании в загрузчике формата scikit-learn svmlight
Я получаю новое предупреждение об устаревании в записной книжке 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.
Ответы
Ответ 1
Вероятно, вы обновили версию numpy, так как это предупреждение об уменьшении количества сообщений 1.8.0. Объясняется в этом запросе на pull. Продолжение в этом PR.
Кратко просматривая sklearn трекер ошибок, я не нашел никаких связанных проблем.
Вы, вероятно, можете лучше искать и записывать отчет об ошибке, если не нашли.
Ответ 2
После обновления numpy это дает предупреждение об этом, когда вы пытаетесь индексировать массив, используя нецелые числа. В sklearn есть много мест, где тип данных является числом с плавающей запятой, даже если индексы являются целыми значениями при вычислении.
Поэтому всякий раз, когда вы индексируете массив в numpy, вам нужно убедиться, что индексы целые. Но это не так во многих местах в склеарне. Исправление иногда тривиально (например, используйте //
вместо /
при вычислении индексов с использованием разделов), иногда нет, но на данный момент не стоит беспокоиться, это просто предупреждение.