Exemplo n.º 1
0
        //Training Data Should have only Two Attributes
        public override Common.MLCore.ModelBase BuildModel(double[][] trainingData,
                                                           string[] attributeHeaders,
                                                           int indexTargetAttribute)
        {
            VerifyData(trainingData, attributeHeaders, indexTargetAttribute);

            double[]        x, y;
            ModelLinearBase model = new ModelLinearBase(_missingValue,
                                                        _indexTargetAttribute, _trainingData.Length - 1);

            //Additional Checks
            if (trainingData.Length != 2)
            {
                throw new InvalidTrainingDataException();
            }
            if (indexTargetAttribute == 0)
            {
                x = trainingData[1];
                y = trainingData[0];
            }
            else
            {
                x = trainingData[0];
                y = trainingData[1];
            }

            //x,y are arrays
            model.B1 = Dispersion.CorrelationPearson(x, y)
                       * (Dispersion.StandardDeviationSample(y) /
                          Dispersion.StandardDeviationSample(x));

            model.B0 = Dispersion.Mean(y) -
                       model.B1 * Dispersion.Mean(x);

            return(model);
        }
Exemplo n.º 2
0
        public void Statistics_Standard_Deviation_Sample()
        {
            double value = Dispersion.StandardDeviationSample(ta);

            Assert.IsTrue((7.236 <= value && value <= 7.237));
        }