List of usage examples for org.apache.mahout.classifier.sgd OnlineLogisticRegression alpha
public OnlineLogisticRegression alpha(double alpha)
From source file:opennlp.addons.mahout.OnlineLogisticRegressionTrainer.java
License:Apache License
@Override public MaxentModel doTrain(DataIndexer indexer) throws IOException { // TODO: Lets use the predMap here as well for encoding int numberOfOutcomes = indexer.getOutcomeLabels().length; int numberOfFeatures = indexer.getPredLabels().length; // TODO: Make these parameters configurable ... OnlineLogisticRegression pa = new OnlineLogisticRegression(numberOfOutcomes, numberOfFeatures, new L1()); pa.alpha(1).stepOffset(250).decayExponent(0.9).lambda(3.0e-5).learningRate(3000); for (int k = 0; k < iterations; k++) { trainOnlineLearner(indexer, pa); // What should be reported at the end of every iteration ?! System.out.println("Iteration " + (k + 1)); }//from w w w .j ava2s.c o m pa.close(); return new VectorClassifierModel(pa, indexer.getOutcomeLabels(), createPrepMap(indexer)); }
From source file:org.wso2.siddhi.extension.ModelInitializer.java
License:Open Source License
public static OnlineLogisticRegression InitializeLogisticRegression(String modelPath) { OnlineLogisticRegression LRmodel = null; FileInputStream fileInputStream = null; ObjectInputStream objectInputStream = null; double[][] modelWeights = null; LogisticRegressionModel LRmodelObject; try {/* w w w .ja v a 2s . com*/ // get the values for hyper-parameters from model file. fileInputStream = new FileInputStream(modelPath); objectInputStream = new ObjectInputStream(fileInputStream); LRmodelObject = (LogisticRegressionModel) objectInputStream.readObject(); LRmodel = new OnlineLogisticRegression(LRmodelObject.getNumCategories(), LRmodelObject.getNumFeatures(), new L2(1)); LRmodel.learningRate(LRmodelObject.getLearningRate()); LRmodel.lambda(LRmodelObject.getLambda()); LRmodel.alpha(LRmodelObject.getAlpha()); LRmodel.stepOffset(LRmodelObject.getStepOffset()); LRmodel.decayExponent(LRmodelObject.getDecayExponent()); modelWeights = LRmodelObject.getWeights(); fileInputStream.close(); objectInputStream.close(); for (int i = 0; i < modelWeights.length; i++) { for (int j = 0; j < modelWeights[0].length; j++) { LRmodel.setBeta(i, j, modelWeights[i][j]); } } } catch (Exception e) { logger.error("Failed to create a Logistic Regression model from the file \"" + modelPath + "\"", e); } finally { try { fileInputStream.close(); objectInputStream.close(); } catch (IOException e) { logger.error("Failed to close the model input stream!", e); } } logger.info("Logistic Regression model execution plan successfully intialized for \"" + modelPath + "\" model file."); return LRmodel; }