我有几千个样本,已标记为" A"或"不是A"。每个样本都分配了[0-n]个类别。
我想要达到的目的是找出哪些类别适合将新样本标记为" A"或"不是A"。
我的方法是将样本分成两组,一组包含标记为&#34的所有样本; A"和一组包含所有"不是A"。
现在,我正在创建一组所有不同的类别,并计算每个类别在" A"中出现的频率。设置和"不是A"集。
然后我根据两组中的出现次数计算错误率(#ccurrences in" Not A" /(#ccurrences in" A" + #occurrences in&#) 34;不是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%。
在第一步中,我只会使用{V}来判断样本是否为" A"或"不是A"。然后{W},...... {V,W},{V,X},...... {V,W,X},...... {V,W,X,Y,Z}。这似乎是(2 ^ n - 1)的复杂性。
由于我有几千个类别,这是不可能的。 是否有可用于此目的的优化算法?
答案 0 :(得分: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
...
此后,您可以将数据提供给任何分类算法,如Naive Bayes,Logistic回归,决策树分类器,SVM等。