根据范围内的特征进行分类?

数据挖掘 机器学习 分类
2022-03-09 07:38:46

我正在尝试建立一个分类模型,其中实例的分类不是基于其特征的某种线性组合,而是基于这些特征是否都在某些(未知)范围内。因此,例如,如果我有两个特征,并且我的实例(特征,后跟已知分类)是:

  • (0, 5): 0
  • (2, 7): 1
  • (3, 2): 0
  • (4, 4): 1
  • (3, 9): 0
  • (6, 6): 0

那么也许模型会知道第一个特征应该在 1 到 5 之间,第二个特征应该在 3 到 8 之间。(我只想要模型中的“and”;我不是在寻找特征的任何情况1 在 a 和 b 之间或特征 2 在 c 和 d 之间。)本质上,模型应该在特征空间中找到一些超矩形,所有边都平行于特征轴,其中 0 应该在矩形之外,1 应该在矩形之外在里面。(在示例数据中,数据点是可分离的;在我的实际问题中并非如此。本着 SVM 或逻辑回归的精神,模型应该尽其所能。)

我在这方面的第一次尝试涉及尝试使用由每个特征的两个 sigmoid 组成的假设函数进行最小二乘回归(一个“向前”,一个“向后”),参数化为来回滑动,所有这些都相乘. 也许我的 scipy-fu 很弱,但是在以上四个功能上,我开始遇到这种方法的收敛问题。有没有一些行之有效的方法来解决这种分类问题?(即使只是这类问题的名称也会有所帮助!)

1个回答

您所描述的问题正是决策树的作用。

决策树在特征空间中找到“所有边平行于特征轴的超矩形”。决策树将通过查找基于先前和当前分割的范围来自动学习学习条件超矩形。分类的目标是超矩形中的纯度,在区域内尽可能多地具有单一类别。