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);
}