Author: tommaso
Date: Fri Mar 22 15:04:10 2013
New Revision: 1459830

URL: http://svn.apache.org/r1459830
Log:
reflecting API refactoring in core

Modified:
    
labs/yay/trunk/core/src/main/java/org/apache/yay/BackPropagationLearningStrategy.java
    labs/yay/trunk/core/src/main/java/org/apache/yay/BasicPerceptron.java
    labs/yay/trunk/core/src/main/java/org/apache/yay/NeuralNetworkFactory.java
    labs/yay/trunk/core/src/main/java/org/apache/yay/VoidLearningStrategy.java
    labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ConversionUtils.java
    labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ExamplesFactory.java
    labs/yay/trunk/core/src/test/java/org/apache/yay/BasicPerceptronTest.java
    
labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java
    
labs/yay/trunk/core/src/test/java/org/apache/yay/VoidLearningStrategyTest.java

Modified: 
labs/yay/trunk/core/src/main/java/org/apache/yay/BackPropagationLearningStrategy.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/main/java/org/apache/yay/BackPropagationLearningStrategy.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- 
labs/yay/trunk/core/src/main/java/org/apache/yay/BackPropagationLearningStrategy.java
 (original)
+++ 
labs/yay/trunk/core/src/main/java/org/apache/yay/BackPropagationLearningStrategy.java
 Fri Mar 22 15:04:10 2013
@@ -41,7 +41,7 @@ public class BackPropagationLearningStra
   }
 
   @Override
-  public RealMatrix[] learnWeights(RealMatrix[] weightsMatrixSet, 
Collection<TrainingExample<Double, Double[]>> trainingExamples) throws 
WeightLearningException {
+  public RealMatrix[] learnWeights(RealMatrix[] weightsMatrixSet, 
TrainingSet<Double, Double[]> trainingExamples) throws WeightLearningException {
     // set up the accumulator matrix(es)
     RealMatrix[] triangle = new RealMatrix[weightsMatrixSet.length];
     for (TrainingExample<Double, Double[]> trainingExample : trainingExamples) 
{

Modified: labs/yay/trunk/core/src/main/java/org/apache/yay/BasicPerceptron.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/main/java/org/apache/yay/BasicPerceptron.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- labs/yay/trunk/core/src/main/java/org/apache/yay/BasicPerceptron.java 
(original)
+++ labs/yay/trunk/core/src/main/java/org/apache/yay/BasicPerceptron.java Fri 
Mar 22 15:04:10 2013
@@ -19,7 +19,6 @@
 package org.apache.yay;
 
 import java.util.Collection;
-import java.util.Vector;
 
 import org.apache.yay.neuron.BinaryThresholdNeuron;
 import org.apache.yay.utils.ConversionUtils;
@@ -46,7 +45,7 @@ public class BasicPerceptron implements 
   }
 
   @Override
-  public void learn(TrainingExample<Double, Double>... trainingExamples) 
throws LearningException {
+  public void learn(TrainingSet<Double, Double> trainingExamples) throws 
LearningException {
     for (TrainingExample<Double, Double> example : trainingExamples) {
       Collection<Double> doubles = 
ConversionUtils.toValuesCollection(example.getFeatures());
       Double[] inputs = doubles.toArray(new Double[doubles.size()]);
@@ -66,7 +65,7 @@ public class BasicPerceptron implements 
   }
 
   @Override
-  public Double predict(Example<Double> input) throws PredictionException {
+  public Double predict(Input<Double> input) throws PredictionException {
     return 
perceptronNeuron.elaborate(ConversionUtils.toValuesCollection(input.getFeatures()).toArray(
             new Double[input.getFeatures().size()]));
   }

Modified: 
labs/yay/trunk/core/src/main/java/org/apache/yay/NeuralNetworkFactory.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/main/java/org/apache/yay/NeuralNetworkFactory.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- labs/yay/trunk/core/src/main/java/org/apache/yay/NeuralNetworkFactory.java 
(original)
+++ labs/yay/trunk/core/src/main/java/org/apache/yay/NeuralNetworkFactory.java 
Fri Mar 22 15:04:10 2013
@@ -47,16 +47,16 @@ public class NeuralNetworkFactory {
       private RealMatrix[] updatedRealMatrixSet = RealMatrixSet;
 
       @Override
-      public void learn(TrainingExample<Double, Double>... samples) throws 
LearningException {
+      public void learn(TrainingSet<Double, Double> samples) throws 
LearningException {
         try {
-          updatedRealMatrixSet = learningStrategy.learnWeights(RealMatrixSet, 
trainingExamples);
+          updatedRealMatrixSet = learningStrategy.learnWeights(RealMatrixSet, 
samples);
         } catch (WeightLearningException e) {
           throw new LearningException(e);
         }
       }
 
       @Override
-      public Double predict(Example<Double> input) throws PredictionException {
+      public Double predict(Input<Double> input) throws PredictionException {
         try {
           Collection<Double> inputVector = 
ConversionUtils.toValuesCollection(input.getFeatures());
           return predictionStrategy.predictOutput(inputVector, 
updatedRealMatrixSet);

Modified: 
labs/yay/trunk/core/src/main/java/org/apache/yay/VoidLearningStrategy.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/main/java/org/apache/yay/VoidLearningStrategy.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- labs/yay/trunk/core/src/main/java/org/apache/yay/VoidLearningStrategy.java 
(original)
+++ labs/yay/trunk/core/src/main/java/org/apache/yay/VoidLearningStrategy.java 
Fri Mar 22 15:04:10 2013
@@ -28,7 +28,7 @@ import java.util.Collection;
 public class VoidLearningStrategy<F, O> implements LearningStrategy<F, O> {
 
   @Override
-  public RealMatrix[] learnWeights(RealMatrix[] weightsMatrixSet, 
Collection<TrainingExample<F, O>> trainingExamples) throws 
WeightLearningException {
+  public RealMatrix[] learnWeights(RealMatrix[] weightsMatrixSet, 
TrainingSet<F, O> trainingExamples) throws WeightLearningException {
     return weightsMatrixSet;
   }
 }

Modified: 
labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ConversionUtils.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ConversionUtils.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ConversionUtils.java 
(original)
+++ labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ConversionUtils.java 
Fri Mar 22 15:04:10 2013
@@ -22,7 +22,7 @@ import org.apache.commons.math3.linear.A
 import org.apache.commons.math3.linear.OpenMapRealVector;
 import org.apache.commons.math3.linear.RealMatrix;
 import org.apache.commons.math3.linear.RealVector;
-import org.apache.yay.Example;
+import org.apache.yay.Input;
 import org.apache.yay.Feature;
 
 import java.util.ArrayList;
@@ -39,11 +39,11 @@ public class ConversionUtils {
    * @param trainingSet samples with features of type Double
    * @return a real matrix
    */
-  public static RealMatrix toMatrix(Collection<Example<Double>> trainingSet) {
+  public static RealMatrix toMatrix(Collection<Input<Double>> trainingSet) {
     double[][] matrixData = new double[trainingSet.size()][];
 
     int i = 0;
-    for (Example<Double> sample : trainingSet) {
+    for (Input<Double> sample : trainingSet) {
       double[] sampleRow = toDoubleArray(sample);
       matrixData[i] = sampleRow;
       i++;
@@ -58,7 +58,7 @@ public class ConversionUtils {
    * @param sample the sample to convert
    * @return a double array
    */
-  private static double[] toDoubleArray(Example<Double> sample) {
+  private static double[] toDoubleArray(Input<Double> sample) {
     double[] ar = new double[sample.getFeatures().size()];
     int i = 0;
     for (Feature<Double> f : sample.getFeatures()) {

Modified: 
labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ExamplesFactory.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ExamplesFactory.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ExamplesFactory.java 
(original)
+++ labs/yay/trunk/core/src/main/java/org/apache/yay/utils/ExamplesFactory.java 
Fri Mar 22 15:04:10 2013
@@ -18,14 +18,14 @@
  */
 package org.apache.yay.utils;
 
-import org.apache.yay.Example;
+import org.apache.yay.Input;
 import org.apache.yay.Feature;
 import org.apache.yay.TrainingExample;
 
 import java.util.ArrayList;
 
 /**
- * Factory class for {@link Example}s
+ * Factory class for {@link org.apache.yay.Input}s
  */
 public class ExamplesFactory {
 
@@ -44,8 +44,8 @@ public class ExamplesFactory {
     };
   }
 
-  public static Example<Double> createDoubleExample(final Double... 
featuresValues) {
-    return new Example<Double>() {
+  public static Input<Double> createDoubleExample(final Double... 
featuresValues) {
+    return new Input<Double>() {
       @Override
       public ArrayList<Feature<Double>> getFeatures() {
         return doublesToFeatureVector(featuresValues);

Modified: 
labs/yay/trunk/core/src/test/java/org/apache/yay/BasicPerceptronTest.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/test/java/org/apache/yay/BasicPerceptronTest.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- labs/yay/trunk/core/src/test/java/org/apache/yay/BasicPerceptronTest.java 
(original)
+++ labs/yay/trunk/core/src/test/java/org/apache/yay/BasicPerceptronTest.java 
Fri Mar 22 15:04:10 2013
@@ -19,7 +19,10 @@
 package org.apache.yay;
 
 import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedList;
 
+import org.junit.Before;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -29,22 +32,30 @@ import static org.junit.Assert.assertEqu
  */
 public class BasicPerceptronTest {
 
+  private TrainingSet<Double, Double> dataset;
+
+  @Before
+  public void setUp() throws Exception {
+      Collection<TrainingExample<Double, Double>> samples = new 
LinkedList<TrainingExample<Double, Double>>() ;
+      samples.add(createTrainingExample(1d, 4d, 5d, 6d));
+      samples.add(createTrainingExample(1d, 5d, 6d, 0.5d));
+      samples.add(createTrainingExample(0.1d, 9d, 4d, 1.9d));
+      samples.add(createTrainingExample(0.11d, 4d, 2.6d, 9.5d));
+      dataset = new TrainingSet<Double,Double>(samples);
+  }
+
   @Test
   @SuppressWarnings("unchecked")
   public void testLearnPhase() throws Exception {
     BasicPerceptron basicPerceptron = new BasicPerceptron(1d, 2d, 3d, 4d);
-    basicPerceptron.learn(createTrainingExample(1d, 4d, 5d, 6d),
-            createTrainingExample(1d, 5d, 6d, 0.5d), 
createTrainingExample(0.1d, 9d, 4d, 1.9d),
-            createTrainingExample(0.11d, 4d, 2.6d, 9.5d));
+    basicPerceptron.learn(dataset);
   }
 
   @Test
   @SuppressWarnings("unchecked")
   public void testPredictionPhase() throws Exception {
     BasicPerceptron basicPerceptron = new BasicPerceptron(1d, 2d, 3d, 4d);
-    basicPerceptron.learn(createTrainingExample(1d, 4d, 5d, 6d),
-            createTrainingExample(1d, 5d, 6d, 0.5d), 
createTrainingExample(0.1d, 9d, 4d, 1.9d),
-            createTrainingExample(0.11d, 4d, 2.6d, 9.5d));
+    basicPerceptron.learn(dataset);
     Double output = basicPerceptron.predict(createTrainingExample(null, 1d, 
6d, 0.4d));
     assertEquals(Double.valueOf(1d), output);
   }

Modified: 
labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- 
labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java 
(original)
+++ 
labs/yay/trunk/core/src/test/java/org/apache/yay/NeuralNetworkFactoryTest.java 
Fri Mar 22 15:04:10 2013
@@ -96,8 +96,8 @@ public class NeuralNetworkFactoryTest {
             new FeedForwardStrategy(new SigmoidFunction()));
   }
 
-  private Example<Double> createSample(final Double... params) {
-    return new Example<Double>() {
+  private Input<Double> createSample(final Double... params) {
+    return new Input<Double>() {
       @Override
       public ArrayList<Feature<Double>> getFeatures() {
         ArrayList<Feature<Double>> features = new ArrayList<Feature<Double>>();

Modified: 
labs/yay/trunk/core/src/test/java/org/apache/yay/VoidLearningStrategyTest.java
URL: 
http://svn.apache.org/viewvc/labs/yay/trunk/core/src/test/java/org/apache/yay/VoidLearningStrategyTest.java?rev=1459830&r1=1459829&r2=1459830&view=diff
==============================================================================
--- 
labs/yay/trunk/core/src/test/java/org/apache/yay/VoidLearningStrategyTest.java 
(original)
+++ 
labs/yay/trunk/core/src/test/java/org/apache/yay/VoidLearningStrategyTest.java 
Fri Mar 22 15:04:10 2013
@@ -38,11 +38,12 @@ public class VoidLearningStrategyTest {
   public void testNoLearning() throws Exception {
     VoidLearningStrategy<String, String> learningStrategy = new 
VoidLearningStrategy<String, String>();
     Collection<TrainingExample<String, String>> trainingExamples = new 
LinkedList<TrainingExample<String, String>>();
+    TrainingSet<String, String> trainingSet = new TrainingSet<String, 
String>(trainingExamples);
     RealMatrix[] weightsMatrixSet = new RealMatrix[1];
     double[][] weights = {{1d, 2d,}, {2d, 4d}};
     weightsMatrixSet[0] = new Array2DRowRealMatrix(weights);
     RealMatrix[] learnedWeights = 
learningStrategy.learnWeights(weightsMatrixSet,
-            trainingExamples);
+            trainingSet);
     assertNotNull(learnedWeights);
     assertTrue(Arrays.equals(learnedWeights, weightsMatrixSet));
   }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to