[jboss-svn-commits] JBL Code SVN: r20963 - in labs/jbossrules/contrib/machinelearning/4.0.x: drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 8 14:19:58 EDT 2008
Author: gizil
Date: 2008-07-08 14:19:58 -0400 (Tue, 08 Jul 2008)
New Revision: 20963
Removed:
labs/jbossrules/contrib/machinelearning/4.0.x/drools-core/src/main/java/org/drools/learner/builder/LearnerFactory.java
Modified:
labs/jbossrules/contrib/machinelearning/4.0.x/drools-core/src/main/java/org/drools/learner/builder/AdaBoostBuilder.java
labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/Guest.java
labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java
labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/Poker.java
labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/PokerExample.java
labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/TriangleExample.java
Log:
minor bug fixes
Modified: labs/jbossrules/contrib/machinelearning/4.0.x/drools-core/src/main/java/org/drools/learner/builder/AdaBoostBuilder.java
===================================================================
--- labs/jbossrules/contrib/machinelearning/4.0.x/drools-core/src/main/java/org/drools/learner/builder/AdaBoostBuilder.java 2008-07-08 10:31:45 UTC (rev 20962)
+++ labs/jbossrules/contrib/machinelearning/4.0.x/drools-core/src/main/java/org/drools/learner/builder/AdaBoostBuilder.java 2008-07-08 18:19:58 UTC (rev 20963)
@@ -79,18 +79,19 @@
DecisionTree dt = _trainer.train_tree(working_instances);
dt.setID(i);
- double error = 0.0;
+ double error = 0.0, sum_weight = 0.0;
SingleTreeTester t= new SingleTreeTester(dt);
for (int index_i = 0; index_i < NUM_DATA; index_i++) {
Integer result = t.test(class_instances.getInstance(index_i));
+ sum_weight += weights[index_i];
if (result == Stats.INCORRECT) {
-
error += weights[index_i];
if (slog.debug() != null)
slog.debug().log("[e:"+error+" w:"+weights[index_i]+ "] ");
}
}
+ error = error / sum_weight; // forgotton
if (error > 0.0f) {
double alpha = Util.ln( (1.0d-error)/error ) / 2.0d;
@@ -106,8 +107,8 @@
case Stats.INCORRECT:
weights[index_i] = weights[index_i] * Util.exp(alpha);
break;
- case Stats.CORRECT:
- weights[index_i] = weights[index_i] * Util.exp(-1.0d * alpha);
+ case Stats.CORRECT: // if it is correct do not update
+ //weights[index_i] = weights[index_i] * Util.exp(-1.0d * alpha);
break;
case Stats.UNKNOWN:
if (slog.error() !=null)
Deleted: labs/jbossrules/contrib/machinelearning/4.0.x/drools-core/src/main/java/org/drools/learner/builder/LearnerFactory.java
===================================================================
--- labs/jbossrules/contrib/machinelearning/4.0.x/drools-core/src/main/java/org/drools/learner/builder/LearnerFactory.java 2008-07-08 10:31:45 UTC (rev 20962)
+++ labs/jbossrules/contrib/machinelearning/4.0.x/drools-core/src/main/java/org/drools/learner/builder/LearnerFactory.java 2008-07-08 18:19:58 UTC (rev 20963)
@@ -1,62 +0,0 @@
-package org.drools.learner.builder;
-
-import org.drools.WorkingMemory;
-import org.drools.learner.Memory;
-import org.drools.learner.tools.FeatureNotSupported;
-import org.drools.learner.tools.Util;
-
-public class LearnerFactory {
- public static Learner createID3(WorkingMemory wm, Class<? extends Object> obj_class) throws FeatureNotSupported {
-
- /*
- * Quesitons:
- * 1- which class to work with? : obj_class
- * 2- what is its target attribute?
- * 3- what are the objects
- */
-
- /* create the memory */
- // process the annotations => create the
-
- Memory mem = Memory.createFromWorkingMemory(wm, obj_class, Util.ID3);
- // set to memory type only the discrete domains
-
- ID3Learner id3 = new ID3Learner();
- SingleTreeBuilder single_builder = new SingleTreeBuilder();
- single_builder.build(mem, id3);//obj_class, target_attr, working_attr
- single_builder.test(mem.getClassInstances());
- //Tester.test(id3, mem.getClassInstances());
- return id3;
- }
-
-
- public static Learner createC45(WorkingMemory wm, Class<? extends Object> obj_class) throws FeatureNotSupported {
-
- /* create the memory */
- Memory mem = Memory.createFromWorkingMemory(wm, obj_class, Util.C45);
- // set to memory type only the discrete domains
-
- C45Learner c45 = new C45Learner();
- SingleTreeBuilder single_builder = new SingleTreeBuilder();
- single_builder.build(mem, c45);//obj_class, target_attr, working_attr
- single_builder.test(mem.getClassInstances());
- //Tester.test(c45, mem.getClassInstances());
- return c45;
- }
-
- public static Learner createC45fromBag(WorkingMemory wm, Class<? extends Object> obj_class) throws FeatureNotSupported {
-
- /* create the memory */
- Memory mem = Memory.createFromWorkingMemory(wm, obj_class, Util.C45);
- // set to memory type only the discrete domains
-
-
- C45Learner c45 = new C45Learner();
- ForestBuilder forest = new ForestBuilder();
- forest.build(mem, c45);
- forest.test(mem.getClassInstances());
-
- //Tester bla => test(c45, mem.getClassInstances());
- return c45;
- }
-}
Modified: labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/Guest.java
===================================================================
--- labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/Guest.java 2008-07-08 10:31:45 UTC (rev 20962)
+++ labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/Guest.java 2008-07-08 18:19:58 UTC (rev 20963)
@@ -18,11 +18,15 @@
import java.io.Serializable;
+import org.drools.learner.tools.FieldAnnotation;
+
public class Guest implements Serializable {
+
+ @FieldAnnotation(ignore = true)
private String name;
-
+ @FieldAnnotation(discrete = true)
private Sex sex;
-
+ @FieldAnnotation(discrete = true)
private Hobby hobby;
public Guest() {
Modified: labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java
===================================================================
--- labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java 2008-07-08 10:31:45 UTC (rev 20962)
+++ labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/benchmark/manners/MannersBenchmark.java 2008-07-08 18:19:58 UTC (rev 20963)
@@ -75,7 +75,7 @@
* Convert the facts from the <code>InputStream</code> to a list of
* objects.
*/
- protected static List getInputObjects(InputStream inputStream) throws IOException {
+ public static List getInputObjects(InputStream inputStream) throws IOException {
List list = new ArrayList();
BufferedReader br = new BufferedReader( new InputStreamReader( inputStream ) );
Modified: labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/Poker.java
===================================================================
--- labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/Poker.java 2008-07-08 10:31:45 UTC (rev 20962)
+++ labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/Poker.java 2008-07-08 18:19:58 UTC (rev 20963)
@@ -3,7 +3,7 @@
import org.drools.learner.tools.ClassAnnotation;
import org.drools.learner.tools.FieldAnnotation;
- at ClassAnnotation(label_element = "getLabel")
+ at ClassAnnotation(label_element = "getPoker_hand")
public class Poker {
@FieldAnnotation(readingSeq = 0)
private int s1; // 'Suit of card #1': Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs}
Modified: labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/PokerExample.java
===================================================================
--- labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/PokerExample.java 2008-07-08 10:31:45 UTC (rev 20962)
+++ labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/PokerExample.java 2008-07-08 18:19:58 UTC (rev 20963)
@@ -36,7 +36,7 @@
}
// instantiate a learner for a specific object class and pass session to train
- DecisionTree decision_tree; int ALGO = 111;
+ DecisionTree decision_tree; int ALGO = 121;
/*
* Single 1xx, Bag 2xx, Boost 3xx
* ID3 x1x, C45 x2x
Modified: labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/TriangleExample.java
===================================================================
--- labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/TriangleExample.java 2008-07-08 10:31:45 UTC (rev 20962)
+++ labs/jbossrules/contrib/machinelearning/4.0.x/drools-examples/drools-examples-drl/src/main/java/org/drools/examples/learner/TriangleExample.java 2008-07-08 18:19:58 UTC (rev 20963)
@@ -36,7 +36,7 @@
}
// instantiate a learner for a specific object class and pass session to train
- DecisionTree decision_tree; int ALGO = 322;
+ DecisionTree decision_tree; int ALGO = 221;
/*
* Single 1xx, Bag 2xx, Boost 3xx
* ID3 x1x, C45 x2x
More information about the jboss-svn-commits
mailing list