[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