You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by td...@apache.org on 2010/09/08 20:49:57 UTC

svn commit: r995188 - /mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java

Author: tdunning
Date: Wed Sep  8 18:49:57 2010
New Revision: 995188

URL: http://svn.apache.org/viewvc?rev=995188&view=rev
Log:
Limit how bad logLikelihood things things are to avoid numerical issues
Only update auc in binary case.

Modified:
    mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java

Modified: mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java
URL: http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java?rev=995188&r1=995187&r2=995188&view=diff
==============================================================================
--- mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java (original)
+++ mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java Wed Sep  8 18:49:57 2010
@@ -96,9 +96,11 @@ public class CrossFoldLearner extends Ab
     for (OnlineLogisticRegression model : models) {
       if (k == trackingKey % models.size()) {
         Vector v = model.classifyFull(instance);
-        double score = v.get(actual);
+        double score = Math.max(v.get(actual), MIN_SCORE);
         logLikelihood += (Math.log(score) - logLikelihood) / record;
-        auc.addSample(actual, v.get(1));
+        if (numCategories() == 2) {
+          auc.addSample(actual, v.get(1));
+        }
       } else {
         model.train(trackingKey, actual, instance);
       }