Пример #1
0
 private void BuildRuleTree(Rule rule, IForecastingDataSets datasets)
 {
     if (rule.Type == RuleType.Interior)
     {
         if (rule.LeftChild != null)
         {
             BuildRuleTree(rule.LeftChild, datasets);
         }
         if (rule.RightChild != null)
         {
             BuildRuleTree(rule.RightChild, datasets);
         }
     }
     else
     {
         IForecastingDataSets extracted = ExtractSubSets(rule.InheritedSplitLocations.ToArray(),
                                                         rule.InheritedSplitValues.ToArray(), datasets, rule.Type);
         ModelParameter mp = new ModelParameter();
         if (extracted.Length > 0)
         {
             MLRModel mlr = new MLRModel(mp);
             mlr.Train(extracted);
             rule.Model = mlr;
         }
     }
 }
Пример #2
0
 public MLRModel(ModelParameter para)
     : base(para)
 {
     para.Component = this;
     Orgnization    = "HUST WREIS";
     ID             = "8886B813-CD78-4A4B-9364-59792B35F88C";
     Name           = "Multiple Linear Regression";
     Descriptions   = "";
 }
Пример #3
0
        public static IForecastingModel CreateForecastingModel(string name)
        {
            IForecastingModel model = null;

            switch (name)
            {
            case "Artificial Neural Network":
                AnnModelParameter annPara = new AnnModelParameter();
                model = new NeuralNetworkModel(annPara);
                break;

            case "HIGANN":
                AnnModelParameter annPara1 = new AnnModelParameter();
                model = new NeuralNetworkModel(annPara1);
                break;

            case "Support Vector Machine":
                Heiflow.AI.SVM.Parameter p = new Heiflow.AI.SVM.Parameter();
                model = new SVMModel(p);
                break;

            case "Multiple Linear Regression":
                ModelParameter mp = new ModelParameter();
                model = new MLRModel(mp);
                break;

            case "Genetic Programming":
                GPModelParameter para = new GPModelParameter();
                model = new GPModel(para);
                break;

            case "Model Tree":
                Rule root  = new Rule(5, 0.47035, RuleType.Interior);
                Rule right = new Rule(RuleType.RightLeaf);
                root.RightChild = right;
                Rule left = new Rule(5, 0.30445, RuleType.Interior);
                root.LeftChild = left;
                Rule left1 = new Rule(RuleType.LeftLeaf);
                left.LeftChild = left1;
                Rule right1 = new Rule(9, 0.156, RuleType.Interior);
                left.RightChild = right1;

                Rule right1_left = new Rule(RuleType.LeftLeaf);
                right1.LeftChild = right1_left;

                Rule right1_right = new Rule(RuleType.RightLeaf);
                right1.RightChild = right1_right;

                HybridModelParameter hmp = new HybridModelParameter(root);
                model = new HybridModel(hmp);
                break;
            }
            return(model);
        }