private static void CheckSummaryRowTreeNode(SummaryDataRow row, int treeIndex, double bias, double treeWeight, RegressionTreeBase tree, int nodeId) { Assert.Equal(row.TreeID, treeIndex); Assert.Equal(row.Bias, bias); Assert.Equal(row.TreeWeights, treeWeight); Assert.Equal("Tree node", row.IsLeaf); Assert.Equal(row.LeftChild, tree.LeftChild[nodeId]); Assert.Equal(row.RightChild, tree.RightChild[nodeId]); Assert.Equal(row.NumericalSplitFeatureIndexes, tree.NumericalSplitFeatureIndexes[nodeId]); Assert.Equal(row.NumericalSplitThresholds, tree.NumericalSplitThresholds[nodeId]); Assert.Equal(row.CategoricalSplitFlags, tree.CategoricalSplitFlags[nodeId]); Assert.Equal(0, row.LeafValues); Assert.Equal(row.SplitGains, tree.SplitGains[nodeId]); if (tree.GetCategoricalSplitFeaturesAt(nodeId).Count() > 0) { Assert.Equal(row.CategoricalSplitFeatures, tree.GetCategoricalSplitFeaturesAt(nodeId).ToArray()); } else { Assert.Null(row.CategoricalSplitFeatures); } if (tree.GetCategoricalCategoricalSplitFeatureRangeAt(nodeId).Count() > 0) { Assert.Equal(row.CategoricalCategoricalSplitFeatureRange, tree.GetCategoricalCategoricalSplitFeatureRangeAt(nodeId).ToArray()); } else { Assert.Null(row.CategoricalCategoricalSplitFeatureRange); } }
private static void CheckSummaryRowLeafNode(SummaryDataRow row, int treeIndex, double bias, double treeWeight, RegressionTreeBase tree, int nodeId) { Assert.Equal(row.TreeID, treeIndex); Assert.Equal(row.Bias, bias); Assert.Equal(row.TreeWeights, treeWeight); Assert.Equal("Leaf node", row.IsLeaf); Assert.Equal(0, row.LeftChild); Assert.Equal(0, row.RightChild); Assert.Equal(0, row.NumericalSplitFeatureIndexes); Assert.Equal(0, row.NumericalSplitThresholds); Assert.False(row.CategoricalSplitFlags); Assert.Equal(tree.LeafValues[nodeId], row.LeafValues); Assert.Equal(0d, row.SplitGains); Assert.Null(row.CategoricalSplitFeatures); Assert.Null(row.CategoricalCategoricalSplitFeatureRange); }