Rの回帰分析で、列車データセットに3つのレベルの因子型独立変数があるとします。ただし、テストデータセットでは、同じ因子変数に5つのレベルがあります。したがって、テストデータセットの応答値を予測できません。この場合、何をすべきですか?
Rの回帰分析で、列車データセットに3つのレベルの因子型独立変数があるとします。ただし、テストデータセットでは、同じ因子変数に5つのレベルがあります。したがって、テストデータセットの応答値を予測できません。この場合、何をすべきですか?
回答:
非常に最初の考えとして、これは少なくともトレーニングセットがアプリケーションデータを代表していないことを意味します。テストセットが代表的なものであるかどうかは、IMHOが非常に慎重に検討すべき問題です。このコンテキストでは、これらの欠落したクラスが特定のトレーニングセットの小さすぎる問題であるかどうか、またはこれが問題/タスク/アプリケーションの一般的な特性であるかどうかを見つけることも重要です。つまり、これまでに出会ったことのない新しいクラスが常に表示されるかどうかです。
原則として、この状況に対処するには2つの可能性があります。
トレーニングセットは代表的なものではなく、特に不足しているクラスのデータなど、より多くのデータを要求するとします。これは、問題がアプリケーションの一般的な特性ではなく、特定のトレーニングセットにあるという結論に達した場合に意味があります。
いずれにせよ、トレーニングデータがクラスを欠いていることを知っているので、1クラスの分類子を使用することを検討します。つまり、他の可能なクラスとは無関係に各クラスを処理する分類子です。理想的には、1クラス分類子は、トレーニングに利用できなかったクラスのテストケースに対して「不明なクラス」を返す必要があります。1クラス分類子の場合、本当に未知のクラスに属するケースのこの「拒否」をテストすることは、実際には意味があります。
編集wrt @gungのコメント:うまくいけば、何らかの理由で train / test分割が修正されたと思います。