我的工作是用Java语言实现AdaBoost。它应该对2D、3D或10D上的“双”坐标起作用。我为Java找到的所有内容都是二进制数据(0,1),而不是多维空间。
我目前正在寻找一种方法来表示维度和初始化分类器以进行boosting。
我正在寻找关于如何在Java中表示多维空间以及如何初始化分类器的建议。
数据介于-15和+15之间,目标值为1或2。
发布于 2012-01-09 06:14:20
要在空间数据上使用boosted决策树,典型的方法是尝试在某些轴上找到一个“分割点”,以最小化两个子树中的残差信息。为此,您可以沿某个轴(例如x轴)找到一些值,然后将数据点分成两组-一组x坐标低于该拆分点的点,另一组x坐标高于该拆分点的点。这样,您可以将实值空间数据转换为0/1数据-0值是拆分点下方的值,1值是拆分点上方的值。因此,该算法与AdaBoost相同,只是在选择要拆分的轴时,还必须考虑潜在的拆分点。
发布于 2012-01-10 10:31:42
使用JBoost怎么样,我认为它可以满足您的需求。
发布于 2012-01-09 14:36:55
为什么不为每个对象使用一个double[]数组呢?这是在Java中表示特征向量的常用方法。
https://stackoverflow.com/questions/8781811
复制相似问题