0
libsvm을 사용하여 Java에서 SVM 분류자를 구현하려고합니다. 나는 다음과 같은 오류가 점점 오전 :libsvm에서 NullPointerException이 발생했습니다.
Exception in thread "main" java.lang.NullPointerException
at libsvm.Kernel.dot(svm.java:213)
at libsvm.Kernel.kernel_function(svm.java:172)
at libsvm.SVC_Q.<init>(svm.java:1161)
at libsvm.svm.solve_c_svc(svm.java:1333)
at libsvm.svm.svm_train_one(svm.java:1510)
at libsvm.svm.svm_train(svm.java:2067)
내가 6 훈련 예에 이진 분류를 구현하기 위해 노력하고 있습니다 :
import libsvm.*;
import java.io.*;
import java.io.Reader;
import java.lang.Object;
public class SVMclassifier {
public SVMclassifier(){
svm_problem svmData=new svm_problem();
svmData.l=6;
double[] lab={1,0,1,1,0,0};
svmData.y=lab;
svm_node[][] values=new svm_node[6][3];
System.out.print("I am here");
svm_node AA=new svm_node();
AA.index=1;
AA.value=0.1;
values[0][1]=AA;
AA.index=1;
AA.value=0.9;
values[0][2]=AA;
AA.index=1;
AA.value=0.9;
values[1][0]=AA;
AA.index=2;
AA.value=0.1;
values[1][1]=AA;
AA.index=1;
AA.value=0.05;
values[2][0]=AA;
AA.index=2;
AA.value=0.95;
values[2][1]=AA;
AA.index=1;
AA.value=0.06;
values[3][0]=AA;
AA.index=2;
AA.value=0.90;
values[3][1]=AA;
AA.index=1;
AA.value=0.95;
values[4][0]=AA;
AA.index=2;
AA.value=0.05;
values[4][1]=AA;
AA.index=1;
AA.value=0.90;
values[5][0]=AA;
AA.index=2;
AA.value=0.06;
values[5][1]=AA;
svmData.x=values;
svm_model paras=new svm_model();
svm_parameter params =new svm_parameter();
int[] bb={1,1,1};
double[] cc={1,1,1};
System.out.println("I am here");
params.svm_type = svm_parameter.C_SVC;
params.kernel_type = svm_parameter.LINEAR;
params.degree = 3;
params.gamma = 0.5; // 1/num_features
params.coef0 = 0;
params.nu = 0.5;
params.cache_size = 100;
params.C = 1;
params.eps = 1e-3;
params.p = 0.1;
params.shrinking = 1;
params.probability = 0;
params.nr_weight = 0;
params.weight_label=bb;
params.weight=cc;
paras=svm.svm_train(svmData, params) ;
for(int i=0;i<=5;i=i+1){
svm_node[] v=values[i];
double u=svm.svm_predict(paras, v);
System.out.println(u);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SVMclassifier A=new SVMclassifier();
}
}
내가 자바뿐만 아니라 libsvm 새로운 오전 : 를이 내 코드입니다. 어떤 도움이라도 환영받을 것입니다. 감사합니다