如何通过连续特征对一组样本进行分类?

时间:2011-08-07 08:17:11

标签: algorithm machine-learning cluster-analysis classification

例如,我得到的是下表,这对于20岁以上的人来说只是一个粗略的分布

年龄人数

  • 2 1
  • 5 5
  • 8 2
  • 10 3
  • 15 1
  • 16 2
  • 17 1
  • 20 4
  • 21 1

然后通过使用相同的数据集,我可以构建另一个“更好”的表。

年龄人数

  • 10-8
  • 10s 7
  • 20+ 5

事实上,我可以使用相同的数据集制作更多包含不同年龄范围组合的表格。

现在我想知道如何才能找到最好的组合。我们可以用来衡量组合是否良好的可能的“善良功能”可能遵循以下三个原则:

  • 不应该有太多或太少的课程
  • 课程范围不应太大。
  • 分配应该足够顺畅,也就是说,每个类别所涵盖的项目数量不应有太大差异。

由于这个问题代表的情况足以描述某种特定问题,因此应该已经有了一些复杂的解决方案。但我找不到它们。有人可以提出一些建议吗?

我已经通过了一些分类算法,如PCA,k-mean或“基于最大熵算法”,但似乎它们过于笼统,无法通过遵循以上三个原则来解决这个特定问题。

1 个答案:

答案 0 :(得分:0)

我会做以下事情:

构建评估函数:

double goodness(double firstThreshold, double bucketWidth, int numBuckets)

根据您的原则返回良好分数。然后,我会强制参数的多个组合,并选择具有最佳良好分数的组合。如果我们为每个参数尝试4-10个值,那么暴力就会起作用,并且可能会为截止值提供很好的整数。如果你想变得更复杂或运行得更快,你可以尝试其他搜索方法,如爬山,光束搜索或模拟退火,但我认为这可能对你的情况有点过分。