我创建了一个SVMlight文件,其中只有一行来自熊猫的数据:
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
发布于 2016-09-07 08:53:17
已修复了较新的scikit版本的溢出错误。
https://stackoverflow.com/questions/32563349
复制相似问题