0

私はKaggleから得たデータセットの意思決定ツリーを作ろうとしています。 実際のデータセットを扱う経験はありませんので、データのクリーニング、統合、スケーリング(主にスケーリング)にどう対処するかはわかりません。意思決定ツリー作成時のデータ処理方法

たとえば、実数を持つフィーチャがあるとします。だから私は、(デシジョンツリーを作るための)グループの特定の数にスケーリングすることによって、そのような機能をカテゴリデータのようなものにしたいと思っています。

この場合、デシジョンツリーの目的でどれくらいのデータグループが妥当かはわかりません。 私はそれが機能のデータの分布とターゲットデータセットのユニークな値の数に依存していると確信していますが、配布データセットとターゲットデータセットを調べることによってどのように推測されるのかわかりません。 私の推測では、フィーチャのデータをターゲットデータセットの一意の値の数と同じ数に分割します。 (これは意味があるかどうかわからない)

私は学校から学んだとき、私は心配する必要がないように、すべての機能について2-5のカテゴリデータをすでに与えられていたが、 - 生命は学校とはまったく異なります。

私を助けてください。

+1

実生活の分類は本当に厳しいかもしれません。ラベルのない状況では、教師なし学習を考慮に入れることもできます。 – shane

答えて

2
  1. DTの場合、数字のデータは、ダミー形式にする必要があります。数値の列にはスケーリングは必要ありません。
  2. カテゴリデータを処理するには、ワンホットエンコーディングを使用します。ワンホットエンコーディングの前に、各機能の量がかなり多い(> = 5%)ようにしてください。さもなければ小さな変数をグループ化してください。
  3. 他のモデルを検討してください。 DTは良いですが、それは古い学校であり、彼らは過ちがちです。
1

あなたはカテゴリにして実数を階層化する必要性を排除する決定木の説明変数を使用することができます。http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html

あなたがこれを行うと、それは意味ゼロに入力されたデータをスケーリングするのに役立ち、及び単位分散されます。これは、大カテゴリの入力がモデルを支配するのを防ぐのに役立ちます。

つまり、決定木は最良の選択肢ではないかもしれません。 SVMまたはANNを試してください。または(ほとんどの場合)多くのモデルのアンサンブル(またはランダムなフォレスト)。

+0

はい、入力データをゼロ平均と単位分散にスケールすることは理にかなっています。ありがとう! –

関連する問題