この記事では、モデルのパフォーマンスを評価する際のデータ漏洩の問題と、データ漏洩を回避する方法について説明します。 モデル評価中にトレーニング セットのデータが検証/テスト セットに入ると、データ漏洩が発生します。これにより、検証/テスト セットにおけるモデルのパフォーマンスの評価が偏ってしまいます。 Scikit-Learn を使用した「ボストンの住宅価格」データセットの例で理解してみましょう。データセットには欠損値がないため、データ漏洩をよりよく示すために 100 個の欠損値がランダムに導入されます。
上記のコードでは、「Xtrain」はトレーニング セット (k 分割交差検証) であり、「Xtest」は未知のデータでのモデル評価に使用されます。上記のコードは、データ漏洩を伴うモデル評価の例であり、欠損値を補完するためのモード (strategy='mostfrequent') は 'Xtrain' で計算されます。同様に、データのスケーリングに使用される平均と標準偏差も、「Xtrain」を使用して計算されます。 'Xtrain' の欠損値は補完され、 'X_train' は k 分割交差検証の前にスケーリングされます。 k 分割交差検証では、「Xtrain」は「k」分割に分割されます。各 k 分割交差検証反復では、分割の 1 つが検証に使用され (検証部分と呼びます)、残りの分割はトレーニングに使用されます (トレーニング部分と呼びます)。各反復におけるトレーニング部分と検証部分には、「Xtrain」によって計算されたパターンを使用して入力された欠損値があります。同様に、「Xtrain」で計算された平均と標準偏差を使用してスケーリングされています。この推定およびスケーリング操作により、「Xtrain」からの情報が k 分割クロス検証のトレーニング部分と検証部分の両方に漏れてしまいます。この情報漏洩により、検証部分におけるモデルのパフォーマンスの推定値が偏ってしまう可能性があります。次のコードは、パイプを使用してこれを回避する方法を示しています。
上記のコードでは、パイプラインにインポーター、スカラー、およびリグレッサーを含めています。この例では、「X_train」は 5 つのフォールドに分割され、各反復でパイプラインはトレーニング部分を使用して、トレーニング部分と検証部分に欠損値を入力するためのモードを計算します。同様に、トレーニング部分と検証部分を測定するために使用される平均と標準偏差も、トレーニング部分で計算されます。このプロセスでは、補完モードとスケール平均および標準偏差がトレーニング部分で各 k 分割クロス検証反復時に計算されるため、データ漏洩が排除されます。各 k 分割クロス検証反復では、これらの値を使用してトレーニング部分と検証部分を計算およびスケーリングします。 データ漏洩の有無で計算されたトレーニング RMSE と検証 RMSE の違いを確認できます。データセットが小さいため、それらの間のわずかな違いしか確認できません。データセットが大きい場合、この違いは重要になる可能性があります。目に見えないデータの場合、検証 RMSE (データ漏洩あり) は偶然にのみ RMSE に近くなります。 したがって、k 分割クロス検証にパイプラインを使用すると、データ漏洩を防ぎ、未知のデータに対するモデルのパフォーマンスをより適切に評価できます。 |
>>: 2021 年の自然言語処理 (NLP) のトレンド トップ 10
[[404690]]長年にわたり、多くの企業がロボット、自動化、人工知能などのテクノロジーからより多...
現在の AI の世界は電力を大量に消費し、計算能力が制限されています。モデル開発の軌跡は急速でしたが...
[[358758]]人工知能はかつてはSF映画にしか登場しない言葉でした。しかし、通信、ビッグデータ...
工業情報化部のウェブサイトは13日、「産業ビッグデータ発展に関する指導意見」(以下、「意見」)を発表...
OpenAI 宮殿ドラマが終わったばかりですが、すぐにまた別の騒動が勃発しました。ロイター通信は、ア...
人工知能 (AI) は、退屈な日常的な作業を一つずつこなして世界を席巻しています。 AI を使用して...
昨日、Lao Huangが再び「勝利」しました!なぜ?最新の MLPerf ベンチマークでは、NVI...
[[350122]]一部のデバイスは、正しく動作するために適切な方向に設置する必要があります。たとえ...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[[189965]]ディープラーニングはコンピュータービジョンを変革しました。現在、ほとんどの問題...
[[398462]]最後の顔認識画像の前処理では、前処理ステップを追加し、環境やその他の要因からの干...
なぜ機械学習が必要なのでしょうか?機械学習は、人間が直接プログラムできない複雑な問題を解決できるため...