MCPcopy Create free account
hub / github.com/EdwardRaff/JSAT / trainC

Method trainC

JSAT/src/jsat/classifiers/svm/extended/CPM.java:496–519  ·  view source on GitHub ↗
(ClassificationDataSet dataSet, ExecutorService threadPool)

Source from the content-addressed store, hash-verified

494 }
495
496 @Override
497 public void trainC(ClassificationDataSet dataSet, ExecutorService threadPool)
498 {
499 if(dataSet.getPredicting().getNumOfCategories() > 2)
500 throw new FailedToFitException("CPM is a binary classifier, it can not be trained on a dataset with " + dataSet.getPredicting().getNumOfCategories() + " classes");
501 final int d = dataSet.getNumNumericalVars();
502 List<Vec> Wv_p = new ArrayList<Vec>(K);
503 List<Vec> Wv_n = new ArrayList<Vec>(K);
504 bp = new DenseVector(K);
505 bn = new DenseVector(K);
506 for(int i = 0; i < K; i++)
507 {
508 Wv_p.add(new ScaledVector(new DenseVector(d)));
509 Wv_n.add(new ScaledVector(new DenseVector(d)));
510 }
511 MatrixOfVecs W_p = new MatrixOfVecs(Wv_p);
512 MatrixOfVecs W_n = new MatrixOfVecs(Wv_n);
513
514 sgdTrain(dataSet, W_p, bp, +1, threadPool);
515 sgdTrain(dataSet, W_n, bn, -1, threadPool);
516
517 this.Wp = new DenseMatrix(W_p);
518 this.Wn = new DenseMatrix(W_n);
519 }
520
521 @Override
522 public void trainC(ClassificationDataSet dataSet)

Callers 1

testCloneMethod · 0.95

Calls 5

sgdTrainMethod · 0.95
getNumOfCategoriesMethod · 0.80
getPredictingMethod · 0.80
getNumNumericalVarsMethod · 0.80
addMethod · 0.45

Tested by 1

testCloneMethod · 0.76