apache/spark — pull request #1582 by jkbradley (2014-07-25 01:00:59+00:00)
Title: [mllib] Decision Tree API update and multiclass bug fix

Summary:
(1) Split DecisionTree API into separate Classifier and Regressor classes.
(2) Bug fixes for recent multiclass PR (https://github.com/apache/spark/pull/886)

Details on (1) API:

(1a) Split classes: E.g.: DecisionTree --> DecisionTreeClassifier and DecisionTreeRegressor
(1b) Included print() function for human-readable model descriptions
(1c) Renamed Strategy to *Params. Changed to take strings instead of special types.
(1d) Made configuration classes (Impurity, QuantileStrategy) private to mllib.
(1e) Changed meaning of maxDepth by 1 to match scikit-learn and rpart.
(1f) Removed static train() functions in favor of using Params classes.
(1g) Introduced DatasetInfo class for metadata.

Details on (2) bug fixes:

(2a) Inconsistent aggregate (agg) indexing for unordered features.
(2b) Fixed gain calculations for edge cases.