機械学習の予測プログラムを継続して、開発改良は続けているのですが、通貨ペアによってはValueError: Input X contains infinity or a value too large for dtype(‘float64’)のエラーが出てしまっています。これを修正するのに、かなり難儀しました。解決方法をまとめてみます。
エラー内容
ValueError: Input X contains infinity or a value too large for dtype(‘float64’)
これは、scikit-learn モジュールの関数を使用しようとしたときに、入力として使用している データフレームにNULL(NaN)または、無限値が含まれている場合に発生します。
解決方法
ヒントになった記事は海外のこちらの方のブログ(英語)
僕の場合は、特徴量を算出してデータフレムに追記した後、欠損行を削除した後で対処を入れました。
1 2 3 4 5 6 |
#欠損行の削除 df = df.dropna(how='any') #エラー対策 2023.12.11 #ValueError: Input X contains infinity or a value too large for dtype('float64'). df = df[np.isfinite(df).all(1)] |
ソースの全貌は公開出来ないのですみません。
解決
今までは、SOL/USDTでは「ValueError: Input X contains infinity or a value too large for dtype(‘float64’)」が出ていたのですが、無事に予測できました。
ご質問はコメント欄からお願いします