Java libsvm适用于多输出回归吗?

Java libsvm适用于多输出回归吗?,java,vector,regression,svm,Java,Vector,Regression,Svm,我一直在尝试使用 我想用它进行多输出回归 例如,我的: 功能集/输入将为x1、x2、x3 输出/目标值将为y1、y2 使用libSVM库是否可以实现这一点 API文档不清楚,也没有示例应用程序显示jlibsvm的使用,因此我尝试修改lexecyexec/svm_train.java中的代码 作者最初创建的应用程序仅使用一个输出/目标值 在本部分中,作者试图阅读培训文件: private void read_problem() throws IOException { Buffer

我一直在尝试使用 我想用它进行多输出回归

例如,我的: 功能集/输入将为x1、x2、x3 输出/目标值将为y1、y2

使用libSVM库是否可以实现这一点

API文档不清楚,也没有示例应用程序显示jlibsvm的使用,因此我尝试修改lexecyexec/svm_train.java中的代码

作者最初创建的应用程序仅使用一个输出/目标值

在本部分中,作者试图阅读培训文件:

private void read_problem() throws IOException
    {
    BufferedReader fp = new BufferedReader(new FileReader(input_file_name));
    Vector<Float> vy = new Vector<Float>();
    Vector<SparseVector> vx = new Vector<SparseVector>();
    int max_index = 0;

    while (true)
        {
        String line = fp.readLine();
        if (line == null)
            {
            break;
            }

        StringTokenizer st = new StringTokenizer(line, " \t\n\r\f:");

        vy.addElement(Float.parseFloat(st.nextToken()));
        int m = st.countTokens() / 2;
        SparseVector x = new SparseVector(m);
        for (int j = 0; j < m; j++)
            {
            //x[j] = new svm_node();
            x.indexes[j] = Integer.parseInt(st.nextToken());
            x.values[j] = Float.parseFloat(st.nextToken());
            }
        if (m > 0)
            {
            max_index = Math.max(max_index, x.indexes[m - 1]);
            }
        vx.addElement(x);
        }
private void read_problem()引发IOException
{
BufferedReader fp=新BufferedReader(新文件读取器(输入文件名));
向量vy=新向量();
向量vx=新向量();
int max_指数=0;
while(true)
{
String line=fp.readLine();
如果(行==null)
{
打破
}
StringTokenizer st=新的StringTokenizer(行“\t\n\r\f:”);
addElement(Float.parseFloat(st.nextToken());
int m=st.countTokens()/2;
SparseVector x=新SparseVector(m);
对于(int j=0;j0)
{
max_index=Math.max(max_index,x.index[m-1]);
}
vx.加法(x);
}
我试图修改它,使向量vy接受一个具有2个值的稀疏向量

程序被执行,但模型文件似乎是错误的

是否有人可以验证他们是否使用jlibsvm进行多输出svm回归

如果是,请有人解释一下他们是如何做到这一点的


如果没有,那么有人知道Java中有类似的svm实现吗?

经典的svm算法不支持多维输出。解决这个问题的一种方法是为每个输出维度建立一个svm模型