検証行が欠落しているニューラル ネットのエラー メッセージ - 回避策を提案しますか?こんにちは、コミュニティの皆さん
私は、JMP 16 の JSL ループの一部として、さまざまな検証列を使用して、使用されるデータに応じて R2 値がどのように変化するかを判断するいくつかのモデルをテストしています。各検証列にはデータのサブセットが含まれており、列の先頭と末尾に一部のデータが欠落しています。
Bootstrap などの他のモデルは、欠損値を単に無視するだけで適切に実行されますが、Neural Net ではエラー メッセージが繰り返し表示されます (JMP サンプル データ セット CrimeData で再現)。


この問題を回避するには、フィルター列を追加し、欠損値をすべて 0 に設定して実行しないようにします。ただし、検証列ごとにフィルター列が必要になります (または、反復ごとに列を動的に作成/削除する必要があります)。

Neural(
Y( :Murder Rate ),
X(
:Robbery Rate, :"Agg-Aslt Rate"n, :Burglary Rate, :Larceny Rate,
:MVTheft Rate
),
Validation( :Validation ),
Informative Missing( 0 ),
Fit( NTanH( 3 ) ),
Where( :Filter == 1 )
)
他にもこの問題に遭遇し、解決策を見つけた人はいますか? ありがとうございます!
データのブレンドとクリーンアップ予測モデリングと機械学習Re: 検証行が欠落しているニューラル ネットのエラー メッセージ - 回避策を提案しますか?やあ@c_ブランケン、
データが欠落している他の列で検証列を階層化しているため、検証列がすべての行を埋めていないように見えます。 データが欠落しているため、JMP は検証列のこれらの行を処理する方法を認識していないと思います。
データが欠落している結果をモデル化する予定はありますか? そうでない場合は、データが欠落している行を除外することを検討できます。これは基本的にフィルター列で行っていることですが、これらの行を除外することで、テストする検証列ごとに新しいフィルター列は必要ありません。 . 自動化され、手動で行う必要がないように、JSL で行の状態を Exclude として簡単に設定することもできます。
データが欠落しているデータをモデル化する必要がある場合は、どの列でも階層化せず、トレーニング/検証列をランダムに生成することを検討してください。 データが欠落している場合でも、JMP は各行を適切なデータセットに割り当てます。
お役に立てれば!、
DS
Re: 検証行が欠落しているニューラル ネットのエラー メッセージ - 回避策を提案しますか?やあ@c_ブランケン、
からのすばらしい答えにいくつかのコメント/発言を追加するだけです@SDF1 .
- 検証列に関して値が欠落している行があるのはなぜですか? それらは列の作成後に追加されましたか?
- このモデルはトレーニング データのブートストラップ サンプルを使用して多くの決定木に適合するため、プラットフォーム "Bootstrap Forest" が検証列の欠損値を処理できることは驚くことではありません。 ニューラル ネットワークやその他の方法ではデータが「そのまま」使用されるため、警告メッセージが表示される場合があります。
モデルのパフォーマンスに対するトレーニング セットの変動性の影響を評価するためにいくつかの検証列を作成する代わりに、(少なくとも) 2 つの興味深いオプションがあるかもしれません。
1. 「式」を作る検証コラム (jmp.com) 「固定」検証列の代わりに:

このアプローチには 2 つの利点があります。
- 層化/グループ化検証の場合でも、使用した層化/グループ化方法とこれらのセット間の比率に応じて、追加された新しい行の検証列にトレーニング/検証またはテストラベルを自動的に追加できます。
- モデリングでは、トレーニング セットと検証セットの間で異なるリサンプリングをより簡単に試すこともできます。さまざまなトレーニング セットと検証セットで評価したいパフォーマンス メトリックを右クリックし、[シミュレート] をクリックすると、オプションが表示されます。検証列を切り替えるには:

これを行うことで、さまざまなトレーニング セットと検証セットで実行されたすべてのシミュレーションを含むデータ テーブルを取得し、これらのシミュレーションで得られたパフォーマンスの変動性をプロットできます (ここでは、ランダム フォレストを使用したおもちゃのデータセット「ボストン ハウジング」の R² を示しています)。

2. 使用モデルスクリーニングプラットフォーム (jmp.com)選択したいモデルと必要な検証方法 (K-folds、Nested K-folds、それらを繰り返すオプション付き、または検証列) のみを含むプラットフォームを起動し、それを起動します。 結果の概要だけでなく、個々の折り畳み結果にもアクセスできます。

たとえば、モデルを実行するために 1 つのフォールドを選択すると (ここでは fold3 で試しました)、このフォールドのどの行がトレーニングまたは検証として使用されたかを知るために、新しい列もデータテーブルに表示されます (0: トレーニング、1:検証) :

これらの方法は、手作業が少なく、柔軟性が高いので、あなたにとって役立つと思います。