2

我创建了一个 SVMlight 文件,其中仅包含 pandas 数据框中的一行:

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)

溢出错误:有符号整数大于最大值

如果我加载文件时query_id=False没有出现错误消息,但 query_id 的值是错误的。这是输出:

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

72048431380967004现在显示为72048431380967008.

我如何避免这个错误,最大值np.uint649223372036854775807所以应该没有溢出错误。

也尝试使用np.int64as 数据类型加载,但输出是相同的。

Scikit-learn 版本:0.16.1 OS X Yosemite 10.10.5

4

1 回答 1

0

为较新的 scikit 版本修复了溢出错误。

于 2016-09-07T08:53:17.100 回答