Search in sources :

Example 1 with Model

use of de.bwaldvogel.liblinear.Model in project dkpro-tc by dkpro.

the class LiblinearTestTask method trainModel.

@Override
protected Object trainModel(TaskContext aContext) throws Exception {
    File fileTrain = getTrainFile(aContext);
    // default for bias is -1, documentation says to set it to 1 in order to
    // get results closer
    // to libsvm
    // writer adds bias, so if we de-activate that here for some reason, we
    // need to also
    // deactivate it there
    Problem train = Problem.readFromFile(fileTrain, 1.0);
    SolverType solver = LiblinearUtils.getSolver(classificationArguments);
    double C = LiblinearUtils.getParameterC(classificationArguments);
    double eps = LiblinearUtils.getParameterEpsilon(classificationArguments);
    Linear.setDebugOutput(null);
    Parameter parameter = new Parameter(solver, C, eps);
    Model model = Linear.train(train, parameter);
    return model;
}
Also used : Model(de.bwaldvogel.liblinear.Model) Parameter(de.bwaldvogel.liblinear.Parameter) Problem(de.bwaldvogel.liblinear.Problem) SolverType(de.bwaldvogel.liblinear.SolverType) File(java.io.File)

Example 2 with Model

use of de.bwaldvogel.liblinear.Model in project dkpro-tc by dkpro.

the class LiblinearTestTask method runPrediction.

@Override
protected void runPrediction(TaskContext aContext, Object trainedModel) throws Exception {
    Model model = (Model) trainedModel;
    File fileTest = getTestFile(aContext);
    File predFolder = aContext.getFolder("", AccessMode.READWRITE);
    File predictionsFile = new File(predFolder, Constants.FILENAME_PREDICTIONS);
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(predictionsFile), "utf-8"));
    writer.append("#PREDICTION;GOLD" + "\n");
    Problem test = Problem.readFromFile(fileTest, 1.0);
    Feature[][] testInstances = test.x;
    for (int i = 0; i < testInstances.length; i++) {
        Feature[] instance = testInstances[i];
        Double prediction = Linear.predict(model, instance);
        writer.write(prediction + SEPARATOR_CHAR + new Double(test.y[i]));
        writer.write("\n");
    }
    writer.close();
}
Also used : FileOutputStream(java.io.FileOutputStream) Model(de.bwaldvogel.liblinear.Model) OutputStreamWriter(java.io.OutputStreamWriter) Problem(de.bwaldvogel.liblinear.Problem) File(java.io.File) Feature(de.bwaldvogel.liblinear.Feature) BufferedWriter(java.io.BufferedWriter)

Example 3 with Model

use of de.bwaldvogel.liblinear.Model in project dkpro-tc by dkpro.

the class LiblinearSerializeModelConnector method trainModel.

@Override
protected void trainModel(TaskContext aContext, File fileTrain) throws Exception {
    SolverType solver = LiblinearUtils.getSolver(classificationArguments);
    double C = LiblinearUtils.getParameterC(classificationArguments);
    double eps = LiblinearUtils.getParameterEpsilon(classificationArguments);
    Linear.setDebugOutput(null);
    Parameter parameter = new Parameter(solver, C, eps);
    Problem train = Problem.readFromFile(fileTrain, 1.0);
    Model model = Linear.train(train, parameter);
    model.save(new File(outputFolder, MODEL_CLASSIFIER));
}
Also used : Model(de.bwaldvogel.liblinear.Model) Parameter(de.bwaldvogel.liblinear.Parameter) Problem(de.bwaldvogel.liblinear.Problem) SolverType(de.bwaldvogel.liblinear.SolverType) File(java.io.File)

Aggregations

Model (de.bwaldvogel.liblinear.Model)3 Problem (de.bwaldvogel.liblinear.Problem)3 File (java.io.File)3 Parameter (de.bwaldvogel.liblinear.Parameter)2 SolverType (de.bwaldvogel.liblinear.SolverType)2 Feature (de.bwaldvogel.liblinear.Feature)1 BufferedWriter (java.io.BufferedWriter)1 FileOutputStream (java.io.FileOutputStream)1 OutputStreamWriter (java.io.OutputStreamWriter)1