Ejemplo n.º 1
0
    public override void Main()
    {
        var variables = (Variables)vars;
        var item      = variables.SingleOrDefault(x => x.Value is IRegressionProblem || x.Value is IRegressionProblemData);

        if (item.Equals(default(KeyValuePair <string, object>)))
        {
            throw new ArgumentException("Could not find a suitable problem or problem data.");
        }

        string name = item.Key;
        IRegressionProblemData problemData;

        if (item.Value is IRegressionProblem)
        {
            problemData = ((IRegressionProblem)item.Value).ProblemData;
        }
        else
        {
            problemData = (IRegressionProblemData)item.Value;
        }

        var bestParameters = new RFParameter();
        var bestSolution   = GridSearch(problemData, out bestParameters);

        vars["bestSolution"]   = bestSolution;
        vars["bestParameters"] = bestParameters;

        Console.WriteLine("R2 (training): " + bestSolution.TrainingRSquared + ", R2 (test): " + bestSolution.TestRSquared);
        Console.WriteLine("Model parameters: n = {0}, r = {1}, m = {2}", bestParameters.N, bestParameters.R, bestParameters.M);
    }
 private static RandomForestClassificationSolution GridSearch(IClassificationProblemData problemData, out RFParameter bestParameters, int seed = 3141519) {
   double rmsError, outOfBagRmsError, relClassificationError, outOfBagRelClassificationError;
   bestParameters = RandomForestUtil.GridSearch(problemData, randomForestParameterRanges, seed, maximumDegreeOfParallelism);
   var model = RandomForestModel.CreateClassificationModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed,
                                                           out rmsError, out outOfBagRmsError, out relClassificationError, out outOfBagRelClassificationError);
   return (RandomForestClassificationSolution)model.CreateClassificationSolution(problemData);
 }
 private static RandomForestRegressionSolution GridSearch(IRegressionProblemData problemData, out RFParameter bestParameters, int seed = 3141519) {
   double rmsError, outOfBagRmsError, avgRelError, outOfBagAvgRelError;
   var random = new MersenneTwister();
   bestParameters = RandomForestUtil.GridSearch(problemData, randomForestParameterRanges, seed, maximumDegreeOfParallelism);
   var model = RandomForestModel.CreateRegressionModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed,
                                                       out rmsError, out outOfBagRmsError, out avgRelError, out outOfBagAvgRelError);
   return (RandomForestRegressionSolution)model.CreateRegressionSolution(problemData);
 }
  public override void Main() {
    var variables = (Variables)vars;
    var item = variables.SingleOrDefault(x => x.Value is IClassificationProblem || x.Value is IClassificationProblemData);
    if (item.Equals(default(KeyValuePair<string, object>)))
      throw new ArgumentException("Could not find a suitable problem or problem data.");

    string name = item.Key;
    IClassificationProblemData problemData;
    if (item.Value is IClassificationProblem)
      problemData = ((IClassificationProblem)item.Value).ProblemData;
    else
      problemData = (IClassificationProblemData)item.Value;

    var bestParameters = new RFParameter();
    var bestSolution = GridSearch(problemData, out bestParameters);
    vars["bestSolution"] = bestSolution;
    vars["bestParameters"] = bestParameters;

    Console.WriteLine("Accuracy (training): " + bestSolution.TrainingAccuracy + ", Accuracy (test): " + bestSolution.TestAccuracy);
    Console.WriteLine("Model parameters: n = {0}, r = {1}, m = {2}", bestParameters.N, bestParameters.R, bestParameters.M);
  }
Ejemplo n.º 5
0
    private static RandomForestRegressionSolution GridSearch(IRegressionProblemData problemData, out RFParameter bestParameters, int seed = 3141519)
    {
        double rmsError, outOfBagRmsError, avgRelError, outOfBagAvgRelError;
        var    random = new MersenneTwister();

        bestParameters = RandomForestUtil.GridSearch(problemData, randomForestParameterRanges, seed, maximumDegreeOfParallelism);
        var model = RandomForestModel.CreateRegressionModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed,
                                                            out rmsError, out outOfBagRmsError, out avgRelError, out outOfBagAvgRelError);

        return((RandomForestRegressionSolution)model.CreateRegressionSolution(problemData));
    }
    private static RandomForestClassificationSolution GridSearch(IClassificationProblemData problemData, out RFParameter bestParameters, int seed = 3141519)
    {
        double rmsError, outOfBagRmsError, relClassificationError, outOfBagRelClassificationError;

        bestParameters = RandomForestUtil.GridSearch(problemData, randomForestParameterRanges, seed, maximumDegreeOfParallelism);
        var model = RandomForestModel.CreateClassificationModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed,
                                                                out rmsError, out outOfBagRmsError, out relClassificationError, out outOfBagRelClassificationError);

        return((RandomForestClassificationSolution)model.CreateClassificationSolution(problemData));
    }