private IClassifierML get_cls(Func <double[], double[]>[] functions, Task task) { LabeledData[] ldata = collect_samples(functions, task); IClassifierML cls = new RandomForest(); RandomForestParams ps = new RandomForestParams(ldata, ldata.Length /* samples count */, featureCount /* features count */, 2 /* classes count */, 100 /* trees count */, 1 /* count of features to do split in a tree */, 0.7 /* percent of a training set of samples */ /* used to build individual trees. */); cls.train <int>(ps); return(cls); }
private IClassifierML get_rg(Func <double[], double[]>[] functions, Task task) { LabeledData[] ldata = collect_samples(functions, task); IClassifierML ml = new RandomForest(); RandomForestParams ps = new RandomForestParams(ldata.ToArray(), ldata.Length /* samples count */, featureCount /* features count */, 1 /* classes count */, TreesCount /* trees count */, 3 /* count of features to do split in a tree */, 0.7 /* percent of a training set of samples */ /* used to build individual trees. */); ml.train <double>(ps); double trainModelPrecision; ml.validate <double>(ldata.ToArray(), out trainModelPrecision); Console.WriteLine("Model precision on training dataset: " + trainModelPrecision); return(ml); }