Search in sources :

Example 51 with DenseVector

use of org.apache.mahout.math.DenseVector in project pyramid by cheng-li.

the class AugmentedLRLoss method penaltyGradient.

private Vector penaltyGradient() {
    Vector featureWeights = augmentedLR.featureWeights();
    Vector componentWeights = augmentedLR.componentWeights();
    Vector penaltyGradient = new DenseVector(augmentedLR.getAllWeights().size());
    for (int d = 0; d < numFeatures; d++) {
        penaltyGradient.set(d, featureWeights.get(d) / featureWeightVariance);
    }
    for (int k = 0; k < numComponents; k++) {
        penaltyGradient.set(numFeatures + k, componentWeights.get(k) / componentWeightVariance);
    }
    return penaltyGradient;
}
Also used : DenseVector(org.apache.mahout.math.DenseVector) Vector(org.apache.mahout.math.Vector) DenseVector(org.apache.mahout.math.DenseVector)

Example 52 with DenseVector

use of org.apache.mahout.math.DenseVector in project pyramid by cheng-li.

the class MLACPlattScaling method predictAssignmentProb.

@Override
public double predictAssignmentProb(Vector vector, MultiLabel assignment) {
    double[] scores = scoreEstimator.predictClassScores(vector);
    Vector scoreVector = new DenseVector(scores.length);
    for (int i = 0; i < scores.length; i++) {
        scoreVector.set(i, scores[i]);
    }
    return logisticRegression.predictAssignmentProb(scoreVector, assignment);
}
Also used : DenseVector(org.apache.mahout.math.DenseVector) Vector(org.apache.mahout.math.Vector) DenseVector(org.apache.mahout.math.DenseVector)

Example 53 with DenseVector

use of org.apache.mahout.math.DenseVector in project pyramid by cheng-li.

the class MLFlatScaling method predictClassProbs.

@Override
public double[] predictClassProbs(Vector vector) {
    double[] scores = scoreEstimator.predictClassScores(vector);
    double[] probs = new double[scores.length];
    for (int k = 0; k < scores.length; k++) {
        Vector scoreFeatureVector = new DenseVector(1);
        scoreFeatureVector.set(0, scores[k]);
        probs[k] = logisticRegression.predictClassProb(scoreFeatureVector, 1);
    }
    return probs;
}
Also used : DenseVector(org.apache.mahout.math.DenseVector) Vector(org.apache.mahout.math.Vector) DenseVector(org.apache.mahout.math.DenseVector)

Example 54 with DenseVector

use of org.apache.mahout.math.DenseVector in project pyramid by cheng-li.

the class RegressionTreeTest method test4.

private static void test4() {
    Node a = new Node();
    a.setFeatureIndex(0);
    a.setThreshold(0.0);
    a.setLeftProb(0.3);
    a.setRightProb(0.7);
    Node b = new Node();
    b.setFeatureIndex(1);
    b.setThreshold(0.1);
    b.setLeftProb(0.8);
    b.setRightProb(0.2);
    Node c = new Node();
    c.setFeatureIndex(2);
    c.setThreshold(0.2);
    c.setLeftProb(0.1);
    c.setRightProb(0.9);
    Node d = new Node();
    d.setLeaf(true);
    d.setValue(1);
    Node e = new Node();
    e.setLeaf(true);
    e.setValue(2);
    Node f = new Node();
    f.setLeaf(true);
    f.setValue(3);
    Node g = new Node();
    g.setLeaf(true);
    g.setValue(4);
    a.setLeftChild(b);
    a.setRightChild(c);
    b.setLeftChild(d);
    b.setRightChild(e);
    c.setLeftChild(f);
    c.setRightChild(g);
    RegressionTree tree = new RegressionTree();
    tree.root = a;
    tree.leaves.add(d);
    tree.leaves.add(e);
    tree.leaves.add(f);
    tree.leaves.add(g);
    Vector vector1 = new DenseVector(3);
    vector1.set(0, 1);
    vector1.set(1, Double.NaN);
    vector1.set(2, Double.NaN);
    System.out.println(tree.probability(vector1, a));
    System.out.println(tree.probability(vector1, b));
    System.out.println(tree.probability(vector1, c));
    System.out.println(tree.probability(vector1, d));
    System.out.println(tree.probability(vector1, e));
    System.out.println(tree.probability(vector1, f));
    System.out.println(tree.probability(vector1, g));
    System.out.println(tree.predict(vector1));
}
Also used : DenseVector(org.apache.mahout.math.DenseVector) Vector(org.apache.mahout.math.Vector) DenseVector(org.apache.mahout.math.DenseVector)

Example 55 with DenseVector

use of org.apache.mahout.math.DenseVector in project pyramid by cheng-li.

the class RegressionTreeTest method test3.

private static void test3() {
    Node a = new Node();
    a.setFeatureIndex(0);
    a.setThreshold(0.0);
    a.setLeftProb(0.3);
    a.setRightProb(0.7);
    Node b = new Node();
    b.setFeatureIndex(1);
    b.setThreshold(0.1);
    b.setLeftProb(0.8);
    b.setRightProb(0.2);
    Node c = new Node();
    c.setFeatureIndex(2);
    c.setThreshold(0.2);
    c.setLeftProb(0.1);
    c.setRightProb(0.9);
    Node d = new Node();
    d.setLeaf(true);
    d.setValue(1);
    Node e = new Node();
    e.setLeaf(true);
    e.setValue(2);
    Node f = new Node();
    f.setLeaf(true);
    f.setValue(3);
    Node g = new Node();
    g.setLeaf(true);
    g.setValue(4);
    a.setLeftChild(b);
    a.setRightChild(c);
    b.setLeftChild(d);
    b.setRightChild(e);
    c.setLeftChild(f);
    c.setRightChild(g);
    RegressionTree tree = new RegressionTree();
    tree.root = a;
    tree.leaves.add(d);
    tree.leaves.add(e);
    tree.leaves.add(f);
    tree.leaves.add(g);
    Vector vector1 = new DenseVector(3);
    vector1.set(0, -1);
    vector1.set(1, 0.2);
    vector1.set(2, Double.NaN);
    System.out.println(tree.probability(vector1, a));
    System.out.println(tree.probability(vector1, b));
    System.out.println(tree.probability(vector1, c));
    System.out.println(tree.probability(vector1, d));
    System.out.println(tree.probability(vector1, e));
    System.out.println(tree.probability(vector1, f));
    System.out.println(tree.probability(vector1, g));
    System.out.println(tree.predict(vector1));
}
Also used : DenseVector(org.apache.mahout.math.DenseVector) Vector(org.apache.mahout.math.Vector) DenseVector(org.apache.mahout.math.DenseVector)

Aggregations

DenseVector (org.apache.mahout.math.DenseVector)62 Vector (org.apache.mahout.math.Vector)56 MultiLabelClfDataSet (edu.neu.ccs.pyramid.dataset.MultiLabelClfDataSet)7 MultiLabel (edu.neu.ccs.pyramid.dataset.MultiLabel)5 RandomAccessSparseVector (org.apache.mahout.math.RandomAccessSparseVector)5 SequentialAccessSparseVector (org.apache.mahout.math.SequentialAccessSparseVector)4 List (java.util.List)3 EnumeratedIntegerDistribution (org.apache.commons.math3.distribution.EnumeratedIntegerDistribution)3 LogisticRegression (edu.neu.ccs.pyramid.classification.logistic_regression.LogisticRegression)2 DataSet (edu.neu.ccs.pyramid.dataset.DataSet)2 EmpiricalCDF (edu.neu.ccs.pyramid.util.EmpiricalCDF)2 IntegerDistribution (org.apache.commons.math3.distribution.IntegerDistribution)2 MultivariateNormalDistribution (org.apache.commons.math3.distribution.MultivariateNormalDistribution)2 Classifier (edu.neu.ccs.pyramid.classification.Classifier)1 Weights (edu.neu.ccs.pyramid.classification.logistic_regression.Weights)1 RegDataSet (edu.neu.ccs.pyramid.dataset.RegDataSet)1 ConstantRegressor (edu.neu.ccs.pyramid.regression.ConstantRegressor)1 BernoulliDistribution (edu.neu.ccs.pyramid.util.BernoulliDistribution)1 Pair (edu.neu.ccs.pyramid.util.Pair)1 ArrayList (java.util.ArrayList)1