Exemple #1
0
        private void RecordStep(IInference infer, string classifierField)
        {
            double newPrediction;

            if (null != infer.GetClassification(classifierField).GetMostProbableValue(1))
            {
                newPrediction = (double)infer.GetClassification(classifierField).GetMostProbableValue(1);
            }
            else
            {
                newPrediction = _predictedValue;
            }
            if (infer.GetRecordNum() > 0)
            {
                double actual = (double)infer.GetClassifierInput()[classifierField].Get("inputValue");
                double error  = Math.Abs(_predictedValue - actual);

                PredictionValue value = new PredictionValue();
                value.RecordNum       = infer.GetRecordNum();
                value.ActualValue     = actual;
                value.PredictionError = error;
                value.PredictedValue  = newPrediction;
                value.AnomalyFactor   = infer.GetAnomalyScore();
                _predictions.Add(value);
            }
            _predictedValue = newPrediction;
        }
        /**
         * Used to manually input data into a {@link Region}, the other way
         * being the call to {@link Region#start()} for a Region that contains
         * a {@link Layer} which in turn contains a {@link Sensor} <em>-OR-</em>
         * subscribing a receiving Region to this Region's output Observable.
         *
         * @param input One of (int[], String[], {@link ManualInput}, or Map&lt;String, Object&gt;)
         */

        public void Compute(IInference input)
        {
            if (!assemblyClosed)
            {
                close();
            }

            this.input = input;

            ((Layer <IInference>)tail).Compute(input);
        }
Exemple #3
0
            public override object PostDeSerialize(object i)
            {
                IInference retVal = (IInference)base.PostDeSerialize(i);

                Assert.IsNotNull(retVal);
                Assert.IsTrue(retVal != i);      // Ensure Objects not same
                Assert.IsTrue(retVal.Equals(i)); // However they are still equal!
                                                 //callVerify.add(retVal);
                                                 //Assert.IsTrue(callVerify.size() == 1);
                callVerify.Add(retVal);
                Assert.IsTrue(callVerify.Count == 1);
                return((ManualInput)retVal);
            }
Exemple #4
0
        public void TestSerializeDeSerialize()
        {
            SerializerCore serializer = Persistence.Get().Serializer();

            IInference inf = new ManualInputWithPostDeserialize();

            byte[] bytes = serializer.Serialize(inf);
            Assert.IsNotNull(bytes);

            IInference serializedInf = serializer.Deserialize <ManualInput>(bytes);

            Assert.IsNotNull(serializedInf);

            Assert.IsTrue(callVerify.Count == 1);
        }
Exemple #5
0
 /**
  * Primitive file appender for collecting output. This just demonstrates how to use
  * {@link Subscriber#onNext(Object)} to accomplish some work.
  *
  * @param infer             The {@link Inference} object produced by the Network
  * @param classifierField   The field we use in this demo for anomaly computing.
  */
 private void WriteToFile(IInference infer, string classifierField)
 {
     try
     {
         double newPrediction;
         if (null != infer.GetClassification(classifierField).GetMostProbableValue(1))
         {
             newPrediction = (double)infer.GetClassification(classifierField).GetMostProbableValue(1);
         }
         else
         {
             newPrediction = predictedValue;
         }
         if (infer.GetRecordNum() > 0)
         {
             double        actual = (double)infer.GetClassifierInput()[classifierField].Get("inputValue");
             double        error  = Math.Abs(predictedValue - actual);
             StringBuilder sb     = new StringBuilder()
                                    .Append(infer.GetRecordNum()).Append(", ")
                                    //.Append("classifier input=")
                                    .Append(string.Format("{0}", actual.ToString(NumberFormatInfo.InvariantInfo))).Append(",")
                                    //.Append("prediction= ")
                                    .Append(string.Format("{0}", predictedValue.ToString(NumberFormatInfo.InvariantInfo))).Append(",")
                                    .Append(string.Format("{0}", error.ToString(NumberFormatInfo.InvariantInfo))).Append(",")
                                    //.Append("anomaly score=")
                                    .Append(infer.GetAnomalyScore().ToString(NumberFormatInfo.InvariantInfo));
             pw.WriteLine(sb.ToString());
             pw.Flush();
             if (infer.GetRecordNum() % 100 == 0)
             {
                 Console.WriteLine(sb.ToString());
             }
         }
         predictedValue = newPrediction;
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         pw.Flush();
     }
 }