在Java中实现多维度的Adaboost
我正在研究 Java 中的 AdaBoost 实现。 它应该适用于 2D、3D 或 10D 上的“双”坐标。 我在 Java 中找到的只是二进制数据 (0,1),而不是多维空间。
我目前正在寻找一种方法来表示维度并初始化分类器以进行提升。
我正在寻找有关如何在 Java 中表示多维空间以及如何初始化分类器的建议。
数据介于 [-15,+15] 之间。目标值为1或2。
I'm working on AdaBoost implementation in Java.
It should have work for "double" coordinates on 2D 3D or 10D.
All I found for Java is for a binary data (0,1) and not for multi-dimensional space.
I'm currently looking for a way to represent the dimensions and to initialize the classifiers for boosting.
I'm looking for suggestions on how to represent the multidimensional space in Java, and how to initialize the classifiers to begin with.
The data is something in between [-15,+15]. And the target values are 1 or 2.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
要在空间数据上使用增强决策树,典型的方法是尝试在某个轴上找到一个“划分点”,以最小化两个子树中的残留信息。为此,您沿着某个轴(例如,x 轴)找到一些值,然后将数据点分为两组 - 一组 x 坐标低于该分割点的点,一组 x 坐标为高于该分割点。这样,您就可以将实值空间数据转换为 0/1 数据 - 0 值是分割点下方的值,1 值是分割点上方的值。因此,该算法与 AdaBoost 相同,只是在选择分割轴时,还必须考虑潜在的分割点。
To use a boosted decision tree on spatial data, the typical approach is to try to find a "partition point" on some axis that minimizes the residual information in the two subtrees. To do this, you find some value along some axis (say, the x axis) and then split the data points into two groups - one group of points whose x coordinate is below that split point, and one group of points whose x coordinate is above that split point. That way, you convert the real-valued spatial data into 0/1 data - the 0 values are the ones below the split point, and the 1 values are the ones above the split point. The algorithm is thus identical to AdaBoost, except that when choosing the axis to split on, you also have to consider potential splitting points.
使用 JBoost 怎么样,我认为它已经满足了您的需求。
How about using JBoost, I think it's got what you're looking for.
为什么不对每个对象使用一个 double[] 数组?这是 Java 中表示特征向量的常用方式。
Why don't you use a
double[]
array for each object? That is the common way of representing feature vectors in Java.