Exemplo n.º 1
0
 public static Parse <T> CreateValue <T>(this Parse <T> parse, NetMLObjectBuilder netMLObjectBuilder)
 {
     return(value =>
     {
         ParseResult <T> result = parse(value);
         if (result.Succeeded)
         {
             double decValue;
             var culture = new CultureInfo("en-gb");
             bool boolValue;
             if (double.TryParse(result.Result.ToString(), NumberStyles.Number, culture, out decValue))
             {
                 netMLObjectBuilder.AddValue(decValue);
             }
             else if (bool.TryParse(result.Result.ToString(), out boolValue))
             {
                 netMLObjectBuilder.AddValue(boolValue);
             }
             else
             {
                 var str =
                     result.Result.ToString().Replace("'", "").ToString();
                 netMLObjectBuilder.AddValue(str);
             }
         }
         return result;
     });
 }
Exemplo n.º 2
0
        public NetMLObject Parse(string netMLString)
        {
            var netMLObjectBuilder = new NetMLObjectBuilder();
            var netMLObject        = ParserObject(netMLObjectBuilder);
            var result             = netMLObject(netMLString);

            return(netMLObjectBuilder.MainNetMLObject);
        }
Exemplo n.º 3
0
        private Parse <string> CreateLogisticregression(NetMLObjectBuilder netMLObjectBuilder)
        {
            var logitcostfunction = Parser.Literal("logitcostfunction").CreateOption(netMLObjectBuilder);

            var tanhcostfunction = Parser.Literal("tanhcostfunction").CreateOption(netMLObjectBuilder);

            var logisticregression = Parser.Literal("logisticregression").CreateAlgorithmus(netMLObjectBuilder).
                                     Then(_ => logitcostfunction.Or(tanhcostfunction));

            return(logisticregression);
        }
Exemplo n.º 4
0
        private Parse <string> CreateDecisiontree(NetMLObjectBuilder netMLObjectBuilder)
        {
            var decisiontreeshannonentropysplitter = Parser.Literal("shannonentropysplitter").CreateOption(netMLObjectBuilder);

            var decisiontreeginiindexsplitter = Parser.Literal("giniindexsplitter").CreateOption(netMLObjectBuilder);

            var createdecisiontree = Parser.Literal("decisiontree").CreateAlgorithmus(netMLObjectBuilder).
                                     Then(_ => decisiontreeshannonentropysplitter.Or(decisiontreeginiindexsplitter)); //.Or(Parser.Literal("")

            return(createdecisiontree);
        }
Exemplo n.º 5
0
        private Parse <string> CreateNaivebayers(NetMLObjectBuilder netMLObjectBuilder)
        {
            var linearbayeskernel = Parser.Literal("linearbayeskernel").CreateOption(netMLObjectBuilder);

            var gaussianbayeskernel = Parser.Literal("gaussianbayeskernel").CreateOption(netMLObjectBuilder);

            var createnaivebayers = Parser.Literal("naivebayers").CreateAlgorithmus(netMLObjectBuilder).
                                    Then(_ => linearbayeskernel.Or(gaussianbayeskernel));

            return(createnaivebayers);
        }
Exemplo n.º 6
0
 public static Parse <T> CreateNetMLObject <T>(this Parse <T> parse,
                                               NetMLObjectBuilder netMLObjectBuilder)
 {
     return(value =>
     {
         ParseResult <T> result = parse(value);
         if (result.Succeeded)
         {
             netMLObjectBuilder.Create(new NetMLObject());
         }
         return result;
     });
 }
Exemplo n.º 7
0
 public static Parse <string> CreateAlgorithmus(this Parse <string> parse, NetMLObjectBuilder netMLObjectBuilder)
 {
     return(value =>
     {
         ParseResult <string> result = parse(value);
         if (result.Succeeded)
         {
             var culture = new CultureInfo("en-gb");
             var str =
                 result.Result.ToString();
             netMLObjectBuilder.CreateAlgorithmus(str);
         }
         return result;
     });
 }
Exemplo n.º 8
0
        private Parse <string> CreateKNN(NetMLObjectBuilder netMLObjectBuilder)
        {
            var knneuclidmetric = Parser.Literal("euclidmetric").CreateOption(netMLObjectBuilder);

            var knnmanhattanmetric = Parser.Literal("manhattanmetric").CreateOption(netMLObjectBuilder);

            var knnmaximummetric = Parser.Literal("maximummetric").CreateOption(netMLObjectBuilder);

            var knnsquardeuclidmetric = Parser.Literal("squaredeuclidmetric").CreateOption(netMLObjectBuilder);

            var createKNN = Parser.Literal("knn").CreateAlgorithmus(netMLObjectBuilder).
                            Then(_ => knneuclidmetric.Or(knnmanhattanmetric).Or(knnmaximummetric).Or(knnsquardeuclidmetric));

            return(createKNN);
        }
Exemplo n.º 9
0
 public static Parse <T> CreateVariable <T>(this Parse <T> parse, NetMLObjectBuilder netMLObjectBuilder)
 {
     return(value =>
     {
         ParseResult <T> result = parse(value);
         if (result.Succeeded)
         {
             var culture = new CultureInfo("en-gb");
             var str =
                 result.Result.ToString();
             netMLObjectBuilder.AddVariable(str);
         }
         return result;
     });
 }
Exemplo n.º 10
0
        private Parse <string> CreateRandomforest(NetMLObjectBuilder netMLObjectBuilder)
        {
            var decisiontreeshannonentropysplitter = Parser.Literal("shannonentropysplitter").CreateOption(netMLObjectBuilder);

            var decisiontreeginiindexsplitter = Parser.Literal("giniindexsplitter").CreateOption(netMLObjectBuilder);

            var bagging = Parser.Literal("bagging").CreateOption(netMLObjectBuilder);

            var boosting = Parser.Literal("boosting").CreateOption(netMLObjectBuilder);

            var randomforestOption = bagging.Or(boosting);

            var randomforest = Parser.Literal("Randomforest").CreateAlgorithmus(netMLObjectBuilder).
                               Then(_ => decisiontreeshannonentropysplitter.Or(decisiontreeginiindexsplitter)).Then(_x => randomforestOption);

            return(randomforest);
        }
Exemplo n.º 11
0
        private Parse <string> CreateClustering(NetMLObjectBuilder netMLObjectBuilder)
        {
            var knneuclidmetric = Parser.Literal("euclidmetric").CreateOption(netMLObjectBuilder);

            var knnmanhattanmetric = Parser.Literal("manhattanmetric").CreateOption(netMLObjectBuilder);

            var knnmaximummetric = Parser.Literal("maximummetric").CreateOption(netMLObjectBuilder);

            var knnsquardeuclidmetric = Parser.Literal("squaredeuclidmetric").CreateOption(netMLObjectBuilder);

            var KMeans = CreateKMeans(netMLObjectBuilder);

            var KMetroids = CreateKmetroids(netMLObjectBuilder);

            var createClustering = Parser.Literal("clustering").CreateClassificationAlgorithmusObject(netMLObjectBuilder)
                                   .Then(_ => KMeans.Or(KMetroids).Then(__ => knneuclidmetric.Or(knnmanhattanmetric).Or(knnmaximummetric).Or(knnsquardeuclidmetric)));

            return(createClustering);
        }
Exemplo n.º 12
0
        private void CreateSupportVectorMachine(NetMLObjectBuilder netMLObjectBuilder,
                                                out Parse <string> supportvectormachine, out Parse <string> dualperceptron)
        {
            var linearkernel     = Parser.Literal("linearkernel").CreateOption(netMLObjectBuilder);
            var gaussiankernel   = Parser.Literal("gaussiankernel").CreateOption(netMLObjectBuilder);
            var polynomialkernel = Parser.Literal("polynomialkernel").CreateOption(netMLObjectBuilder);
            var logitkernel      = Parser.Literal("logitkernel").CreateOption(netMLObjectBuilder);
            var tanhkernel       = Parser.Literal("tanhkernel").CreateOption(netMLObjectBuilder);
            var n = Parser.Literal("n").CreateVariable(netMLObjectBuilder).
                    Then(_ => Parser.Literal("=").And(Parser.DecimalString().CreateValue(netMLObjectBuilder)));
            var c = Parser.Literal("c").CreateVariable(netMLObjectBuilder).
                    Then(_ => Parser.Literal("=").And(Parser.DecimalString().CreateValue(netMLObjectBuilder)));

            var kernel = linearkernel.Or(gaussiankernel).Or(polynomialkernel).Or(logitkernel).Or(tanhkernel);

            dualperceptron = Parser.Literal("dualperceptron").CreateAlgorithmus(netMLObjectBuilder).Then(_ =>
                                                                                                         kernel);

            supportvectormachine = Parser.Literal("supportvectormachine").CreateAlgorithmus(netMLObjectBuilder).Then(_ =>
                                                                                                                     kernel).Then(_x => n).Then(_xx => c);
        }
Exemplo n.º 13
0
        private void NeuronalNetworks(NetMLObjectBuilder netMLObjectBuilder,
                                      out Parse <string> backpropagation, out Parse <string> radialbasisfunction, out Parse <string> selforganisingmap)
        {
            var inputneurons = Parser.Literal("inputneurons").CreateVariable(netMLObjectBuilder).
                               Then(_ => Parser.Literal("=").And(Parser.IntegerString().CreateValue(netMLObjectBuilder)));

            var outputneurons = Parser.Literal("outputneurons").CreateVariable(netMLObjectBuilder).
                                Then(_ => Parser.Literal("=").And(Parser.IntegerString().CreateValue(netMLObjectBuilder)));

            var firsthiddenlayerneurons = Parser.Literal("firsthiddenlayerneurons").CreateVariable(netMLObjectBuilder).
                                          Then(_ => Parser.Literal("=").And(Parser.IntegerString().CreateValue(netMLObjectBuilder)));

            var secondhiddenlayerneurons = Parser.Literal("secondhiddenlayerneurons").CreateVariable(netMLObjectBuilder).
                                           Then(_ => Parser.Literal("=").And(Parser.IntegerString().CreateValue(netMLObjectBuilder)));

            var evolutions = Parser.Literal("evolutions").CreateVariable(netMLObjectBuilder).
                             Then(_ => Parser.Literal("=").And(Parser.IntegerString().CreateValue(netMLObjectBuilder)));

            var learningrate = Parser.Literal("learningrate").CreateVariable(netMLObjectBuilder).
                               Then(_ => Parser.Literal("=").And(Parser.DecimalString().CreateValue(netMLObjectBuilder)));

            backpropagation = Parser.Literal("backpropagation").CreateAlgorithmus(netMLObjectBuilder).
                              Then(_ => inputneurons.And(outputneurons).
                                   Then(_x => firsthiddenlayerneurons).
                                   Then(_xx => secondhiddenlayerneurons).
                                   Then(_xxx => evolutions).
                                   Then(_xxxx => learningrate));

            radialbasisfunction = Parser.Literal("radialbasisfunction").CreateAlgorithmus(netMLObjectBuilder).
                                  Then(_ => inputneurons.And(outputneurons).
                                       Then(_x => firsthiddenlayerneurons).
                                       Then(_xxx => evolutions).
                                       Then(_xxxx => learningrate));

            selforganisingmap = Parser.Literal("selforganisingmap").CreateAlgorithmus(netMLObjectBuilder).
                                Then(_ => inputneurons.And(outputneurons));
        }
Exemplo n.º 14
0
        private Parse <string> CreateKmetroids(NetMLObjectBuilder netMLObjectBuilder)
        {
            var createKmetroids = Parser.Literal("kmetroids").CreateAlgorithmus(netMLObjectBuilder);

            return(createKmetroids);
        }
Exemplo n.º 15
0
        private Parse <string> CreateLinearregression(NetMLObjectBuilder netMLObjectBuilder)
        {
            var linearregression = Parser.Literal("linearregression").CreateAlgorithmus(netMLObjectBuilder);

            return(linearregression);
        }
Exemplo n.º 16
0
        private Parse <string> CreateApriori(NetMLObjectBuilder netMLObjectBuilder)
        {
            var apriori = Parser.Literal("apriori").CreateAlgorithmus(netMLObjectBuilder);

            return(apriori);
        }
Exemplo n.º 17
0
        private Parse <string> ParserObject(NetMLObjectBuilder netMLObjectBuilder)
        {
            var createKNN = CreateKNN(netMLObjectBuilder);

            var createLogisticregression = CreateLogisticregression(netMLObjectBuilder);

            var createdecisiontree = CreateDecisiontree(netMLObjectBuilder);

            var createrandomforest = CreateRandomforest(netMLObjectBuilder);

            var createnaivebayers = CreateNaivebayers(netMLObjectBuilder);

            Parse <string> backpropagation;
            Parse <string> radialbasisfunction;
            Parse <string> selforganisingmap;

            NeuronalNetworks(netMLObjectBuilder, out backpropagation, out radialbasisfunction, out selforganisingmap);

            Parse <string> supportvectormachine;
            Parse <string> dualperceptron;

            CreateSupportVectorMachine(netMLObjectBuilder, out supportvectormachine, out dualperceptron);

            var KMeans = CreateKMeans(netMLObjectBuilder);

            var linearregression = CreateLinearregression(netMLObjectBuilder);

            var apriori = CreateApriori(netMLObjectBuilder);

            var createClassification = Parser.Literal("classification").
                                       CreateClassificationAlgorithmusObject(netMLObjectBuilder).
                                       Then(_ => createKNN.
                                            Or(createLogisticregression).
                                            Or(createdecisiontree).
                                            Or(createrandomforest).
                                            Or(createnaivebayers).
                                            Or(supportvectormachine).
                                            Or(backpropagation).
                                            Or(radialbasisfunction).
                                            Or(selforganisingmap));

            //var createClustering = Parser.Literal("clustering").CreateClassificationAlgorithmusObject(netMLObjectBuilder)
            //    .Then(_ => KMeans);

            var createClustering = CreateClustering(netMLObjectBuilder);

            var createRegression = Parser.Literal("regression").CreateClassificationAlgorithmusObject(netMLObjectBuilder)
                                   .Then(_ => linearregression);

            var createAssociation = Parser.Literal("association").CreateClassificationAlgorithmusObject(netMLObjectBuilder)
                                    .Then(_ => apriori);

            var createLiteral = Parser.StringLiteral("create").CreateNetMLObject(netMLObjectBuilder).
                                Then(_ => createClassification.Or(createClustering).Or(createRegression).Or(createAssociation));

            var doubleParserValue = Parser.DecimalString().CreateValue(netMLObjectBuilder);

            var integerParserValue = Parser.Integer().CreateValue(netMLObjectBuilder);

            var variable = Parser.StringValue().CreateVariable(netMLObjectBuilder);

            return(createLiteral);
        }