2016-04-21 9 views
0

私は私のルールである私のデータセットを持っています。私はルールを分類する際に少なくとも100%の精度を持つ決定木を生成したいと思いますが、決して100%を得ることはできません。私はminNumObjsを1に設定して、それをアンプライニングにしましたが、私は84%のインスタンスを正しく分類しました。トレーニングセットを完璧にモデル化した意思決定ツリーの生成?

私の属性は次のとおりです。

@attribute users numeric 
@attribute bandwidth numeric 
@attribute latency numeric 
@attribute mode {C,H,DCF,MP,DC,IND} 

の元データ:

2,200000,0,C 
2,200000,1000,C 
2,200000,2000,MP 
2,200000,5000,C 
2,400000,0,C 
2,400000,1000,DCF 

と誰かが、私はそれらの100%を取得することができますどのように私は分類され、私のインスタンスの100%を取得することはできませんなぜ私が理解するのに役立ちます分類されています(ただし、属性は数値のままです)

ありがとう

答えて

2

異なるラベルを持つ同一の特徴ベクトルのために100%の精度を得ることは時々不可能です。あなたの場合、usersbandwidth、およびlatencyがフィーチャーであり、modeは予測しようとしているラベルであると推測しています。そうであれば、異なるmodeというラベルを持つ同じ値の{usersbandwidthlatency}が存在する可能性があります。同じ機能の異なるラベルが、いくつかの方法のうちの1つを介して起こり得る有する一般に

  1. データの読み出し不良に起因するデータにノイズがあります。
  2. ランダム性の原因が捕捉されていません。
  3. 異なるラベルを区別できるより多くの機能がありますが、その機能はデータセットにはありません。

あなたが今できることの1つは、意思決定ツリーでトレーニングセットを実行し、誤分類されたアイテムを見つけることです。なぜそれらが間違っているのかを判断し、上に書いたデータインスタンスがあるかどうかを確認してください(つまり、同じ機能でラベルが異なるデータインスタンスがいくつかあります)。

+0

すべての機能はユニークです。たとえば、 のように、帯域幅が100,100〜1000に増加する可能性があり、それらのすべてがモードCであり、600でモードDCである可能性があります。それらは間違っているものです。コーナーケースです。 – jmasterx

+0

私はベストファーストツリーを試しましたが、その96%を分類することができましたが、ツリーは醜いものでした。 – jmasterx

+0

数値のフィーチャが同じ縮尺(たとえば0.0〜1.0)になるようにフィーチャスケーリングを適用することもできます。 2つのアプローチは、 "z-スコアスケーリング"(別名標準化)と "最大 - 最小スケーリング"です。ウィキペディアには非常に明確な説明があります:https://en.wikipedia.org/wiki/Feature_scaling。実際、Wekaにはこの機能が組み込まれています:http://stackoverflow.com/questions/20904071/how-to-use-different-scaling-approaches-in-weka – stackoverflowuser2010

関連する問題