com.actelion.research.calc.regression.svm.Matrix2SVMNodeConverter Maven / Gradle / Ivy
Show all versions of openchemlib Show documentation
package com.actelion.research.calc.regression.svm;
import com.actelion.research.calc.Matrix;
import org.machinelearning.svm.libsvm.svm_node;
/**
* Matrix2SVMNodeConverter
* Modest v. Korff
*
* Created by korffmo1 on 27.11.18.
*/
public class Matrix2SVMNodeConverter {
public static svm_node[][] convert(Matrix A) {
svm_node[][] arrSVMNode = new svm_node[A.rows()][A.cols()];
int rows = A.rows();
int cols = A.cols();
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
svm_node node = new svm_node();
node.index = j;
node.value = A.get(i,j);
arrSVMNode[i][j]=node;
}
}
return arrSVMNode;
}
public static svm_node[][] convertSingleRow(double [] a) {
int cols = a.length;
svm_node[] arrSVMNode = new svm_node[cols];
for (int i = 0; i < cols; i++) {
svm_node node = new svm_node();
node.index = i;
node.value = a[i];
arrSVMNode[i]=node;
}
svm_node[][] arrSVMNodeRow = new svm_node[1][cols];
arrSVMNodeRow[0]=arrSVMNode;
return arrSVMNodeRow;
}
}