2015-09-14 4 views
2

Я создал файл SVMlight только одна строка из панд dataframe:Переполнение ошибка load_svmlight_file() из sklearn

from sklearn.datasets import load_svmlight_file from sklearn.datasets import dump_svmlight_file
dump_svmlight_file(toy_data.drop(["Output"], axis=1),toy_data['Output'],"../data/oneline_pid.txt", query_id=toy_data['EventID'])

Результат в файле выглядит следующим образом:

0 qid:72048431380967004 0:1440446648 1:72048431380967004 2:236784985 3:1477 4:26889 5:22 6:36685162242798766 8:1919947 10:22 11:48985 12:1840689 

Когда я пытаюсь загрузить файл с query_id=True, я получаю ошибку переполнения.

train = load_svmlight_file("../data/oneline_pid.txt", dtype=np.uint64, query_id=True) 

OverflowError: знаковое целое больше, чем максимальное

Если я загрузить файл с query_id=False там не появляется сообщение об ошибке, но значение для query_id неправильно. Это выход:

[[  1440446648 72048431380967008   236784985    1477 
       26889    22 36685162242798768     0 
      1919947     0    22    48985 
      1840689]] 

72048431380967004 появляется сейчас, как 72048431380967008.

Как избежать этой ошибки, максимальное значение np.uint64 равно 9223372036854775807, поэтому ошибки переполнения не должно быть.

Пробовал загружать с np.int64 как тип данных тоже, но выход такой же.

Scikit-узнать версию: 0.16.1 OS X Yosemite 10.10.5

+0

Можете ли вы открыть вопрос о github? https://github.com/scikit-learn/scikit-learn/issues Включите вашу ОС и версию scikit-learn. –

+0

Да, я открою вопрос о github. –

ответ

0

Ошибка переполнения была зафиксирована для новых scikit-версий.

 Смежные вопросы

  • Нет связанных вопросов^_^