2

pandas データフレームから 1 行だけで 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-learn バージョン: 0.16.1 OS X Yosemite 10.10.5

4

1 に答える 1

0

新しい scikit バージョンのオーバーフロー エラーが修正されました。

于 2016-09-07T08:53:17.100 に答える