機能ベクトルに、常に利用できるとは限らない機能があります(一部のサンプルでは)使用しても意味がありません。この特徴ベクトルをsklearn MLPClassifierに与えます。機能がその決定に使用する意味があるときにニューラルネットワークはそれ自体で学習しますか、または機能ベクトルにフラグを追加する必要がありますか?たとえば、意味がある場合は「1」、意味がない場合は「0」 。
機能ベクトルに、常に利用できるとは限らない機能があります(一部のサンプルでは)使用しても意味がありません。この特徴ベクトルをsklearn MLPClassifierに与えます。機能がその決定に使用する意味があるときにニューラルネットワークはそれ自体で学習しますか、または機能ベクトルにフラグを追加する必要がありますか?たとえば、意味がある場合は「1」、意味がない場合は「0」 。
回答:
機能がサンプルのサブセットで意味をなさない場合、これは別のデータセットである(またはそうでなければならない)ことを意味するのではなく、2番目のモデルが必要ですか?それは私が考えているアプローチの1つです。
2つ目は、データ(機能)自体を操作することです。ニュートラル値を使用するのがおそらく最善です。
N/A
は、埋め込みがないような値をプレースホルダーに置き換えます。問題によっては、これらの値を削除し、可能であれば推定値を入力することで問題を解決できます。もう1つの戦略は、機能を-1、1のスケールでスケーリングし、この値をたとえば-3で暗黙指定することです。次に、「外れ値」を完全に無視するいくつかの堅牢な方法を使用します。お役に立てれば。
場合によっては、ダミーの変数エンコーディングを使用できます。このアイデアをあなたの問題に拡張することもできます。簡単な線形回帰の手順を説明します。
長年の教育、教えられた講義、公開された論文および現在の学位を使用して、人収入を予測したいとします。サンプルには、学者と非学者が含まれています。
1.代替:自然なボイド値を割り当てます。たとえば、子供を探している場合、収入を含めることは意味がありません。しかし、所得には自然な無効値があり。変数がそのようなvoid値を許可するかどうかを確認できます。
2.代替方法:データセットを2つのグループ(アカデミックと非アカデミック)に分割できます。2つの別々のモデルを実行します。
3.代替:紹介新しいダミー変数この変数が人ならば学術的ではなく、値が人ならば学術的です。すると、回帰モデルは次のようになりますis_academic
したがって、データセットはなく、これでデータセットは完成しましたが、モデルは線形基底関数を使用しなくなりました。
同様に、一部の機能がデータセット内の1つのサブサンプルに対してのみ存在/有用であることがわかった場合、データセットについて考え、ダミー変数を導入することができます。