在Java中实现多维度Adaboost

在Java中实现多维度Adaboost,java,artificial-intelligence,machine-learning,classification,adaboost,Java,Artificial Intelligence,Machine Learning,Classification,Adaboost,我正在研究AdaBoost在Java中的实现。 它应该在2D、3D或10D上具有“双”坐标。 我发现Java只适用于二进制数据(0,1),而不适用于多维空间 我目前正在寻找一种方法来表示维度,并初始化分类器以提高性能 我正在寻找关于如何在Java中表示多维空间以及如何初始化分类器的建议 数据介于[-15,+15]之间。目标值为1或2。要在空间数据上使用增强决策树,典型的方法是尝试在某个轴上找到一个“分区点”,以最小化两个子树中的剩余信息。要执行此操作,请沿某个轴(例如,x轴)找到一些值,然后将数

我正在研究AdaBoost在Java中的实现。 它应该在2D、3D或10D上具有“双”坐标。 我发现Java只适用于二进制数据(0,1),而不适用于多维空间

我目前正在寻找一种方法来表示维度,并初始化分类器以提高性能

我正在寻找关于如何在Java中表示多维空间以及如何初始化分类器的建议


数据介于[-15,+15]之间。目标值为1或2。

要在空间数据上使用增强决策树,典型的方法是尝试在某个轴上找到一个“分区点”,以最小化两个子树中的剩余信息。要执行此操作,请沿某个轴(例如,x轴)找到一些值,然后将数据点拆分为两组-一组点的x坐标低于该拆分点,另一组点的x坐标高于该拆分点。这样,可以将实值空间数据转换为0/1数据-0值是分割点下方的值,1值是分割点上方的值。因此,该算法与AdaBoost相同,只是在选择轴拆分时,还必须考虑潜在的分裂点。

为什么不为每个对象使用<代码>双倍[< /代码>数组]?这是Java中表示特征向量的常用方法。

使用如何,我认为它符合您的要求。

我不认为这是要问的问题;我认为OP很好奇如何使用AdaBoost处理实值数据,而不是如何在内部存储所有数据。没错!我正在尝试在“真实”数据上实现AdaBoost,表示为“双类型”。谢谢您的建议。我真的找到了它,试着玩了一下。对于想要使用AdaBoost的人来说,它非常有用。第一个意图是由我自己实现Adaboost。还有一些非常好的工具,我发现它们对运行和使用许多数据挖掘算法有很大的帮助,还有一些可用的源代码。。你说你发现的所有东西都是为“二进制数据而不是多维空间”工作的,而JBoost并不局限于这两者,所以。。。我想我不明白你的问题是什么?我无意混淆,抱歉。为了澄清我的问题:我想自己实现AdaBoost,而不仅仅是使用现有版本。这是我的一个项目的一部分。JBoost作为参考和运行AdaBoost的平台非常有用。