Changeset 18114 for branches/3140_NumberSymbol/HeuristicLab.Algorithms.DataAnalysis/3.4/RandomForest/RandomForestModelFull.cs
- Timestamp:
- 12/13/21 10:25:35 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3140_NumberSymbol/HeuristicLab.Algorithms.DataAnalysis/3.4/RandomForest/RandomForestModelFull.cs
r18100 r18114 211 211 } 212 212 213 private ISymbolicExpressionTreeNode CreateRegressionTreeRec(double[] trees, int offset, int k, Number constSy, VariableCondition varCondSy) {213 private ISymbolicExpressionTreeNode CreateRegressionTreeRec(double[] trees, int offset, int k, Number numSy, VariableCondition varCondSy) { 214 214 215 215 // alglib source for evaluation of one tree (dfprocessinternal) … … 240 240 // } 241 241 242 if ( (double)(trees[k]) == (double)(-1)) {243 var numNode = (NumberTreeNode) constSy.CreateTreeNode();242 if (trees[k] == -1) { 243 var numNode = (NumberTreeNode)numSy.CreateTreeNode(); 244 244 numNode.Value = trees[k + 1]; 245 245 return numNode; … … 250 250 condNode.Slope = double.PositiveInfinity; 251 251 252 var left = CreateRegressionTreeRec(trees, offset, k + 3, constSy, varCondSy);253 var right = CreateRegressionTreeRec(trees, offset, offset + (int)Math.Round(trees[k + 2]), constSy, varCondSy);252 var left = CreateRegressionTreeRec(trees, offset, k + 3, numSy, varCondSy); 253 var right = CreateRegressionTreeRec(trees, offset, offset + (int)Math.Round(trees[k + 2]), numSy, varCondSy); 254 254 255 255 condNode.AddSubtree(left); // not 100% correct because interpreter uses: if(x <= thres) left() else right() and RF uses if(x < thres) left() else right() (see above)
Note: See TracChangeset
for help on using the changeset viewer.