dislib.trees.nested¶
- class dislib.trees.nested.DecisionTreeClassifier(n_classes, try_features, max_depth, distr_depth, sklearn_max, bootstrap, random_state, range_min=None, range_max=None, n_split_points='auto', split_computation='raw', sync_after_fit=True)[source]¶
Bases:
BaseDecisionTree
A distributed decision tree classifier.
- Parameters
try_features (int) – The number of features to consider when looking for the best split.
Note: the search for a split does not stop until at least one valid partition of the node samples is found, even if it requires to effectively inspect more than
try_features
features.max_depth (int) – The maximum depth of the tree. If np.inf, then nodes are expanded until all leaves are pure.
distr_depth (int) – Number of levels of the tree in which the nodes are split in a distributed way.
bootstrap (bool) – Randomly select n_instances samples with repetition (used in random forests).
random_state (RandomState instance) – The random number generator.
- Variables
n_features (int) – The number of features of the dataset. It can be a pycompss.runtime.Future object.
n_classes (int) – The number of classes of this RfDataset. It can be a pycompss.runtime.Future object.
tree (None or _Node) – The root node of the tree after the tree is fitted.
nodes_info (None or list of _InnerNodeInfo and _LeafInfo) – List of the node information for the nodes of the tree in the same order as obtained in the fit() method, up to
distr_depth
depth. After fit(), it is a pycompss.runtime.Future object.subtrees (None or list of _Node) – List of subtrees of the tree at
distr_depth
depth obtained in the fit() method. After fit(), it is a list of pycompss.runtime.Future objects.
- predict_proba(x_row)[source]¶
Predicts class probabilities for the given smaples using a fitted tree.
- predict_proba(x)[source]¶
Predicts class probabilities for a row block using a fitted tree.
- Parameters
x_row (ds-array) – A row block of samples.
- Returns
predicted_proba – A list with the predicted probabilities for the given samples. It contains a numpy array (if collect=True) or Future object (if collect=False) for each of the blocks in the ds-array to predict. Thus the length of the list is the same as the number of blocks the ds-array contains. The shape inside each prediction is (len(x.reg_shape[0]),
self.n_classes).
The returned object can be a pycompss.runtime.Future object.
- Return type
- class dislib.trees.nested.DecisionTreeRegressor(try_features, max_depth, distr_depth, sklearn_max, bootstrap, random_state, range_min=None, range_max=None, n_split_points='auto', split_computation='raw', sync_after_fit=True)[source]¶
Bases:
BaseDecisionTree
A distributed decision tree regressor.
- Parameters
try_features (int) – The number of features to consider when looking for the best split.
Note: the search for a split does not stop until at least one valid partition of the node samples is found, even if it requires to effectively inspect more than
try_features
features.max_depth (int) – The maximum depth of the tree. If np.inf, then nodes are expanded until all leaves are pure.
distr_depth (int) – Number of levels of the tree in which the nodes are split in a distributed way.
bootstrap (bool) – Randomly select n_instances samples with repetition (used in random forests).
random_state (RandomState instance) – The random number generator.
- Variables
n_features (int) – The number of features of the dataset. It can be a pycompss.runtime.Future object.
tree (None or _Node) – The root node of the tree after the tree is fitted.
nodes_info (None or list of _InnerNodeInfo and _LeafInfo) – List of the node information for the nodes of the tree in the same order as obtained in the fit() method, up to
distr_depth
depth. After fit(), it is a pycompss.runtime.Future object.subtrees (None or list of _Node) – List of subtrees of the tree at
distr_depth
depth obtained in the fit() method. After fit(), it is a list of pycompss.runtime.Future objects.
- class dislib.trees.nested.RandomForestClassifier(n_classes, n_estimators=10, try_features='sqrt', max_depth=inf, distr_depth='auto', sklearn_max=100000000.0, hard_vote=False, random_state=None, range_max=None, range_min=None, bootstrap=True, n_split_points='auto', split_computation='raw', sync_after_fit=True)[source]¶
Bases:
BaseRandomForest
A distributed random forest classifier.
- Parameters
n_estimators (int, optional (default=10)) – Number of trees to fit.
try_features (int, str or None, optional (default=’sqrt’)) – The number of features to consider when looking for the best split:
If “sqrt”, then try_features=sqrt(n_features).
If “third”, then try_features=n_features // 3.
If None, then try_features=n_features.
Note: the search for a split does not stop until at least one valid partition of the node samples is found, even if it requires to effectively inspect more than
try_features
features.max_depth (int or np.inf, optional (default=np.inf)) – The maximum depth of the tree. If np.inf, then nodes are expanded until all leaves are pure.
distr_depth (int or str, optional (default=’auto’)) – Number of levels of the tree in which the nodes are split in a distributed way.
sklearn_max (int or float, optional (default=1e8)) – Maximum size (len(subsample)*n_features) of the arrays passed to sklearn’s DecisionTreeClassifier.fit(), which is called to fit subtrees (subsamples) of our DecisionTreeClassifier. sklearn fit() is used because it’s faster, but requires loading the data to memory, which can cause memory problems for large datasets. This parameter can be adjusted to fit the hardware capabilities.
hard_vote (bool, optional (default=False)) – If True, it uses majority voting over the predict() result of the decision tree predictions. If False, it takes the class with the higher probability given by predict_proba(), which is an average of the probabilities given by the decision trees.
random_state (int, RandomState instance or None, optional (default=None)) – If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random.
- Variables
classes (None or ndarray) – Array of distinct classes, set at fit().
trees (list of DecisionTreeClassifier) – List of the tree classifiers of this forest, populated at fit().
- predict(x)[source]¶
Predicts target values using a fitted forest.
- Parameters
x (ds-array, shape=(n_samples, n_features)) – The input samples.
- Returns
y_pred – Predicted values for x.
- Return type
ds-array, shape=(n_samples, 1)
- predict_proba(x)[source]¶
Predicts class probabilities using a fitted forest.
The probabilities are obtained as an average of the probabilities of each decision tree.
- Parameters
x (ds-array, shape=(n_samples, n_features)) – The input samples.
- Returns
probabilities – Predicted probabilities for the samples to belong to each class. The columns of the array correspond to the classes given at self.classes.
- Return type
ds-array, shape=(n_samples, n_classes)
- class dislib.trees.nested.RandomForestRegressor(n_estimators=10, try_features='sqrt', max_depth=inf, distr_depth='auto', sklearn_max=100000000.0, random_state=None, range_max=None, range_min=None, bootstrap=True, n_split_points='auto', split_computation='raw', sync_after_fit=True)[source]¶
Bases:
BaseRandomForest
A distributed random forest regressor.
- Parameters
n_estimators (int, optional (default=10)) – Number of trees to fit.
try_features (int, str or None, optional (default=’sqrt’)) – The number of features to consider when looking for the best split:
If “sqrt”, then try_features=sqrt(n_features).
If “third”, then try_features=n_features // 3.
If None, then try_features=n_features.
Note: the search for a split does not stop until at least one valid partition of the node samples is found, even if it requires to effectively inspect more than
try_features
features.max_depth (int or np.inf, optional (default=np.inf)) – The maximum depth of the tree. If np.inf, then nodes are expanded until all leaves are pure.
distr_depth (int or str, optional (default=’auto’)) – Number of levels of the tree in which the nodes are split in a distributed way.
sklearn_max (int or float, optional (default=1e8)) – Maximum size (len(subsample)*n_features) of the arrays passed to sklearn’s DecisionTreeRegressor.fit(), which is called to fit subtrees (subsamples) of our DecisionTreeRegressor. sklearn fit() is used because it’s faster, but requires loading the data to memory, which can cause memory problems for large datasets. This parameter can be adjusted to fit the hardware capabilities.
random_state (int, RandomState instance or None, optional)
(default=None) – If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random.
- Variables
trees (list of DecisionTreeRegressor) – List of the tree regressors of this forest, populated at fit().