Esempio n. 1
0
        public void EncodingAndNormalizationTest()
        {
            string[] rawData = new[]
            {
                "Sex Age Locale Income Politics",
                "==============================================",
                "Male 25 Rural 63,000.00 Conservative",
                "Female 36 Suburban 55,000.00 Liberal",
                "Male 40 Urban 74,000.00 Moderate",
                "Female 23 Rural 28,000.00 Liberal"
            };

            char separator = ' ';

            string[] encodedData = rawData.Skip(2).ToArray();
            encodedData = ParsingUtilities.EncodeColumnInLine(encodedData, 4, separator, Encode.DependentVariable);
            encodedData = ParsingUtilities.EncodeColumnInLine(encodedData, 2, separator, Encode.Predictor);
            encodedData = ParsingUtilities.EncodeColumnInLine(encodedData, 0, separator, Encode.Predictor);
            var numericalData = ParsingUtilities.ConvertToNumeric(encodedData, separator);

            Normalize.Multiple(numericalData, Normalize.Gauss, 1);
            Normalize.Multiple(numericalData, Normalize.MinMax, 4);

            Assert.AreEqual("Moderate", ParsingUtilities.Decode(rawData.Skip(2).ToArray(), 4, ' ', new double[] { 0, 0, 1 }));
        }
Esempio n. 2
0
        public void AutomaticallyEncodedNeuralNetworkDataTest()
        {
            string[] rawData = new[]
            {
                "Sex Age Locale Income Politics",
                "==============================================",
                "Male 25 Rural 63,000.00 Conservative",
                "Female 36 Suburban 55,000.00 Liberal",
                "Male 40 Urban 74,000.00 Moderate",
                "Female 23 Rural 28,000.00 Liberal"
            };
            char separator     = ' ';
            var  networkData   = new NeuralNetworkData(rawData.Skip(2).ToArray(), separator);
            var  convertedData = networkData.ConvertedData;

            Assert.AreEqual("Moderate", networkData.DecodeOutput(0, 0, 1));
            Assert.AreEqual("Liberal", networkData.DecodeOutput(0, 1, 0));
            Assert.AreEqual("Conservative", networkData.DecodeOutput(1, 0, 0));
            Assert.AreEqual("Moderate", ParsingUtilities.Decode(rawData.Skip(2).ToArray(), 4, separator, new double[] { 0, 0, 1 }));
        }