我有几千个样本,它们已经被标记为"A“或"Not A”。每个样本都分配了0-n个类别。
我试图实现的是找出哪些类别适合将新样本标记为"A“或"Not A”。
我的方法是将样本分成两组,一组包含所有标记为"A“的样本,另一组包含所有”非A“的样本。
现在,我正在创建一个包含所有不同类别的集合,并计算每个类别在"A“集合和"Not A”集合中出现的频率。
然后,我根据每个类别在两个集合中的出现次数(“非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%的最大集合。
在第一步中,我只会使用{V}来决定样本是"A“还是”非A“。然后是{W},... {V,W},{V,X},... {V,W,X},... {V,W,X,Y,Z}。这似乎是(2^n - 1)的复杂性。
因为我有几千个类别,这是不可能的。有没有可以用于此目的的优化算法?
发布于 2017-11-10 01:38:19
你可能不需要发明自行车。
您可以使用二进制方式对数据进行编码,如下所示:
A V W X Y Z
1 1 1 0 0 1
0 0 1 1 0 0
1 0 1 1 1 0
...此后,您可以将数据提供给任何分类算法,如朴素贝叶斯、逻辑回归、决策树分类器、支持向量机等。
https://stackoverflow.com/questions/41927187
复制相似问题