2017-01-29 3 views
3

私は数千のサンプルを持っていますが、すでに "A"または "Not A"とラベルが付けられています。各サンプルに[0-n]カテゴリが割り当てられています。タグ推定(教師あり学習)

私が達成しようとしているのは、新しいサンプルに "A"または "Not A"とラベル付けするのに適したカテゴリを見つけることです。

私のアプローチは、サンプルを2つのセットに分けることです.1つは "A"とラベル付けされたすべてのサンプルを含み、もう1つはすべて "Not A"を含むセットです。

ここでは、すべての異なるカテゴリのセットを作成し、それぞれのカテゴリが「A」セットと「Not A」セットでどのくらいの頻度で発生するかをカウントします。

次に、各カテゴリの2つのセット(「Aではない」/「A」での発生数+「Aではない」)で発生したエラー率を計算しています。これらの値は、エラー率に応じて昇順にソートされます。

ここで課題は、これらのカテゴリのどれがサンプルを「A」とするのに適しているかを調べることです。

---------------------------------------------------- 
| Category | error ratio | #occ "A" | #occ "Not A" | 
-------------------------------------------------- 
| V  | 0   | 2  | 0   | 
---------------------------------------------------- 
| W  | 0   | 59  | 0   | 
---------------------------------------------------- 
| X  | 0,138  | 125  | 20   | 
---------------------------------------------------- 
| Y  | 0,901  | 9  | 82   | 
---------------------------------------------------- 
| Z  | 1   | 1  | 0   | 
---------------------------------------------------- 

最初に、カテゴリをさらに処理するために必要な観測数を決定する必要があります。示された表では、VとZは、おそらくあまり出現していないので、おそらくかなり良いカテゴリーではありません。しかし、どのカテゴリを破棄すべきかを決める統計的アプローチはありますか?

その後、私は自分の決定境界がどこにあるかを選択する必要があります。 カテゴリの可能なすべての組み合わせを作成し、精度を測定し、〜95%よりも高い精度で最大のセットを選択することを考えていました。

最初の手順では、サンプルが "A"か "Not A"かどうかを判断するために{V}しか使用しません。 {V、W、X、Y、Z}は、{W、W}、{V、X}、... {V、W、X}これは(2^n - 1)の複雑さのようです。

私には数千ものカテゴリがあるので、これは不可能です。 この目的に使用できる最適化アルゴリズムはありますか?

+0

カテゴリをエラー率O(nlogn)小から大に並べ替えることができます。次いで、トップ-kカテゴリO(n)についての「A」&occ「Not A」の累積カウントに基づいて、累積エラー率に基づいてトップk-カテゴリを選択する。さらに、#occ "A"と#occ "Not A"にいくつかの定数を追加することで、「あらかじめ」考えることができ、エラー率の低いカテゴリを何とかフィルタリングできるようになります。 –

答えて

0

恐らく自転車を発明する必要はありません。

あなたはこのように、バイナリ方法であなたのデータをエンコードすることができます。その後

A V W X Y Z 
1 1 1 0 0 1 
0 0 1 1 0 0 
1 0 1 1 1 0 
... 

、あなたはナイーブベイズ、ロジスティック回帰、決定木分類器、SVM、らのように、任意の分類アルゴリズムにデータを送ることができますcetera。

関連する問題