モデルを作成するために、連続値予測で[開始]ボタンを押したところ「ターゲットが単一の値で独占された小さなデータセットはサポートされていません」というエラーメッセージが表示され、実行できません。
メッセージを素直に受け取り、「ターゲットが一定値になっているのかな?」と思い確認したのですが、そうではないです。(以下にターゲットのヒストグラムを示します)
(0が多いのが原因かなと思ったのですが、エラーメッセージと噛み合っていません。)
DataRobot Doc、DataRobot Communityを私なりに調べても、原因が分からず困っております。原因と対策が分かる方、ご教授お願いいたします。
◆使用したデータの情報
使用データ (46行 × 4列)
解決済! 解決策の投稿を見る。
@今泉 さん
ご質問ありがとうございます。
本エラーは、回帰タスクにおいて、1)ターゲットにマイナスの値がなく、2)全体の50%より多くの行でターゲットがゼロとなっているスモールデータに対して発生するエラーになります。
ここでスモールデータというのは、DataRobotでは回帰タスクの場合には、100行未満のデータしかないデータのことをいいます。
スモールデータからゼロ過剰モデルを生成することを回避するために、このようなエラーがガードレールとして設定されています。
ゼロ過剰モデルとは、ゼロかどうかを予測する分類器と、ゼロでないものに対する予測モデルをかけ合わせたモデルのことです。
エラー回避方法としては、1) 100行以上用意する 2) ターゲット=ゼロのデータが50%以下になるまで減らす 3) ターゲットに1を足す(予測値から-1したものが真の予測値)などが考えられますが、2), 3)よりも 1)が望ましい回避策となります。
2)だとデータの分布が変化してしまい、3)だとゼロ過剰モデルがうまく働くケースである場合にそれが活用できない可能性があるため、本質的な問題解決とはならないからです。
ぜひ検討してみてください。
ご不明な点ありましたらご連絡ください。