Statistically valid explainable black-box machine learning: applications in sex classification across species using brain imaging.
The 9 matches
- [1] § Materials and methods › Simulated datasets ↔ treeple/datasets/hyppo.py, lines 428–568 · score 0.74 · identity covariance matrix, Trunk simulation, Gaussian, closer, vector, dimension
- [2] § Materials and methods › Oblique random forest ↔ treeple/ensemble/_supervised_forest.py, lines 346–583 · score 0.66 · Sparse Projection Oblique, axis aligned decision, Oblique Random Forest, treeple, traditional, partitions
- [3] § Materials and methods › Feature importance testing ↔ examples/sparse_oblique_trees/plot_extra_oblique_random_forest.py, lines 1–78 · score 0.62 · computationally expensive, machine learning, high dimensional, predictions, algorithms, tree
- [4] § Results › Hyper-parameter tuning ↔ treeple/ensemble/_supervised_forest.py, lines 645–909 · score 0.61 · max patch dim, OOB score, max_features, split, classification
- [5] § Materials and methods › Oblique random forest ↔ yggdrasil_decision_forests/port/python/ydf/learner/specialized_learners_pre_generated.py, lines 53–482 · score 0.60 · cross validation, expensive, overfitting, bag, OOB, bootstrap
- [6] § Results › Performance of the sex classifier ↔ yggdrasil_decision_forests/port/python/ydf/metric/display_metric.py, lines 70–185 · score 0.58 · receiver operating characteristic, ROC curves, AUC, volume, thresholds, classifier
- [7] § Materials and methods › Feature importance testing ↔ treeple/ensemble/_honest_forest.py, lines 99–449 · score 0.57 · Gini impurity, split nodes, Random Forest, subset, predictions, trees
- [8] § Materials and methods › Simulated datasets ↔ treeple/ensemble/_eiforest.py, lines 6–160 · score 0.57 · Gaussian distributions, high dimensional, covariance, sparse, selection, algorithms
- [9] § Materials and methods › Feature importance testing ↔ yggdrasil_decision_forests/port/python/ydf/learner/specialized_learners_pre_generated.py, lines 1290–1840 · score 0.51 · model predictions, Additive, machine, global, computationally, permutations
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
Python · 1,931 lines · 80 KB · other · 2 matches
- from sklearn.utils._param_validation import StrOptions
- from .._lib.sklearn.ensemble._forest import ForestClassifier, ForestRegressor
- from ..tree import (
- ExtraObliqueDecisionTreeClassifier,
- ExtraObliqueDecisionTreeRegressor,
- ObliqueDecisionTreeClassifier,
- ObliqueDecisionTreeRegressor,
- PatchObliqueDecisionTreeClassifier,
- PatchObliqueDecisionTreeRegressor,
- )
- from ..tree._neighbors import SimMatrixMixin
- from ._extensions import ForestClassifierMixin, ForestMixin
- class ObliqueRandomForestClassifier(
- SimMatrixMixin, ForestClassifierMixin, ForestMixin, ForestClassifier
- ):
- """
- An oblique random forest classifier.
- A oblique random forest is a meta estimator similar to a random
- forest that fits a number of oblique decision tree classifiers
- on various sub-samples of the dataset and uses averaging to
- improve the predictive accuracy and control over-fitting.
- The sub-sample size is controlled with the `max_samples` parameter if
- `bootstrap=True` (default), otherwise the whole dataset is used to build
- each tree.
- Read more in the :ref:`User Guide <sklearn:forest>`.
- Parameters
- ----------
- n_estimators : int, default=100
- The number of trees in the forest.
- criterion : {"gini", "entropy"}, default="gini"
- The function to measure the quality of a split. Supported criteria are
- "gini" for the Gini impurity and "entropy" for the information gain.
- Note: this parameter is tree-specific.
- max_depth : int, default=None
- The maximum depth of the tree. If None, then nodes are expanded until
- all leaves are pure or until all leaves contain less than
- min_samples_split samples.
- min_samples_split : int or float, default=2
- The minimum number of samples required to split an internal node:
- - If int, then consider `min_samples_split` as the minimum number.
- - If float, then `min_samples_split` is a fraction and
- `ceil(min_samples_split * n_samples)` are the minimum
- number of samples for each split.
- min_samples_leaf : int or float, default=1
- The minimum number of samples required to be at a leaf node.
- A split point at any depth will only be considered if it leaves at
- least ``min_samples_leaf`` training samples in each of the left and
- right branches. This may have the effect of smoothing the model,
- especially in regression.
- - If int, then consider `min_samples_leaf` as the minimum number.
- - If float, then `min_samples_leaf` is a fraction and
- `ceil(min_samples_leaf * n_samples)` are the minimum
- number of samples for each node.
- min_weight_fraction_leaf : float, default=0.0
- The minimum weighted fraction of the sum total of weights (of all
- the input samples) required to be at a leaf node. Samples have
- equal weight when sample_weight is not provided.
- max_features : {"sqrt", "log2", None}, int or float, default="sqrt"
- The number of features to consider when looking for the best split:
- - If int, then consider `max_features` features at each split.
- - If float, then `max_features` is a fraction and
- `round(max_features * n_features)` features are considered at each
- split.
- - If "auto", then `max_features=sqrt(n_features)`.
- - If "sqrt", then `max_features=sqrt(n_features)`.
- - If "log2", then `max_features=log2(n_features)`.
- - If None, then `max_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 ``max_features`` features.
- max_leaf_nodes : int, default=None
- Grow trees with ``max_leaf_nodes`` in best-first fashion.
- Best nodes are defined as relative reduction in impurity.
- If None then unlimited number of leaf nodes.
- min_impurity_decrease : float, default=0.0
- A node will be split if this split induces a decrease of the impurity
- greater than or equal to this value.
- The weighted impurity decrease equation is the following::
- N_t / N * (impurity - N_t_R / N_t * right_impurity
- - N_t_L / N_t * left_impurity)
- where ``N`` is the total number of samples, ``N_t`` is the number of
- samples at the current node, ``N_t_L`` is the number of samples in the
- left child, and ``N_t_R`` is the number of samples in the right child.
- ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum,
- if ``sample_weight`` is passed.
- bootstrap : bool, default=True
- Whether bootstrap samples are used when building trees. If False, the
- whole dataset is used to build each tree.
- oob_score : bool, default=False
- Whether to use out-of-bag samples to estimate the generalization score.
- Only available if bootstrap=True.
- n_jobs : int, default=None
- The number of jobs to run in parallel. :meth:`fit`, :meth:`predict`,
- :meth:`decision_path` and :meth:`apply` are all parallelized over the
- trees. ``None`` means 1 unless in a `joblib.parallel_backend`
- context. ``-1`` means using all processors. See :term:`Glossary
- <n_jobs>` for more details.
- random_state : int, RandomState instance or None, default=None
- Controls both the randomness of the bootstrapping of the samples used
- when building trees (if ``bootstrap=True``) and the sampling of the
- features to consider when looking for the best split at each node
- (if ``max_features < n_features``).
- See :term:`Glossary <random_state>` for details.
- verbose : int, default=0
- Controls the verbosity when fitting and predicting.
- warm_start : bool, default=False
- When set to ``True``, reuse the solution of the previous call to fit
- and add more estimators to the ensemble, otherwise, just fit a whole
- new forest. See :term:`the Glossary <warm_start>`.
- class_weight : {"balanced", "balanced_subsample"}, dict or list of dicts, \
- default=None
- Weights associated with classes in the form ``{class_label: weight}``.
- If not given, all classes are supposed to have weight one. For
- multi-output problems, a list of dicts can be provided in the same
- order as the columns of y.
- Note that for multioutput (including multilabel) weights should be
- defined for each class of every column in its own dict. For example,
- for four-class multilabel classification weights should be
- [{0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}] instead of
- [{1:1}, {2:5}, {3:1}, {4:1}].
- The "balanced" mode uses the values of y to automatically adjust
- weights inversely proportional to class frequencies in the input data
- as ``n_samples / (n_classes * np.bincount(y))``
- The "balanced_subsample" mode is the same as "balanced" except that
- weights are computed based on the bootstrap sample for every tree
- grown.
- For multi-output, the weights of each column of y will be multiplied.
- Note that these weights will be multiplied with sample_weight (passed
- through the fit method) if sample_weight is specified.
- max_samples : int or float, default=None
- If bootstrap is True, the number of samples to draw from X
- to train each base estimator.
- - If None (default), then draw `X.shape[0]` samples.
- - If int, then draw `max_samples` samples.
- - If float, then draw `max_samples * X.shape[0]` samples. Thus,
- `max_samples` should be in the interval `(0.0, 1.0]`.
- feature_combinations : float, default=None
- The number of features to combine on average at each split
- of the decision trees. If ``None``, then will default to the minimum of
- ``(1.5, n_features)``. This controls the number of non-zeros is the
- projection matrix. Setting the value to 1.0 is equivalent to a
- traditional decision-tree. ``feature_combinations * max_features``
- gives the number of expected non-zeros in the projection matrix of shape
- ``(max_features, n_features)``. Thus this value must always be less than
- ``n_features`` in order to be valid.
- Attributes
- ----------
- estimators_ : list of treeple.tree.ObliqueDecisionTreeClassifier
- The collection of fitted sub-estimators.
- classes_ : ndarray of shape (n_classes,) or a list of such arrays
- The classes labels (single output problem), or a list of arrays of
- class labels (multi-output problem).
- n_classes_ : int or list
- The number of classes (single output problem), or a list containing the
- number of classes for each output (multi-output problem).
- n_features_ : int
- The number of features when ``fit`` is performed.
- n_features_in_ : int
- Number of features seen during :term:`fit`.
- feature_names_in_ : ndarray of shape (`n_features_in_`,)
- Names of features seen during :term:`fit`. Defined only when `X`
- has feature names that are all strings.
- n_outputs_ : int
- The number of outputs when ``fit`` is performed.
- feature_importances_ : ndarray of shape (n_features,)
- The impurity-based feature importances.
- The higher, the more important the feature.
- The importance of a feature is computed as the (normalized)
- total reduction of the criterion brought by that feature. It is also
- known as the Gini importance.
- Warning: impurity-based feature importances can be misleading for
- high cardinality features (many unique values). See
- :func:`sklearn.inspection.permutation_importance` as an alternative.
- oob_score_ : float
- Score of the training dataset obtained using an out-of-bag estimate.
- This attribute exists only when ``oob_score`` is True.
- oob_decision_function_ : ndarray of shape (n_samples, n_classes) or \
- (n_samples, n_classes, n_outputs)
- Decision function computed with out-of-bag estimate on the training
- set. If n_estimators is small it might be possible that a data point
- was never left out during the bootstrap. In this case,
- `oob_decision_function_` might contain NaN. This attribute exists
- only when ``oob_score`` is True.
- See Also
- --------
- treeple.tree.ObliqueDecisionTreeClassifier : An oblique decision
- tree classifier.
- sklearn.ensemble.RandomForestClassifier : An axis-aligned decision
- forest classifier.
- Notes
- -----
- The default values for the parameters controlling the size of the trees
- (e.g. ``max_depth``, ``min_samples_leaf``, etc.) lead to fully grown and
- unpruned trees which can potentially be very large on some data sets. To
- reduce memory consumption, the complexity and size of the trees should be
- controlled by setting those parameter values.
- The features are always randomly permuted at each split. Therefore,
- the best found split may vary, even with the same training data,
- ``max_features=n_features`` and ``bootstrap=False``, if the improvement
- of the criterion is identical for several splits enumerated during the
- search of the best split. To obtain a deterministic behaviour during
- fitting, ``random_state`` has to be fixed.
- References
- ----------
- .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
- Examples
- --------
- >>> from treeple.ensemble import ObliqueRandomForestClassifier
- >>> from sklearn.datasets import make_classification
- >>> X, y = make_classification(n_samples=1000, n_features=4,
- ... n_informative=2, n_redundant=0,
- ... random_state=0, shuffle=False)
- >>> clf = ObliqueRandomForestClassifier(max_depth=2, random_state=0)
- >>> clf.fit(X, y)
- ObliqueRandomForestClassifier(...)
- >>> print(clf.predict([[0, 0, 0, 0]]))
- [1]
- """
- tree_type = "oblique"
- _parameter_constraints: dict = {
- **ForestClassifier._parameter_constraints,
- **ObliqueDecisionTreeClassifier._parameter_constraints,
- "class_weight": [
- StrOptions({"balanced_subsample", "balanced"}),
- dict,
- list,
- None,
- ],
- }
- _parameter_constraints.pop("splitter")
- def __init__(
- self,
- n_estimators=100,
- *,
- criterion="gini",
- max_depth=None,
- min_samples_split=2,
- min_samples_leaf=1,
- min_weight_fraction_leaf=0.0,
- max_features="sqrt",
- max_leaf_nodes=None,
- min_impurity_decrease=0.0,
- bootstrap=True,
- oob_score=False,
- n_jobs=None,
- random_state=None,
- verbose=0,
- warm_start=False,
- class_weight=None,
- max_samples=None,
- feature_combinations=None,
- ):
- super().__init__(
- estimator=ObliqueDecisionTreeClassifier(),
- n_estimators=n_estimators,
- estimator_params=(
- "criterion",
- "max_depth",
- "min_samples_split",
- "min_samples_leaf",
- "min_weight_fraction_leaf",
- "max_features",
- "max_leaf_nodes",
- "min_impurity_decrease",
- "random_state",
- "feature_combinations",
- ),
- bootstrap=bootstrap,
- oob_score=oob_score,
- n_jobs=n_jobs,
- random_state=random_state,
- verbose=verbose,
- warm_start=warm_start,
- class_weight=class_weight,
- max_samples=max_samples,
- )
- self.criterion = criterion
- self.max_depth = max_depth
- self.min_samples_split = min_samples_split
- self.min_samples_leaf = min_samples_leaf
- self.max_features = max_features
- self.feature_combinations = feature_combinations
- # unused by oblique forests
- self.min_weight_fraction_leaf = min_weight_fraction_leaf
- self.max_leaf_nodes = max_leaf_nodes
- self.min_impurity_decrease = min_impurity_decrease
- class ObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegressor):
- """An oblique random forest regressor.
- A oblique random forest is a meta estimator similar to a random
- forest that fits a number of oblique decision tree regressor
- on various sub-samples of the dataset and uses averaging to
- improve the predictive accuracy and control over-fitting.
- The sub-sample size is controlled with the `max_samples` parameter if
- `bootstrap=True` (default), otherwise the whole dataset is used to build
- each tree.
- Read more in the :ref:`User Guide <sklearn:forest>`.
- Parameters
- ----------
- n_estimators : int, default=100
- The number of trees in the forest.
- criterion : {"squared_error", "absolute_error", "friedman_mse", "poisson"}, \
- default="squared_error"
- The function to measure the quality of a split. Supported criteria
- are "squared_error" for the mean squared error, which is equal to
- variance reduction as feature selection criterion and minimizes the L2
- loss using the mean of each terminal node, "friedman_mse", which uses
- mean squared error with Friedman's improvement score for potential
- splits, "absolute_error" for the mean absolute error, which minimizes
- the L1 loss using the median of each terminal node, and "poisson" which
- uses reduction in Poisson deviance to find splits.
- Training using "absolute_error" is significantly slower
- than when using "squared_error".
- max_depth : int, default=None
- The maximum depth of the tree. If None, then nodes are expanded until
- all leaves are pure or until all leaves contain less than
- min_samples_split samples.
- min_samples_split : int or float, default=2
- The minimum number of samples required to split an internal node:
- - If int, then consider `min_samples_split` as the minimum number.
- - If float, then `min_samples_split` is a fraction and
- `ceil(min_samples_split * n_samples)` are the minimum
- number of samples for each split.
- min_samples_leaf : int or float, default=1
- The minimum number of samples required to be at a leaf node.
- A split point at any depth will only be considered if it leaves at
- least ``min_samples_leaf`` training samples in each of the left and
- right branches. This may have the effect of smoothing the model,
- especially in regression.
- - If int, then consider `min_samples_leaf` as the minimum number.
- - If float, then `min_samples_leaf` is a fraction and
- `ceil(min_samples_leaf * n_samples)` are the minimum
- number of samples for each node.
- min_weight_fraction_leaf : float, default=0.0
- The minimum weighted fraction of the sum total of weights (of all
- the input samples) required to be at a leaf node. Samples have
- equal weight when sample_weight is not provided.
- max_features : {"sqrt", "log2", None}, int or float, default="sqrt"
- The number of features to consider when looking for the best split:
- - If int, then consider `max_features` features at each split.
- - If float, then `max_features` is a fraction and
- `round(max_features * n_features)` features are considered at each
- split.
- - If "auto", then `max_features=sqrt(n_features)`.
- - If "sqrt", then `max_features=sqrt(n_features)`.
- - If "log2", then `max_features=log2(n_features)`.
- - If None, then `max_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 ``max_features`` features.
- max_leaf_nodes : int, default=None
- Grow trees with ``max_leaf_nodes`` in best-first fashion.
- Best nodes are defined as relative reduction in impurity.
- If None then unlimited number of leaf nodes.
- min_impurity_decrease : float, default=0.0
- A node will be split if this split induces a decrease of the impurity
- greater than or equal to this value.
- The weighted impurity decrease equation is the following::
- N_t / N * (impurity - N_t_R / N_t * right_impurity
- - N_t_L / N_t * left_impurity)
- where ``N`` is the total number of samples, ``N_t`` is the number of
- samples at the current node, ``N_t_L`` is the number of samples in the
- left child, and ``N_t_R`` is the number of samples in the right child.
- ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum,
- if ``sample_weight`` is passed.
- bootstrap : bool, default=True
- Whether bootstrap samples are used when building trees. If False, the
- whole dataset is used to build each tree.
- oob_score : bool, default=False
- Whether to use out-of-bag samples to estimate the generalization score.
- Only available if bootstrap=True.
- n_jobs : int, default=None
- The number of jobs to run in parallel. :meth:`fit`, :meth:`predict`,
- :meth:`decision_path` and :meth:`apply` are all parallelized over the
- trees. ``None`` means 1 unless in a `joblib.parallel_backend`
- context. ``-1`` means using all processors. See :term:`Glossary
- <n_jobs>` for more details.
- random_state : int, RandomState instance or None, default=None
- Controls both the randomness of the bootstrapping of the samples used
- when building trees (if ``bootstrap=True``) and the sampling of the
- features to consider when looking for the best split at each node
- (if ``max_features < n_features``).
- See :term:`Glossary <random_state>` for details.
- verbose : int, default=0
- Controls the verbosity when fitting and predicting.
- warm_start : bool, default=False
- When set to ``True``, reuse the solution of the previous call to fit
- and add more estimators to the ensemble, otherwise, just fit a whole
- new forest. See :term:`the Glossary <warm_start>`.
- max_samples : int or float, default=None
- If bootstrap is True, the number of samples to draw from X
- to train each base estimator.
- - If None (default), then draw `X.shape[0]` samples.
- - If int, then draw `max_samples` samples.
- - If float, then draw `max_samples * X.shape[0]` samples. Thus,
- `max_samples` should be in the interval `(0.0, 1.0]`.
- feature_combinations : float, default=None
- The number of features to combine on average at each split
- of the decision trees. If ``None``, then will default to the minimum of
- ``(1.5, n_features)``. This controls the number of non-zeros is the
- projection matrix. Setting the value to 1.0 is equivalent to a
- traditional decision-tree. ``feature_combinations * max_features``
- gives the number of expected non-zeros in the projection matrix of shape
- ``(max_features, n_features)``. Thus this value must always be less than
- ``n_features`` in order to be valid.
- Attributes
- ----------
- estimators_ : list of ObliqueDecisionTreeRegressor
- The collection of fitted sub-estimators.
- n_features_ : int
- The number of features when ``fit`` is performed.
- n_features_in_ : int
- Number of features seen during :term:`fit`.
- feature_names_in_ : ndarray of shape (`n_features_in_`,)
- Names of features seen during :term:`fit`. Defined only when `X`
- has feature names that are all strings.
- n_outputs_ : int
- The number of outputs when ``fit`` is performed.
- feature_importances_ : ndarray of shape (n_features,)
- The impurity-based feature importances.
- The higher, the more important the feature.
- The importance of a feature is computed as the (normalized)
- total reduction of the criterion brought by that feature. It is also
- known as the Gini importance.
- Warning: impurity-based feature importances can be misleading for
- high cardinality features (many unique values). See
- :func:`sklearn.inspection.permutation_importance` as an alternative.
- oob_score_ : float
- Score of the training dataset obtained using an out-of-bag estimate.
- This attribute exists only when ``oob_score`` is True.
- oob_decision_function_ : ndarray of shape (n_samples, n_classes) or \
- (n_samples, n_classes, n_outputs)
- Decision function computed with out-of-bag estimate on the training
- set. If n_estimators is small it might be possible that a data point
- was never left out during the bootstrap. In this case,
- `oob_decision_function_` might contain NaN. This attribute exists
- only when ``oob_score`` is True.
- See Also
- --------
- treeple.tree.ObliqueDecisionTreeRegressor : An oblique decision
- tree regressor.
- sklearn.ensemble.RandomForestRegressor : An axis-aligned decision
- forest regressor.
- Notes
- -----
- The default values for the parameters controlling the size of the trees
- (e.g. ``max_depth``, ``min_samples_leaf``, etc.) lead to fully grown and
- unpruned trees which can potentially be very large on some data sets. To
- reduce memory consumption, the complexity and size of the trees should be
- controlled by setting those parameter values.
- The features are always randomly permuted at each split. Therefore,
- the best found split may vary, even with the same training data,
- ``max_features=n_features`` and ``bootstrap=False``, if the improvement
- of the criterion is identical for several splits enumerated during the
- search of the best split. To obtain a deterministic behaviour during
- fitting, ``random_state`` has to be fixed.
- References
- ----------
- .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
- .. [2] T. Tomita, "Sparse Projection Oblique Randomer Forests", \
- Journal of Machine Learning Research, 21(104), 1-39, 2020.
- Examples
- --------
- >>> from treeple.ensemble import ObliqueRandomForestRegressor
- >>> from sklearn.datasets import make_regression
- >>> X, y = make_regression(n_features=4, n_informative=2,
- ... random_state=0, shuffle=False)
- >>> regr = ObliqueRandomForestRegressor(max_depth=2, random_state=0)
- >>> regr.fit(X, y)
- ObliqueRandomForestRegressor(...)
- >>> print(regr.predict([[0, 0, 0, 0]]))
- [-5.86327109]
- """
- tree_type = "oblique"
- _parameter_constraints: dict = {
- **ForestRegressor._parameter_constraints,
- **ObliqueDecisionTreeRegressor._parameter_constraints,
- }
- _parameter_constraints.pop("splitter")
- def __init__(
- self,
- n_estimators=100,
- *,
- criterion="squared_error",
- max_depth=None,
- min_samples_split=2,
- min_samples_leaf=1,
- min_weight_fraction_leaf=0.0,
- max_features=1.0,
- max_leaf_nodes=None,
- min_impurity_decrease=0.0,
- bootstrap=True,
- oob_score=False,
- n_jobs=None,
- random_state=None,
- verbose=0,
- warm_start=False,
- max_samples=None,
- feature_combinations=None,
- ):
- super().__init__(
- estimator=ObliqueDecisionTreeRegressor(),
- n_estimators=n_estimators,
- estimator_params=(
- "criterion",
- "max_depth",
- "min_samples_split",
- "min_samples_leaf",
- "min_weight_fraction_leaf",
- "max_features",
- "max_leaf_nodes",
- "min_impurity_decrease",
- "random_state",
- "feature_combinations",
- ),
- bootstrap=bootstrap,
- oob_score=oob_score,
- n_jobs=n_jobs,
- random_state=random_state,
- verbose=verbose,
- warm_start=warm_start,
- max_samples=max_samples,
- )
- self.criterion = criterion
- self.max_depth = max_depth
- self.min_samples_split = min_samples_split
- self.min_samples_leaf = min_samples_leaf
- self.min_weight_fraction_leaf = min_weight_fraction_leaf
- self.max_features = max_features
- self.max_leaf_nodes = max_leaf_nodes
- self.min_impurity_decrease = min_impurity_decrease
- self.feature_combinations = feature_combinations
- # unused by oblique forests
- self.min_weight_fraction_leaf = min_weight_fraction_leaf
- self.max_leaf_nodes = max_leaf_nodes
- self.min_impurity_decrease = min_impurity_decrease
- class PatchObliqueRandomForestClassifier(
- SimMatrixMixin, ForestClassifierMixin, ForestMixin, ForestClassifier
- ):
- """A patch-oblique random forest classifier.
- A patch-oblique random forest is a meta estimator similar to a random
- forest that fits a number of patch oblique decision tree classifiers
- on various sub-samples of the dataset and uses averaging to
- improve the predictive accuracy and control over-fitting. For more
- details, see :footcite:`Li2023manifold`.
- Parameters
- ----------
- n_estimators : int, default=100
- The number of trees in the forest.
- criterion : {"gini", "entropy"}, default="gini"
- The function to measure the quality of a split. Supported criteria are
- "gini" for the Gini impurity and "entropy" for the information gain.
- Note: this parameter is tree-specific.
- max_depth : int, default=None
- The maximum depth of the tree. If None, then nodes are expanded until
- all leaves are pure or until all leaves contain less than
- min_samples_split samples.
- min_samples_split : int or float, default=2
- The minimum number of samples required to split an internal node:
- - If int, then consider `min_samples_split` as the minimum number.
- - If float, then `min_samples_split` is a fraction and
- `ceil(min_samples_split * n_samples)` are the minimum
- number of samples for each split.
- min_samples_leaf : int or float, default=1
- The minimum number of samples required to be at a leaf node.
- A split point at any depth will only be considered if it leaves at
- least ``min_samples_leaf`` training samples in each of the left and
- right branches. This may have the effect of smoothing the model,
- especially in regression.
- - If int, then consider `min_samples_leaf` as the minimum number.
- - If float, then `min_samples_leaf` is a fraction and
- `ceil(min_samples_leaf * n_samples)` are the minimum
- number of samples for each node.
- min_weight_fraction_leaf : float, default=0.0
- The minimum weighted fraction of the sum total of weights (of all
- the input samples) required to be at a leaf node. Samples have
- equal weight when sample_weight is not provided.
- max_features : {"sqrt", "log2", None}, int or float, default="sqrt"
- The number of features to consider when looking for the best split:
- - If int, then consider `max_features` features at each split.
- - If float, then `max_features` is a fraction and
- `round(max_features * n_features)` features are considered at each
- split.
- - If "auto", then `max_features=sqrt(n_features)`.
- - If "sqrt", then `max_features=sqrt(n_features)`.
- - If "log2", then `max_features=log2(n_features)`.
- - If None, then `max_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 ``max_features`` features.
- max_leaf_nodes : int, default=None
- Grow trees with ``max_leaf_nodes`` in best-first fashion.
- Best nodes are defined as relative reduction in impurity.
- If None then unlimited number of leaf nodes.
- min_impurity_decrease : float, default=0.0
- A node will be split if this split induces a decrease of the impurity
- greater than or equal to this value.
- The weighted impurity decrease equation is the following::
- N_t / N * (impurity - N_t_R / N_t * right_impurity
- - N_t_L / N_t * left_impurity)
- where ``N`` is the total number of samples, ``N_t`` is the number of
- samples at the current node, ``N_t_L`` is the number of samples in the
- left child, and ``N_t_R`` is the number of samples in the right child.
- ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum,
- if ``sample_weight`` is passed.
- bootstrap : bool, default=True
- Whether bootstrap samples are used when building trees. If False, the
- whole dataset is used to build each tree.
- oob_score : bool, default=False
- Whether to use out-of-bag samples to estimate the generalization score.
- Only available if bootstrap=True.
- n_jobs : int, default=None
- The number of jobs to run in parallel. :meth:`fit`, :meth:`predict`,
- :meth:`decision_path` and :meth:`apply` are all parallelized over the
- trees. ``None`` means 1 unless in a `joblib.parallel_backend`
- context. ``-1`` means using all processors. See :term:`Glossary
- <n_jobs>` for more details.
- random_state : int, RandomState instance or None, default=None
- Controls both the randomness of the bootstrapping of the samples used
- when building trees (if ``bootstrap=True``) and the sampling of the
- features to consider when looking for the best split at each node
- (if ``max_features < n_features``).
- See :term:`Glossary <random_state>` for details.
- verbose : int, default=0
- Controls the verbosity when fitting and predicting.
- warm_start : bool, default=False
- When set to ``True``, reuse the solution of the previous call to fit
- and add more estimators to the ensemble, otherwise, just fit a whole
- new forest. See :term:`the Glossary <warm_start>`.
- class_weight : {"balanced", "balanced_subsample"}, dict or list of dicts, \
- default=None
- Weights associated with classes in the form ``{class_label: weight}``.
- If not given, all classes are supposed to have weight one. For
- multi-output problems, a list of dicts can be provided in the same
- order as the columns of y.
- Note that for multioutput (including multilabel) weights should be
- defined for each class of every column in its own dict. For example,
- for four-class multilabel classification weights should be
- [{0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}] instead of
- [{1:1}, {2:5}, {3:1}, {4:1}].
- The "balanced" mode uses the values of y to automatically adjust
- weights inversely proportional to class frequencies in the input data
- as ``n_samples / (n_classes * np.bincount(y))``
- The "balanced_subsample" mode is the same as "balanced" except that
- weights are computed based on the bootstrap sample for every tree
- grown.
- For multi-output, the weights of each column of y will be multiplied.
- Note that these weights will be multiplied with sample_weight (passed
- through the fit method) if sample_weight is specified.
- max_samples : int or float, default=None
- If bootstrap is True, the number of samples to draw from X
- to train each base estimator.
- - If None (default), then draw `X.shape[0]` samples.
- - If int, then draw `max_samples` samples.
- - If float, then draw `max_samples * X.shape[0]` samples. Thus,
- `max_samples` should be in the interval `(0.0, 1.0]`.
- min_patch_dims : array-like, optional
- The minimum dimensions of a patch, by default 1 along all dimensions.
- max_patch_dims : array-like, optional
- The maximum dimensions of a patch, by default 1 along all dimensions.
- dim_contiguous : array-like of bool, optional
- Whether or not each patch is sampled contiguously along this dimension.
- data_dims : array-like, optional
- The presumed dimensions of the un-vectorized feature vector, by default
- will be a 1D vector with (1, n_features) shape.
- boundary : optional, str {'wrap'}
- The boundary condition to use when sampling patches, by default None.
- 'wrap' corresponds to the boundary condition as is in numpy and scipy.
- feature_weight : array-like of shape (n_features,), default=None
- Feature weights. If None, then features are equally weighted as is.
- If provided, then the feature weights are used to weight the
- patches that are generated. The feature weights are used
- as follows: for every patch that is sampled, the feature weights over
- the entire patch is summed and normalizes the patch.
- Attributes
- ----------
- estimators_ : list of PatchObliqueDecisionTreeClassifier
- The collection of fitted sub-estimators.
- classes_ : ndarray of shape (n_classes,) or a list of such arrays
- The classes labels (single output problem), or a list of arrays of
- class labels (multi-output problem).
- n_classes_ : int or list
- The number of classes (single output problem), or a list containing the
- number of classes for each output (multi-output problem).
- n_features_ : int
- The number of features when ``fit`` is performed.
- n_features_in_ : int
- Number of features seen during :term:`fit`.
- feature_names_in_ : ndarray of shape (`n_features_in_`,)
- Names of features seen during :term:`fit`. Defined only when `X`
- has feature names that are all strings.
- n_outputs_ : int
- The number of outputs when ``fit`` is performed.
- feature_importances_ : ndarray of shape (n_features,)
- The impurity-based feature importances.
- The higher, the more important the feature.
- The importance of a feature is computed as the (normalized)
- total reduction of the criterion brought by that feature. It is also
- known as the Gini importance.
- Warning: impurity-based feature importances can be misleading for
- high cardinality features (many unique values). See
- :func:`sklearn.inspection.permutation_importance` as an alternative.
- oob_score_ : float
- Score of the training dataset obtained using an out-of-bag estimate.
- This attribute exists only when ``oob_score`` is True.
- oob_decision_function_ : ndarray of shape (n_samples, n_classes) or \
- (n_samples, n_classes, n_outputs)
- Decision function computed with out-of-bag estimate on the training
- set. If n_estimators is small it might be possible that a data point
- was never left out during the bootstrap. In this case,
- `oob_decision_function_` might contain NaN. This attribute exists
- only when ``oob_score`` is True.
- See Also
- --------
- treeple.tree.ObliqueDecisionTreeClassifier : An oblique decision
- tree classifier.
- sklearn.ensemble.RandomForestClassifier : An axis-aligned decision
- forest classifier.
- Notes
- -----
- The default values for the parameters controlling the size of the trees
- (e.g. ``max_depth``, ``min_samples_leaf``, etc.) lead to fully grown and
- unpruned trees which can potentially be very large on some data sets. To
- reduce memory consumption, the complexity and size of the trees should be
- controlled by setting those parameter values.
- The features are always randomly permuted at each split. Therefore,
- the best found split may vary, even with the same training data,
- ``max_features=n_features`` and ``bootstrap=False``, if the improvement
- of the criterion is identical for several splits enumerated during the
- search of the best split. To obtain a deterministic behaviour during
- fitting, ``random_state`` has to be fixed.
- References
- ----------
- .. footbibliography::
- """
- tree_type = "oblique"
- _parameter_constraints: dict = {
- **ForestClassifier._parameter_constraints,
- **PatchObliqueDecisionTreeClassifier._parameter_constraints,
- "class_weight": [
- StrOptions({"balanced_subsample", "balanced"}),
- dict,
- list,
- None,
- ],
- }
- _parameter_constraints.pop("splitter")
- def __init__(
- self,
- n_estimators=100,
- *,
- criterion="gini",
- max_depth=None,
- min_samples_split=2,
- min_samples_leaf=1,
- min_weight_fraction_leaf=0.0,
- max_features="sqrt",
- max_leaf_nodes=None,
- min_impurity_decrease=0.0,
- bootstrap=True,
- oob_score=False,
- n_jobs=None,
- random_state=None,
- verbose=0,
- warm_start=False,
- class_weight=None,
- max_samples=None,
- min_patch_dims=None,
- max_patch_dims=None,
- dim_contiguous=None,
- data_dims=None,
- boundary=None,
- feature_weight=None,
- ):
- super().__init__(
- estimator=PatchObliqueDecisionTreeClassifier(),
- n_estimators=n_estimators,
- estimator_params=(
- "criterion",
- "max_depth",
- "min_samples_split",
- "min_samples_leaf",
- "min_weight_fraction_leaf",
- "max_features",
- "max_leaf_nodes",
- "min_impurity_decrease",
- "random_state",
- "min_patch_dims",
- "max_patch_dims",
- "dim_contiguous",
- "data_dims",
- "boundary",
- "feature_weight",
- ),
- bootstrap=bootstrap,
- oob_score=oob_score,
- n_jobs=n_jobs,
- random_state=random_state,
- verbose=verbose,
- warm_start=warm_start,
- class_weight=class_weight,
- max_samples=max_samples,
- )
- self.criterion = criterion
- self.max_depth = max_depth
- self.min_samples_split = min_samples_split
- self.min_samples_leaf = min_samples_leaf
- self.max_features = max_features
- self.min_patch_dims = min_patch_dims
- self.max_patch_dims = max_patch_dims
- self.dim_contiguous = dim_contiguous
- self.data_dims = data_dims
- self.boundary = boundary
- self.feature_weight = feature_weight
- # unused by oblique forests
- self.min_weight_fraction_leaf = min_weight_fraction_leaf
- self.max_leaf_nodes = max_leaf_nodes
- self.min_impurity_decrease = min_impurity_decrease
- class PatchObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegressor):
- """A patch-oblique random forest regressor.
- A patch-oblique random forest is a meta estimator similar to a random
- forest that fits a number of patch oblique decision tree regressors
- on various sub-samples of the dataset and uses averaging to
- improve the predictive accuracy and control over-fitting. For more
- details, see :footcite:`Li2023manifold`.
- Parameters
- ----------
- n_estimators : int, default=100
- The number of trees in the forest.
- criterion : {"squared_error", "absolute_error", "friedman_mse", "poisson"},\
- default="squared_error"
- The function to measure the quality of a split. Supported criteria
- are "squared_error" for the mean squared error, which is equal to
- variance reduction as feature selection criterion and minimizes the L2
- loss using the mean of each terminal node, "friedman_mse", which uses
- mean squared error with Friedman's improvement score for potential
- splits, "absolute_error" for the mean absolute error, which minimizes
- the L1 loss using the median of each terminal node, and "poisson" which
- uses reduction in Poisson deviance to find splits.
- Training using "absolute_error" is significantly slower
- than when using "squared_error".
- max_depth : int, default=None
- The maximum depth of the tree. If None, then nodes are expanded until
- all leaves are pure or until all leaves contain less than
- min_samples_split samples.
- min_samples_split : int or float, default=2
- The minimum number of samples required to split an internal node:
- - If int, then consider `min_samples_split` as the minimum number.
- - If float, then `min_samples_split` is a fraction and
- `ceil(min_samples_split * n_samples)` are the minimum
- number of samples for each split.
- min_samples_leaf : int or float, default=1
- The minimum number of samples required to be at a leaf node.
- A split point at any depth will only be considered if it leaves at
- least ``min_samples_leaf`` training samples in each of the left and
- right branches. This may have the effect of smoothing the model,
- especially in regression.
- - If int, then consider `min_samples_leaf` as the minimum number.
- - If float, then `min_samples_leaf` is a fraction and
- `ceil(min_samples_leaf * n_samples)` are the minimum
- number of samples for each node.
- min_weight_fraction_leaf : float, default=0.0
- The minimum weighted fraction of the sum total of weights (of all
- the input samples) required to be at a leaf node. Samples have
- equal weight when sample_weight is not provided.
- max_features : {"sqrt", "log2", None}, int or float, default="sqrt"
- The number of features to consider when looking for the best split:
- - If int, then consider `max_features` features at each split.
- - If float, then `max_features` is a fraction and
- `round(max_features * n_features)` features are considered at each
- split.
- - If "auto", then `max_features=sqrt(n_features)`.
- - If "sqrt", then `max_features=sqrt(n_features)`.
- - If "log2", then `max_features=log2(n_features)`.
- - If None, then `max_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 ``max_features`` features.
- max_leaf_nodes : int, default=None
- Grow trees with ``max_leaf_nodes`` in best-first fashion.
- Best nodes are defined as relative reduction in impurity.
- If None then unlimited number of leaf nodes.
- min_impurity_decrease : float, default=0.0
- A node will be split if this split induces a decrease of the impurity
- greater than or equal to this value.
- The weighted impurity decrease equation is the following::
- N_t / N * (impurity - N_t_R / N_t * right_impurity
- - N_t_L / N_t * left_impurity)
- where ``N`` is the total number of samples, ``N_t`` is the number of
- samples at the current node, ``N_t_L`` is the number of samples in the
- left child, and ``N_t_R`` is the number of samples in the right child.
- ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum,
- if ``sample_weight`` is passed.
- bootstrap : bool, default=True
- Whether bootstrap samples are used when building trees. If False, the
- whole dataset is used to build each tree.
- oob_score : bool, default=False
- Whether to use out-of-bag samples to estimate the generalization score.
- Only available if bootstrap=True.
- n_jobs : int, default=None
- The number of jobs to run in parallel. :meth:`fit`, :meth:`predict`,
- :meth:`decision_path` and :meth:`apply` are all parallelized over the
- trees. ``None`` means 1 unless in a `joblib.parallel_backend`
- context. ``-1`` means using all processors. See :term:`Glossary
- <n_jobs>` for more details.
- random_state : int, RandomState instance or None, default=None
- Controls both the randomness of the bootstrapping of the samples used
- when building trees (if ``bootstrap=True``) and the sampling of the
- features to consider when looking for the best split at each node
- (if ``max_features < n_features``).
- See :term:`Glossary <random_state>` for details.
- verbose : int, default=0
- Controls the verbosity when fitting and predicting.
- warm_start : bool, default=False
- When set to ``True``, reuse the solution of the previous call to fit
- and add more estimators to the ensemble, otherwise, just fit a whole
- new forest. See :term:`the Glossary <warm_start>`.
- max_samples : int or float, default=None
- If bootstrap is True, the number of samples to draw from X
- to train each base estimator.
- - If None (default), then draw `X.shape[0]` samples.
- - If int, then draw `max_samples` samples.
- - If float, then draw `max_samples * X.shape[0]` samples. Thus,
- `max_samples` should be in the interval `(0.0, 1.0]`.
- min_patch_dims : array-like, optional
- The minimum dimensions of a patch, by default 1 along all dimensions.
- max_patch_dims : array-like, optional
- The maximum dimensions of a patch, by default 1 along all dimensions.
- dim_contiguous : array-like of bool, optional
- Whether or not each patch is sampled contiguously along this dimension.
- data_dims : array-like, optional
- The presumed dimensions of the un-vectorized feature vector, by default
- will be a 1D vector with (1, n_features) shape.
- boundary : optional, str {'wrap'}
- The boundary condition to use when sampling patches, by default None.
- 'wrap' corresponds to the boundary condition as is in numpy and scipy.
- feature_weight : array-like of shape (n_features,), default=None
- Feature weights. If None, then features are equally weighted as is.
- If provided, then the feature weights are used to weight the
- patches that are generated. The feature weights are used
- as follows: for every patch that is sampled, the feature weights over
- the entire patch is summed and normalizes the patch.
- Attributes
- ----------
- estimators_ : list of PatchObliqueDecisionTreeRegressor
- The collection of fitted sub-estimators.
- n_features_ : int
- The number of features when ``fit`` is performed.
- n_features_in_ : int
- Number of features seen during :term:`fit`.
- feature_names_in_ : ndarray of shape (`n_features_in_`,)
- Names of features seen during :term:`fit`. Defined only when `X`
- has feature names that are all strings.
- n_outputs_ : int
- The number of outputs when ``fit`` is performed.
- feature_importances_ : ndarray of shape (n_features,)
- The impurity-based feature importances.
- The higher, the more important the feature.
- The importance of a feature is computed as the (normalized)
- total reduction of the criterion brought by that feature. It is also
- known as the Gini importance.
- Warning: impurity-based feature importances can be misleading for
- high cardinality features (many unique values). See
- :func:`sklearn.inspection.permutation_importance` as an alternative.
- oob_score_ : float
- Score of the training dataset obtained using an out-of-bag estimate.
- This attribute exists only when ``oob_score`` is True.
- oob_prediction_ : ndarray of shape (n_samples,) or (n_samples, n_outputs)
- Prediction computed with out-of-bag estimate on the training set.
- This attribute exists only when ``oob_score`` is True.
- See Also
- --------
- treeple.tree.ObliqueDecisionTreeRegressor : An oblique decision
- tree regressor.
- sklearn.ensemble.RandomForestRegressor : An axis-aligned decision
- forest regressor.
- Notes
- -----
- The default values for the parameters controlling the size of the trees
- (e.g. ``max_depth``, ``min_samples_leaf``, etc.) lead to fully grown and
- unpruned trees which can potentially be very large on some data sets. To
- reduce memory consumption, the complexity and size of the trees should be
- controlled by setting those parameter values.
- The features are always randomly permuted at each split. Therefore,
- the best found split may vary, even with the same training data,
- ``max_features=n_features`` and ``bootstrap=False``, if the improvement
- of the criterion is identical for several splits enumerated during the
- search of the best split. To obtain a deterministic behaviour during
- fitting, ``random_state`` has to be fixed.
- References
- ----------
- .. footbibliography::
- Examples
- --------
- >>> from treeple.ensemble import PatchObliqueRandomForestRegressor
- >>> from sklearn.datasets import make_regression
- >>> X, y = make_regression(n_features=4, n_informative=2,
- ... random_state=0, shuffle=False)
- >>> regressor = PatchObliqueRandomForestRegressor(max_depth=2, random_state=0)
- >>> regressor.fit(X, y)
- PatchObliqueRandomForestRegressor(...)
- >>> print(regressor.predict([[0, 0, 0, 0]]))
- [-5.82818509]
- """
- tree_type = "oblique"
- _parameter_constraints: dict = {
- **ForestRegressor._parameter_constraints,
- **PatchObliqueDecisionTreeRegressor._parameter_constraints,
- }
- _parameter_constraints.pop("splitter")
- def __init__(
- self,
- n_estimators=100,
- *,
- criterion="squared_error",
- max_depth=None,
- min_samples_split=2,
- min_samples_leaf=1,
- min_weight_fraction_leaf=0.0,
- max_features=1.0,
- max_leaf_nodes=None,
- min_impurity_decrease=0.0,
- bootstrap=True,
- oob_score=False,
- n_jobs=None,
- random_state=None,
- verbose=0,
- warm_start=False,
- max_samples=None,
- min_patch_dims=None,
- max_patch_dims=None,
- dim_contiguous=None,
- data_dims=None,
- boundary=None,
- feature_weight=None,
- ):
- super().__init__(
- estimator=PatchObliqueDecisionTreeRegressor(),
- n_estimators=n_estimators,
- estimator_params=(
- "criterion",
- "max_depth",
- "min_samples_split",
- "min_samples_leaf",
- "min_weight_fraction_leaf",
- "max_features",
- "max_leaf_nodes",
- "min_impurity_decrease",
- "random_state",
- "min_patch_dims",
- "max_patch_dims",
- "dim_contiguous",
- "data_dims",
- "boundary",
- "feature_weight",
- ),
- bootstrap=bootstrap,
- oob_score=oob_score,
- n_jobs=n_jobs,
- random_state=random_state,
- verbose=verbose,
- warm_start=warm_start,
- max_samples=max_samples,
- )
- self.criterion = criterion
- self.max_depth = max_depth
- self.min_samples_split = min_samples_split
- self.min_samples_leaf = min_samples_leaf
- self.max_features = max_features
- self.min_patch_dims = min_patch_dims
- self.max_patch_dims = max_patch_dims
- self.dim_contiguous = dim_contiguous
- self.data_dims = data_dims
- self.boundary = boundary
- self.feature_weight = feature_weight
- # unused by oblique forests
- self.min_weight_fraction_leaf = min_weight_fraction_leaf
- self.max_leaf_nodes = max_leaf_nodes
- self.min_impurity_decrease = min_impurity_decrease
- class ExtraObliqueRandomForestClassifier(
- SimMatrixMixin, ForestClassifierMixin, ForestMixin, ForestClassifier
- ):
- """
- An extra oblique random forest classifier.
- An extra oblique random forest is a meta estimator similar to a random
- forest that fits a number of extra oblique decision tree classifiers
- on various sub-samples of the dataset and uses averaging to
- improve the predictive accuracy and control over-fitting.
- The sub-sample size is controlled with the `max_samples` parameter if
- `bootstrap=True` (default), otherwise the whole dataset is used to build
- each tree.
- Read more in the :ref:`User Guide <sklearn:forest>`.
- Parameters
- ----------
- n_estimators : int, default=100
- The number of trees in the forest.
- criterion : {"gini", "entropy"}, default="gini"
- The function to measure the quality of a split. Supported criteria are
- "gini" for the Gini impurity and "entropy" for the information gain.
- Note: this parameter is tree-specific.
- max_depth : int, default=None
- The maximum depth of the tree. If None, then nodes are expanded until
- all leaves are pure or until all leaves contain less than
- min_samples_split samples.
- min_samples_split : int or float, default=2
- The minimum number of samples required to split an internal node:
- - If int, then consider `min_samples_split` as the minimum number.
- - If float, then `min_samples_split` is a fraction and
- `ceil(min_samples_split * n_samples)` are the minimum
- number of samples for each split.
- min_samples_leaf : int or float, default=1
- The minimum number of samples required to be at a leaf node.
- A split point at any depth will only be considered if it leaves at
- least ``min_samples_leaf`` training samples in each of the left and
- right branches. This may have the effect of smoothing the model,
- especially in regression.
- - If int, then consider `min_samples_leaf` as the minimum number.
- - If float, then `min_samples_leaf` is a fraction and
- `ceil(min_samples_leaf * n_samples)` are the minimum
- number of samples for each node.
- min_weight_fraction_leaf : float, default=0.0
- The minimum weighted fraction of the sum total of weights (of all
- the input samples) required to be at a leaf node. Samples have
- equal weight when sample_weight is not provided.
- max_features : {"sqrt", "log2", None}, int or float, default="sqrt"
- The number of features to consider when looking for the best split:
- - If int, then consider `max_features` features at each split.
- - If float, then `max_features` is a fraction and
- `round(max_features * n_features)` features are considered at each
- split.
- - If "auto", then `max_features=sqrt(n_features)`.
- - If "sqrt", then `max_features=sqrt(n_features)`.
- - If "log2", then `max_features=log2(n_features)`.
- - If None, then `max_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 ``max_features`` features.
- max_leaf_nodes : int, default=None
- Grow trees with ``max_leaf_nodes`` in best-first fashion.
- Best nodes are defined as relative reduction in impurity.
- If None then unlimited number of leaf nodes.
- min_impurity_decrease : float, default=0.0
- A node will be split if this split induces a decrease of the impurity
- greater than or equal to this value.
- The weighted impurity decrease equation is the following::
- N_t / N * (impurity - N_t_R / N_t * right_impurity
- - N_t_L / N_t * left_impurity)
- where ``N`` is the total number of samples, ``N_t`` is the number of
- samples at the current node, ``N_t_L`` is the number of samples in the
- left child, and ``N_t_R`` is the number of samples in the right child.
- ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum,
- if ``sample_weight`` is passed.
- bootstrap : bool, default=True
- Whether bootstrap samples are used when building trees. If False, the
- whole dataset is used to build each tree.
- oob_score : bool, default=False
- Whether to use out-of-bag samples to estimate the generalization score.
- Only available if bootstrap=True.
- n_jobs : int, default=None
- The number of jobs to run in parallel. :meth:`fit`, :meth:`predict`,
- :meth:`decision_path` and :meth:`apply` are all parallelized over the
- trees. ``None`` means 1 unless in a :obj:`joblib.parallel_backend`
- context. ``-1`` means using all processors. See :term:`Glossary
- <n_jobs>` for more details.
- random_state : int, RandomState instance or None, default=None
- Controls both the randomness of the bootstrapping of the samples used
- when building trees (if ``bootstrap=True``) and the sampling of the
- features to consider when looking for the best split at each node
- (if ``max_features < n_features``).
- See :term:`Glossary <random_state>` for details.
- verbose : int, default=0
- Controls the verbosity when fitting and predicting.
- warm_start : bool, default=False
- When set to ``True``, reuse the solution of the previous call to fit
- and add more estimators to the ensemble, otherwise, just fit a whole
- new forest. See :term:`the Glossary <warm_start>`.
- class_weight : {"balanced", "balanced_subsample"}, dict or list of dicts, \
- default=None
- Weights associated with classes in the form ``{class_label: weight}``.
- If not given, all classes are supposed to have weight one. For
- multi-output problems, a list of dicts can be provided in the same
- order as the columns of y.
- Note that for multioutput (including multilabel) weights should be
- defined for each class of every column in its own dict. For example,
- for four-class multilabel classification weights should be
- [{0: 1, 1: 1}, {0: 1, 1: 5}, {0: 1, 1: 1}, {0: 1, 1: 1}] instead of
- [{1:1}, {2:5}, {3:1}, {4:1}].
- The "balanced" mode uses the values of y to automatically adjust
- weights inversely proportional to class frequencies in the input data
- as ``n_samples / (n_classes * np.bincount(y))``
- The "balanced_subsample" mode is the same as "balanced" except that
- weights are computed based on the bootstrap sample for every tree
- grown.
- For multi-output, the weights of each column of y will be multiplied.
- Note that these weights will be multiplied with sample_weight (passed
- through the fit method) if sample_weight is specified.
- max_samples : int or float, default=None
- If bootstrap is True, the number of samples to draw from X
- to train each base estimator.
- - If None (default), then draw `X.shape[0]` samples.
- - If int, then draw `max_samples` samples.
- - If float, then draw `max_samples * X.shape[0]` samples. Thus,
- `max_samples` should be in the interval `(0.0, 1.0]`.
- feature_combinations : float, default=None
- The number of features to combine on average at each split
- of the decision trees. If ``None``, then will default to the minimum of
- ``(1.5, n_features)``. This controls the number of non-zeros is the
- projection matrix. Setting the value to 1.0 is equivalent to a
- traditional decision-tree. ``feature_combinations * max_features``
- gives the number of expected non-zeros in the projection matrix of shape
- ``(max_features, n_features)``. Thus this value must always be less than
- ``n_features`` in order to be valid.
- Attributes
- ----------
- estimators_ : list of treeple.tree.ExtraObliqueDecisionTreeClassifier
- The collection of fitted sub-estimators.
- classes_ : ndarray of shape (n_classes,) or a list of such arrays
- The classes labels (single output problem), or a list of arrays of
- class labels (multi-output problem).
- n_classes_ : int or list
- The number of classes (single output problem), or a list containing the
- number of classes for each output (multi-output problem).
- n_features_ : int
- The number of features when ``fit`` is performed.
- n_features_in_ : int
- Number of features seen during :term:`fit`.
- feature_names_in_ : ndarray of shape (`n_features_in_`,)
- Names of features seen during :term:`fit`. Defined only when `X`
- has feature names that are all strings.
- n_outputs_ : int
- The number of outputs when ``fit`` is performed.
- feature_importances_ : ndarray of shape (n_features,)
- The impurity-based feature importances.
- The higher, the more important the feature.
- The importance of a feature is computed as the (normalized)
- total reduction of the criterion brought by that feature. It is also
- known as the Gini importance.
- Warning: impurity-based feature importances can be misleading for
- high cardinality features (many unique values). See
- :func:`sklearn.inspection.permutation_importance` as an alternative.
- oob_score_ : float
- Score of the training dataset obtained using an out-of-bag estimate.
- This attribute exists only when ``oob_score`` is True.
- oob_decision_function_ : ndarray of shape (n_samples, n_classes) or \
- (n_samples, n_classes, n_outputs)
- Decision function computed with out-of-bag estimate on the training
- set. If n_estimators is small it might be possible that a data point
- was never left out during the bootstrap. In this case,
- `oob_decision_function_` might contain NaN. This attribute exists
- only when ``oob_score`` is True.
- See Also
- --------
- treeple.tree.ExtraObliqueDecisionTreeClassifier : An extremely randomized oblique decision
- tree classifier.
- treeple.tree.ObliqueDecisionTreeClassifier : An oblique decision tree classifier.
- sklearn.ensemble.RandomForestClassifier : An axis-aligned decision
- forest classifier.
- Notes
- -----
- The default values for the parameters controlling the size of the trees
- (e.g. ``max_depth``, ``min_samples_leaf``, etc.) lead to fully grown and
- unpruned trees which can potentially be very large on some data sets. To
- reduce memory consumption, the complexity and size of the trees should be
- controlled by setting those parameter values.
- The features are always randomly permuted at each split. Therefore,
- the best found split may vary, even with the same training data,
- ``max_features=n_features`` and ``bootstrap=False``, if the improvement
- of the criterion is identical for several splits enumerated during the
- search of the best split. To obtain a deterministic behaviour during
- fitting, ``random_state`` has to be fixed.
- References
- ----------
- .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
- .. [2] P. Geurts, D. Ernst., and L. Wehenkel, "Extremely randomized trees",
- Machine Learning, 63(1), 3-42, 2006.
- Examples
- --------
- >>> from treeple.ensemble import ExtraObliqueRandomForestClassifier
- >>> from sklearn.datasets import make_classification
- >>> X, y = make_classification(n_samples=1000, n_features=4,
- ... n_informative=2, n_redundant=0,
- ... random_state=0, shuffle=False)
- >>> clf = ExtraObliqueRandomForestClassifier(max_depth=2, random_state=0)
- >>> clf.fit(X, y)
- ExtraObliqueRandomForestClassifier(...)
- >>> print(clf.predict([[0, 0, 0, 0]]))
- [1]
- """
- _parameter_constraints: dict = {
- **ForestClassifier._parameter_constraints,
- **ExtraObliqueDecisionTreeClassifier._parameter_constraints,
- "class_weight": [
- StrOptions({"balanced_subsample", "balanced"}),
- dict,
- list,
- None,
- ],
- }
- _parameter_constraints.pop("splitter")
- def __init__(
- self,
- n_estimators=100,
- *,
- criterion="gini",
- max_depth=None,
- min_samples_split=2,
- min_samples_leaf=1,
- min_weight_fraction_leaf=0.0,
- max_features="sqrt",
- max_leaf_nodes=None,
- min_impurity_decrease=0.0,
- bootstrap=True,
- oob_score=False,
- n_jobs=None,
- random_state=None,
- verbose=0,
- warm_start=False,
- class_weight=None,
- max_samples=None,
- feature_combinations=None,
- ):
- super().__init__(
- estimator=ExtraObliqueDecisionTreeClassifier(),
- n_estimators=n_estimators,
- estimator_params=(
- "criterion",
- "max_depth",
- "min_samples_split",
- "min_samples_leaf",
- "min_weight_fraction_leaf",
- "max_features",
- "max_leaf_nodes",
- "min_impurity_decrease",
- "random_state",
- "feature_combinations",
- ),
- bootstrap=bootstrap,
- oob_score=oob_score,
- n_jobs=n_jobs,
- random_state=random_state,
- verbose=verbose,
- warm_start=warm_start,
- class_weight=class_weight,
- max_samples=max_samples,
- )
- self.criterion = criterion
- self.max_depth = max_depth
- self.min_samples_split = min_samples_split
- self.min_samples_leaf = min_samples_leaf
- self.max_features = max_features
- self.feature_combinations = feature_combinations
- # unused by oblique forests
- self.min_weight_fraction_leaf = min_weight_fraction_leaf
- self.max_leaf_nodes = max_leaf_nodes
- self.min_impurity_decrease = min_impurity_decrease
- class ExtraObliqueRandomForestRegressor(SimMatrixMixin, ForestMixin, ForestRegressor):
- """An extra oblique random forest regressor.
- An extra oblique random forest is a meta estimator similar to a random
- forest that fits a number of extra oblique decision tree regressor
- on various sub-samples of the dataset and uses averaging to
- improve the predictive accuracy and control over-fitting.
- The sub-sample size is controlled with the `max_samples` parameter if
- `bootstrap=True` (default), otherwise the whole dataset is used to build
- each tree.
- Read more in the :ref:`User Guide <sklearn:forest>`.
- Parameters
- ----------
- n_estimators : int, default=100
- The number of trees in the forest.
- criterion : {"squared_error", "absolute_error", "friedman_mse", "poisson"}, \
- default="squared_error"
- The function to measure the quality of a split. Supported criteria
- are "squared_error" for the mean squared error, which is equal to
- variance reduction as feature selection criterion and minimizes the L2
- loss using the mean of each terminal node, "friedman_mse", which uses
- mean squared error with Friedman's improvement score for potential
- splits, "absolute_error" for the mean absolute error, which minimizes
- the L1 loss using the median of each terminal node, and "poisson" which
- uses reduction in Poisson deviance to find splits.
- Training using "absolute_error" is significantly slower
- than when using "squared_error".
- max_depth : int, default=None
- The maximum depth of the tree. If None, then nodes are expanded until
- all leaves are pure or until all leaves contain less than
- min_samples_split samples.
- min_samples_split : int or float, default=2
- The minimum number of samples required to split an internal node:
- - If int, then consider `min_samples_split` as the minimum number.
- - If float, then `min_samples_split` is a fraction and
- `ceil(min_samples_split * n_samples)` are the minimum
- number of samples for each split.
- min_samples_leaf : int or float, default=1
- The minimum number of samples required to be at a leaf node.
- A split point at any depth will only be considered if it leaves at
- least ``min_samples_leaf`` training samples in each of the left and
- right branches. This may have the effect of smoothing the model,
- especially in regression.
- - If int, then consider `min_samples_leaf` as the minimum number.
- - If float, then `min_samples_leaf` is a fraction and
- `ceil(min_samples_leaf * n_samples)` are the minimum
- number of samples for each node.
- min_weight_fraction_leaf : float, default=0.0
- The minimum weighted fraction of the sum total of weights (of all
- the input samples) required to be at a leaf node. Samples have
- equal weight when sample_weight is not provided.
- max_features : {"sqrt", "log2", None}, int or float, default="sqrt"
- The number of features to consider when looking for the best split:
- - If int, then consider `max_features` features at each split.
- - If float, then `max_features` is a fraction and
- `round(max_features * n_features)` features are considered at each
- split.
- - If "auto", then `max_features=sqrt(n_features)`.
- - If "sqrt", then `max_features=sqrt(n_features)`.
- - If "log2", then `max_features=log2(n_features)`.
- - If None, then `max_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 ``max_features`` features.
- max_leaf_nodes : int, default=None
- Grow trees with ``max_leaf_nodes`` in best-first fashion.
- Best nodes are defined as relative reduction in impurity.
- If None then unlimited number of leaf nodes.
- min_impurity_decrease : float, default=0.0
- A node will be split if this split induces a decrease of the impurity
- greater than or equal to this value.
- The weighted impurity decrease equation is the following::
- N_t / N * (impurity - N_t_R / N_t * right_impurity
- - N_t_L / N_t * left_impurity)
- where ``N`` is the total number of samples, ``N_t`` is the number of
- samples at the current node, ``N_t_L`` is the number of samples in the
- left child, and ``N_t_R`` is the number of samples in the right child.
- ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum,
- if ``sample_weight`` is passed.
- bootstrap : bool, default=True
- Whether bootstrap samples are used when building trees. If False, the
- whole dataset is used to build each tree.
- oob_score : bool, default=False
- Whether to use out-of-bag samples to estimate the generalization score.
- Only available if bootstrap=True.
- n_jobs : int, default=None
- The number of jobs to run in parallel. :meth:`fit`, :meth:`predict`,
- :meth:`decision_path` and :meth:`apply` are all parallelized over the
- trees. ``None`` means 1 unless in a :obj:`joblib.parallel_backend`
- context. ``-1`` means using all processors. See :term:`Glossary
- <n_jobs>` for more details.
- random_state : int, RandomState instance or None, default=None
- Controls both the randomness of the bootstrapping of the samples used
- when building trees (if ``bootstrap=True``) and the sampling of the
- features to consider when looking for the best split at each node
- (if ``max_features < n_features``).
- See :term:`Glossary <random_state>` for details.
- verbose : int, default=0
- Controls the verbosity when fitting and predicting.
- warm_start : bool, default=False
- When set to ``True``, reuse the solution of the previous call to fit
- and add more estimators to the ensemble, otherwise, just fit a whole
- new forest. See :term:`the Glossary <warm_start>`.
- max_samples : int or float, default=None
- If bootstrap is True, the number of samples to draw from X
- to train each base estimator.
- - If None (default), then draw `X.shape[0]` samples.
- - If int, then draw `max_samples` samples.
- - If float, then draw `max_samples * X.shape[0]` samples. Thus,
- `max_samples` should be in the interval `(0.0, 1.0]`.
- feature_combinations : float, default=None
- The number of features to combine on average at each split
- of the decision trees. If ``None``, then will default to the minimum of
- ``(1.5, n_features)``. This controls the number of non-zeros is the
- projection matrix. Setting the value to 1.0 is equivalent to a
- traditional decision-tree. ``feature_combinations * max_features``
- gives the number of expected non-zeros in the projection matrix of shape
- ``(max_features, n_features)``. Thus this value must always be less than
- ``n_features`` in order to be valid.
- Attributes
- ----------
- estimators_ : list of ExtraObliqueDecisionTreeRegressor
- The collection of fitted sub-estimators.
- n_features_ : int
- The number of features when ``fit`` is performed.
- n_features_in_ : int
- Number of features seen during :term:`fit`.
- feature_names_in_ : ndarray of shape (`n_features_in_`,)
- Names of features seen during :term:`fit`. Defined only when `X`
- has feature names that are all strings.
- n_outputs_ : int
- The number of outputs when ``fit`` is performed.
- feature_importances_ : ndarray of shape (n_features,)
- The impurity-based feature importances.
- The higher, the more important the feature.
- The importance of a feature is computed as the (normalized)
- total reduction of the criterion brought by that feature. It is also
- known as the Gini importance.
- Warning: impurity-based feature importances can be misleading for
- high cardinality features (many unique values). See
- :func:`sklearn.inspection.permutation_importance` as an alternative.
- oob_score_ : float
- Score of the training dataset obtained using an out-of-bag estimate.
- This attribute exists only when ``oob_score`` is True.
- oob_decision_function_ : ndarray of shape (n_samples, n_classes) or \
- (n_samples, n_classes, n_outputs)
- Decision function computed with out-of-bag estimate on the training
- set. If n_estimators is small it might be possible that a data point
- was never left out during the bootstrap. In this case,
- `oob_decision_function_` might contain NaN. This attribute exists
- only when ``oob_score`` is True.
- See Also
- --------
- treeple.tree.ExtraObliqueDecisionTreeRegressor : An extra oblique decision
- tree regressor.
- treeple.tree.ObliqueDecisionTreeRegressor : An oblique decision
- tree regressor.
- sklearn.ensemble.RandomForestRegressor : An axis-aligned decision
- forest regressor.
- Notes
- -----
- The default values for the parameters controlling the size of the trees
- (e.g. ``max_depth``, ``min_samples_leaf``, etc.) lead to fully grown and
- unpruned trees which can potentially be very large on some data sets. To
- reduce memory consumption, the complexity and size of the trees should be
- controlled by setting those parameter values.
- The features are always randomly permuted at each split. Therefore,
- the best found split may vary, even with the same training data,
- ``max_features=n_features`` and ``bootstrap=False``, if the improvement
- of the criterion is identical for several splits enumerated during the
- search of the best split. To obtain a deterministic behaviour during
- fitting, ``random_state`` has to be fixed.
- References
- ----------
- .. [1] L. Breiman, "Random Forests", Machine Learning, 45(1), 5-32, 2001.
- .. [2] T. Tomita, "Sparse Projection Oblique Randomer Forests", \
- Journal of Machine Learning Research, 21(104), 1-39, 2020.
- .. [3] P. Geurts, D. Ernst., and L. Wehenkel, "Extremely randomized trees", \
- Machine Learning, 63(1), 3-42, 2006.
- Examples
- --------
- >>> from treeple.ensemble import ExtraObliqueRandomForestRegressor
- >>> from sklearn.datasets import make_regression
- >>> X, y = make_regression(n_features=4, n_informative=2,
- ... random_state=0, shuffle=False)
- >>> regr = ExtraObliqueRandomForestRegressor(max_depth=2, random_state=0)
- >>> regr.fit(X, y)
- ExtraObliqueRandomForestRegressor(...)
- >>> print(regr.predict([[0, 0, 0, 0]]))
- [-3.05063517]
- """
- _parameter_constraints: dict = {
- **ForestRegressor._parameter_constraints,
- **ExtraObliqueDecisionTreeRegressor._parameter_constraints,
- }
- _parameter_constraints.pop("splitter")
- def __init__(
- self,
- n_estimators=100,
- *,
- criterion="squared_error",
- max_depth=None,
- min_samples_split=2,
- min_samples_leaf=1,
- min_weight_fraction_leaf=0.0,
- max_features=1.0,
- max_leaf_nodes=None,
- min_impurity_decrease=0.0,
- bootstrap=True,
- oob_score=False,
- n_jobs=None,
- random_state=None,
- verbose=0,
- warm_start=False,
- max_samples=None,
- feature_combinations=None,
- ):
- super().__init__(
- estimator=ExtraObliqueDecisionTreeRegressor(),
- n_estimators=n_estimators,
- estimator_params=(
- "criterion",
- "max_depth",
- "min_samples_split",
- "min_samples_leaf",
- "min_weight_fraction_leaf",
- "max_features",
- "max_leaf_nodes",
- "min_impurity_decrease",
- "random_state",
- "feature_combinations",
- ),
- bootstrap=bootstrap,
- oob_score=oob_score,
- n_jobs=n_jobs,
- random_state=random_state,
- verbose=verbose,
- warm_start=warm_start,
- max_samples=max_samples,
- )
- self.criterion = criterion
- self.max_depth = max_depth
- self.min_samples_split = min_samples_split
- self.min_samples_leaf = min_samples_leaf
- self.min_weight_fraction_leaf = min_weight_fraction_leaf
- self.max_features = max_features
- self.max_leaf_nodes = max_leaf_nodes
- self.min_impurity_decrease = min_impurity_decrease
- self.feature_combinations = feature_combinations
- # unused by oblique forests
- self.min_weight_fraction_leaf = min_weight_fraction_leaf
- self.max_leaf_nodes = max_leaf_nodes
- self.min_impurity_decrease = min_impurity_decrease
_supervised_forest.py at commit 75c2cf9, under other · at the source
Overview
- Department of Biomedical Engineering, Johns Hopkins University, Baltimore, Maryland, United States of America
- Department of Psychology, Stanford University, Stanford, California, United States of America
- Center for the Developing Brain, Child Mind Institute, New York, New York, United States of America
- Nathan S. Kline Institute for Psychiatric Research, Orangeburg, New York, United States of America
- Department of Biomedical Engineering, Institute for Computational Medicine, Kavli Neuroscience Discovery Institute, Johns Hopkins University, Baltimore, Maryland, United States of America
Abstract
Sex classification using neuroimaging data has the potential to revolutionize personalized diagnostics by revealing subtle structural brain differences that underlie sex-specific disease risks. Despite the promise of machine learning, traditional methods often fall short in providing both high classification accuracy and interpretable, statistically validated feature importance scores for high-dimensional imaging data. This gap is particularly evident when conventional techniques such as random forests, LIME, and SHAP are applied, as they struggle with complex feature interactions and managing noise in large datasets. We address this challenge by developing an integrated framework that combines Oblique Random Forests (ORFs) with a novel, permutation-based feature importance testing algorithm. ORFs extend traditional random forests by employing oblique decision boundaries through linear combinations of features, thereby capturing intricate interactions inherent in neuroimaging data. Our feature importance testing method, NEOFIT, rigorously quantifies the significance of each feature by generating null distributions and corrected p-values. We first validate our approach using simulated datasets, establishing its robustness and scalability under controlled conditions. We then apply our method to classify sex from both voxel-wise structural MRI and cortical thickness data in humans and macaques, facilitating direct cross-species comparisons. ORFs achieves AUC > 0.80 on human data, and >0.70 on macaque data, while NEOFIT identifies statistically significant features aligned with sex-dimorphic neuroanatomy. Our results demonstrate that the proposed framework not only enhances classification performance but also provides clear, interpretable insights into the neuroanatomical features that distinguish sexes. These methodological advancements pave the way for improved diagnostic tools and contribute to a deeper understanding of the evolutionary basis of sex differences in brain structure.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repositories
Its files are read in the Code ↔ Paper reader above, with 9 matches between paragraphs and lines of code.
google/yggdrasil-decision-forests
240fd063a047033d683d739c7b5b2f556cf7a5a9, 29 September 2026Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
891 files
- documentation/
public/ , Python, 43 linescopy_external.py - documentation/
public/ , JavaScript, 26 linesdocs/ js/ mathjax.js - documentation/
public/ , Jupyter, 193 linesdocs/ tutorial/ anomaly_detection.ipynb - documentation/
public/ , Jupyter, 55 linesdocs/ tutorial/ categorical_feature.ipyn b - documentation/
public/ , Jupyter, 152 linesdocs/ tutorial/ categorical_set_feature. ipynb - documentation/
public/ , Jupyter, 94 linesdocs/ tutorial/ classification.ipynb - documentation/
public/ , Jupyter, 362 linesdocs/ tutorial/ compose_with_jax.ipynb - documentation/
public/ , Jupyter, 330 linesdocs/ tutorial/ compose_with_tf.ipynb - documentation/
public/ , Jupyter, 43 linesdocs/ tutorial/ compose_with_tf_plots.ip ynb - documentation/
public/ , Jupyter, 217 linesdocs/ tutorial/ counterfactual.ipynb - documentation/
public/ , Jupyter, 81 linesdocs/ tutorial/ cpp.ipynb - documentation/
public/ , Jupyter, 237 linesdocs/ tutorial/ cpp_standalone.ipynb - documentation/
public/ , Jupyter, 36 linesdocs/ tutorial/ cross_validation.ipynb - documentation/
public/ , Jupyter, 293 linesdocs/ tutorial/ custom_loss.ipynb - documentation/
public/ , Jupyter, 137 linesdocs/ tutorial/ distributed_training.ipy nb - documentation/
public/ , Jupyter, 374 linesdocs/ tutorial/ distributed_training_ver tex_ai.ipynb - documentation/
public/ , Jupyter, 159 linesdocs/ tutorial/ editing_trees.ipynb - documentation/
public/ , Jupyter, 134 linesdocs/ tutorial/ feature_selection.ipynb - documentation/
public/ , Jupyter, 181 linesdocs/ tutorial/ getting_started.ipynb - documentation/
public/ , Jupyter, 74 linesdocs/ tutorial/ inspecting_trees.ipynb - documentation/
public/ , Jupyter, 202 linesdocs/ tutorial/ java_standalone.ipynb - documentation/
public/ , Jupyter, 228 linesdocs/ tutorial/ log_book.ipynb - documentation/
public/ , Jupyter, 200 linesdocs/ tutorial/ migrating_to_ydf.ipynb - documentation/
public/ , Jupyter, 114 linesdocs/ tutorial/ model_understanding.ipyn b - documentation/
public/ , Jupyter, 50 linesdocs/ tutorial/ monotonic_feature.ipynb - documentation/
public/ , Jupyter, 70 linesdocs/ tutorial/ multidimensional_feature .ipynb - documentation/
public/ , Jupyter, 69 linesdocs/ tutorial/ numerical_feature.ipynb - documentation/
public/ , Jupyter, 254 linesdocs/ tutorial/ numerical_vector_sequenc e.ipynb - documentation/
public/ , Jupyter, 60 linesdocs/ tutorial/ numpy.ipynb - documentation/
public/ , Jupyter, 84 linesdocs/ tutorial/ pandas.ipynb - documentation/
public/ , Jupyter, 52 linesdocs/ tutorial/ prediction_understanding .ipynb - documentation/
public/ , Jupyter, 104 linesdocs/ tutorial/ pretrained_embedding.ipy nb - documentation/
public/ , Jupyter, 73 linesdocs/ tutorial/ ranking.ipynb - documentation/
public/ , Jupyter, 66 linesdocs/ tutorial/ regression.ipynb - documentation/
public/ , Jupyter, 98 linesdocs/ tutorial/ tf_dataset.ipynb - documentation/
public/ , Jupyter, 318 linesdocs/ tutorial/ tf_serving.ipynb - documentation/
public/ , Jupyter, 196 linesdocs/ tutorial/ time_sequences.ipynb - documentation/
public/ , Jupyter, 99 linesdocs/ tutorial/ to_docker.ipynb - documentation/
public/ , Jupyter, 52 linesdocs/ tutorial/ train_and_test.ipynb - documentation/
public/ , Jupyter, 145 linesdocs/ tutorial/ tuning.ipynb - documentation/
public/ , Jupyter, 83 linesdocs/ tutorial/ uplifting.ipynb - documentation/
public/ , Jupyter, 44 linesdocs/ tutorial/ usage_example.ipynb - documentation/
public/ , Jupyter, 43 linesdocs/ tutorial/ xarray.ipynb - documentation/
public/ , Python, 37 linesupdate_scs_paths.py - examples/
beginner.cc , C++, 207 lines - examples/
beginner.sh , Shell, 115 lines - examples/
distributed_training.sh , Shell, 151 lines - examples/
fast_8bits_numerical.cc , C++, 218 lines - examples/
hyperparameter_sweep/ , C++, 246 linesmanager_main.cc - examples/
hyperparameter_sweep/ , Jupyter, 115 linesplot_results.ipynb - examples/
hyperparameter_sweep/ , Python, 65 linesprepare_data.py - examples/
hyperparameter_sweep/ , Shell, 36 linesrun_local.sh - examples/
hyperparameter_sweep/ , C++, 197 linesworker.cc - examples/
hyperparameter_tuning.sh , Shell, 210 lines - examples/
standalone/ , C++, 192 linesbeginner.cc - examples/
standalone/ , Shell, 35 linescompile_and_run.sh - examples/
text_classification.sh , Shell, 136 lines - examples/
vizier_tuning_python/ , Python, 187 linesmain.py - tools/
build_binary_release.sh , Shell, 100 lines - tools/
build_binary_release_in_ , Shell, 36 linesdocker.sh - tools/
generate_go_proto_wrappe , Shell, 137 linesrs.sh - tools/
https_server.py , Python, 66 lines - tools/
test_bazel.sh , Shell, 83 lines - tools/
test_go.sh , Shell, 25 lines - tools/
test_windows.sh , Shell, 66 lines - yggdrasil_decision_fores
ts/ , C/C++, 91 linesapi/ serving.h - yggdrasil_decision_fores
ts/ , C/C++, 106 linesapi/ training.h - yggdrasil_decision_fores
ts/ , C++, 91 linescli/ analyze_model_and_datase t.cc - yggdrasil_decision_fores
ts/ , C++, 192 linescli/ benchmark_inference.cc - yggdrasil_decision_fores
ts/ , Shell, 98 linescli/ cli_test.sh - yggdrasil_decision_fores
ts/ , C++, 103 linescli/ compute_variable_importa nces.cc - yggdrasil_decision_fores
ts/ , C++, 129 linescli/ convert_dataset.cc - yggdrasil_decision_fores
ts/ , C++, 133 linescli/ edit_model.cc - yggdrasil_decision_fores
ts/ , C++, 116 linescli/ evaluate.cc - yggdrasil_decision_fores
ts/ , C++, 80 linescli/ infer_dataspec.cc - yggdrasil_decision_fores
ts/ , C++, 976 linescli/ monitoring/ benchmark_training.cc - yggdrasil_decision_fores
ts/ , Python, 68 linescli/ monitoring/ compare_benchmark.py - yggdrasil_decision_fores
ts/ , Shell, 33 linescli/ monitoring/ run_benchmark_training.s h - yggdrasil_decision_fores
ts/ , C++, 213 linescli/ predict.cc - yggdrasil_decision_fores
ts/ , C++, 70 linescli/ show_dataspec.cc - yggdrasil_decision_fores
ts/ , C++, 154 linescli/ show_model.cc - yggdrasil_decision_fores
ts/ , C++, 141 linescli/ train.cc - yggdrasil_decision_fores
ts/ , C++, 103 linescli/ utils/ synthetic_dataset.cc - yggdrasil_decision_fores
ts/ , C++, 687 linesdataset/ avro.cc - yggdrasil_decision_fores
ts/ , C/C++, 190 linesdataset/ avro.h - yggdrasil_decision_fores
ts/ , C++, 915 linesdataset/ avro_example.cc - yggdrasil_decision_fores
ts/ , C/C++, 132 linesdataset/ avro_example.h - yggdrasil_decision_fores
ts/ , C++, 648 linesdataset/ avro_example_test.cc - yggdrasil_decision_fores
ts/ , C++, 348 linesdataset/ avro_test.cc - yggdrasil_decision_fores
ts/ , C++, 443 linesdataset/ csv_example_reader.cc - yggdrasil_decision_fores
ts/ , C/C++, 124 linesdataset/ csv_example_reader.h - yggdrasil_decision_fores
ts/ , C++, 64 linesdataset/ csv_example_writer.cc - yggdrasil_decision_fores
ts/ , C/C++, 82 linesdataset/ csv_example_writer.h - yggdrasil_decision_fores
ts/ , C++, 1,046 linesdataset/ data_spec.cc - yggdrasil_decision_fores
ts/ , C/C++, 259 linesdataset/ data_spec.h - yggdrasil_decision_fores
ts/ , C++, 839 linesdataset/ data_spec_inference.cc - yggdrasil_decision_fores
ts/ , C/C++, 218 linesdataset/ data_spec_inference.h - yggdrasil_decision_fores
ts/ , C++, 1,251 linesdataset/ data_spec_inference_test .cc - yggdrasil_decision_fores
ts/ , C++, 727 linesdataset/ data_spec_test.cc - yggdrasil_decision_fores
ts/ , C++, 83 linesdataset/ example_builder.cc - yggdrasil_decision_fores
ts/ , C/C++, 58 linesdataset/ example_builder.h - yggdrasil_decision_fores
ts/ , C++, 61 linesdataset/ example_builder_test.cc - yggdrasil_decision_fores
ts/ , C++, 72 linesdataset/ example_reader.cc - yggdrasil_decision_fores
ts/ , C/C++, 78 linesdataset/ example_reader.h - yggdrasil_decision_fores
ts/ , C/C++, 56 linesdataset/ example_reader_interface .h - yggdrasil_decision_fores
ts/ , C++, 99 linesdataset/ example_reader_test.cc - yggdrasil_decision_fores
ts/ , C++, 57 linesdataset/ example_writer.cc - yggdrasil_decision_fores
ts/ , C/C++, 57 linesdataset/ example_writer.h - yggdrasil_decision_fores
ts/ , C/C++, 50 linesdataset/ example_writer_interface .h - yggdrasil_decision_fores
ts/ , C++, 94 linesdataset/ example_writer_test.cc - yggdrasil_decision_fores
ts/ , C++, 185 linesdataset/ formats.cc - yggdrasil_decision_fores
ts/ , C/C++, 72 linesdataset/ formats.h - yggdrasil_decision_fores
ts/ , C++, 47 linesdataset/ formats_test.cc - yggdrasil_decision_fores
ts/ , C++, 894 linesdataset/ synthetic_dataset.cc - yggdrasil_decision_fores
ts/ , C/C++, 72 linesdataset/ synthetic_dataset.h - yggdrasil_decision_fores
ts/ , C++, 244 linesdataset/ synthetic_dataset_test.c c - yggdrasil_decision_fores
ts/ , C++, 503 linesdataset/ tensorflow/ tf_example.cc - yggdrasil_decision_fores
ts/ , C/C++, 67 linesdataset/ tensorflow/ tf_example.h - yggdrasil_decision_fores
ts/ , C++, 539 linesdataset/ tensorflow/ tf_example_io_interface. cc - yggdrasil_decision_fores
ts/ , C/C++, 161 linesdataset/ tensorflow/ tf_example_io_interface. h - yggdrasil_decision_fores
ts/ , C++, 162 linesdataset/ tensorflow/ tf_example_io_interface_ test.cc - yggdrasil_decision_fores
ts/ , C++, 20 linesdataset/ tensorflow/ tf_example_io_tfrecord.c c - yggdrasil_decision_fores
ts/ , C/C++, 88 linesdataset/ tensorflow/ tf_example_io_tfrecord.h - yggdrasil_decision_fores
ts/ , C++, 327 linesdataset/ tensorflow/ tf_example_test.cc - yggdrasil_decision_fores
ts/ , C++, 58 linesdataset/ tensorflow_no_dep/ tf_example.cc - yggdrasil_decision_fores
ts/ , C/C++, 47 linesdataset/ tensorflow_no_dep/ tf_example.h - yggdrasil_decision_fores
ts/ , C++, 212 linesdataset/ tensorflow_no_dep/ tf_record.cc - yggdrasil_decision_fores
ts/ , C/C++, 195 linesdataset/ tensorflow_no_dep/ tf_record.h - yggdrasil_decision_fores
ts/ , C++, 190 linesdataset/ tensorflow_no_dep/ tf_record_test.cc - yggdrasil_decision_fores
ts/ , C++, 18 linesdataset/ tensorflow_no_dep/ tf_record_tf_example.cc - yggdrasil_decision_fores
ts/ , C/C++, 142 linesdataset/ tensorflow_no_dep/ tf_record_tf_example.h - yggdrasil_decision_fores
ts/ , C++, 231 linesdataset/ tensorflow_no_dep/ tf_record_tf_example_tes t.cc - yggdrasil_decision_fores
ts/ , C++, 42 linesdataset/ types.cc - yggdrasil_decision_fores
ts/ , C/C++, 56 linesdataset/ types.h - yggdrasil_decision_fores
ts/ , C++, 1,136 linesdataset/ vertical_dataset.cc - yggdrasil_decision_fores
ts/ , C/C++, 1,206 linesdataset/ vertical_dataset.h - yggdrasil_decision_fores
ts/ , C++, 192 linesdataset/ vertical_dataset_column. cc - yggdrasil_decision_fores
ts/ , C++, 119 linesdataset/ vertical_dataset_html.cc - yggdrasil_decision_fores
ts/ , C/C++, 50 linesdataset/ vertical_dataset_html.h - yggdrasil_decision_fores
ts/ , C++, 116 linesdataset/ vertical_dataset_html_te st.cc - yggdrasil_decision_fores
ts/ , C++, 270 linesdataset/ vertical_dataset_io.cc - yggdrasil_decision_fores
ts/ , C/C++, 87 linesdataset/ vertical_dataset_io.h - yggdrasil_decision_fores
ts/ , C++, 216 linesdataset/ vertical_dataset_io_test .cc - yggdrasil_decision_fores
ts/ , C++, 746 linesdataset/ vertical_dataset_test.cc - yggdrasil_decision_fores
ts/ , C++, 298 linesdataset/ weight.cc - yggdrasil_decision_fores
ts/ , C/C++, 83 linesdataset/ weight.h - yggdrasil_decision_fores
ts/ , C++, 367 linesdataset/ weight_test.cc - yggdrasil_decision_fores
ts/ , C++, 1,353 lineslearner/ abstract_learner.cc - yggdrasil_decision_fores
ts/ , C/C++, 357 lineslearner/ abstract_learner.h - yggdrasil_decision_fores
ts/ , C++, 438 lineslearner/ abstract_learner_test.cc - yggdrasil_decision_fores
ts/ , C++, 636 lineslearner/ cart/ cart.cc - yggdrasil_decision_fores
ts/ , C/C++, 103 lineslearner/ cart/ cart.h - yggdrasil_decision_fores
ts/ , C++, 355 lineslearner/ cart/ cart_test.cc - yggdrasil_decision_fores
ts/ , C++, 3,338 lineslearner/ decision_tree/ decision_tree_test.cc - yggdrasil_decision_fores
ts/ , C++, 1,371 lineslearner/ decision_tree/ generic_parameters.cc - yggdrasil_decision_fores
ts/ , C/C++, 186 lineslearner/ decision_tree/ generic_parameters.h - yggdrasil_decision_fores
ts/ , C++, 393 lineslearner/ decision_tree/ generic_parameters_test. cc - yggdrasil_decision_fores
ts/ , C++, 283 lineslearner/ decision_tree/ gpu.cc - yggdrasil_decision_fores
ts/ , C++, 361 lineslearner/ decision_tree/ gpu.cu.cc - yggdrasil_decision_fores
ts/ , C/C++, 179 lineslearner/ decision_tree/ gpu.h - yggdrasil_decision_fores
ts/ , C++, 291 lineslearner/ decision_tree/ gpu_test.cc - yggdrasil_decision_fores
ts/ , C++, 232 lineslearner/ decision_tree/ label.cc - yggdrasil_decision_fores
ts/ , C/C++, 148 lineslearner/ decision_tree/ label.h - yggdrasil_decision_fores
ts/ , C++, 1,492 lineslearner/ decision_tree/ oblique.cc - yggdrasil_decision_fores
ts/ , C/C++, 310 lineslearner/ decision_tree/ oblique.h - yggdrasil_decision_fores
ts/ , C++, 147 lineslearner/ decision_tree/ preprocessing.cc - yggdrasil_decision_fores
ts/ , C/C++, 112 lineslearner/ decision_tree/ preprocessing.h - yggdrasil_decision_fores
ts/ , C++, 68 lineslearner/ decision_tree/ preprocessing_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 2,149 lineslearner/ decision_tree/ splitter_accumulator.h - yggdrasil_decision_fores
ts/ , C/C++, 2,105 lineslearner/ decision_tree/ splitter_scanner.h - yggdrasil_decision_fores
ts/ , C++, 4,499 lineslearner/ decision_tree/ training.cc - yggdrasil_decision_fores
ts/ , C/C++, 1,075 lineslearner/ decision_tree/ training.h - yggdrasil_decision_fores
ts/ , C++, 974 lineslearner/ decision_tree/ training_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 708 lineslearner/ decision_tree/ uplift.h - yggdrasil_decision_fores
ts/ , C++, 87 lineslearner/ decision_tree/ utils.cc - yggdrasil_decision_fores
ts/ , C/C++, 128 lineslearner/ decision_tree/ utils.h - yggdrasil_decision_fores
ts/ , C++, 433 lineslearner/ decision_tree/ vector_sequence.cc - yggdrasil_decision_fores
ts/ , C/C++, 68 lineslearner/ decision_tree/ vector_sequence.h - yggdrasil_decision_fores
ts/ , C++, 638 lineslearner/ distributed_decision_tre e/ dataset_cache/ column_cache.cc - yggdrasil_decision_fores
ts/ , C/C++, 424 lineslearner/ distributed_decision_tre e/ dataset_cache/ column_cache.h - yggdrasil_decision_fores
ts/ , C++, 301 lineslearner/ distributed_decision_tre e/ dataset_cache/ column_cache_test.cc - yggdrasil_decision_fores
ts/ , C++, 749 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache.cc - yggdrasil_decision_fores
ts/ , C/C++, 171 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache.h - yggdrasil_decision_fores
ts/ , C++, 247 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_common.cc - yggdrasil_decision_fores
ts/ , C/C++, 196 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_common.h - yggdrasil_decision_fores
ts/ , C++, 76 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_common_tes t.cc - yggdrasil_decision_fores
ts/ , C++, 1,109 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_reader.cc - yggdrasil_decision_fores
ts/ , C/C++, 353 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_reader.h - yggdrasil_decision_fores
ts/ , C++, 219 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_reader_tes t.cc - yggdrasil_decision_fores
ts/ , C++, 682 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_test.cc - yggdrasil_decision_fores
ts/ , C++, 920 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_worker.cc - yggdrasil_decision_fores
ts/ , C/C++, 100 lineslearner/ distributed_decision_tre e/ dataset_cache/ dataset_cache_worker.h - yggdrasil_decision_fores
ts/ , C/C++, 364 lineslearner/ distributed_decision_tre e/ label_accessor.h - yggdrasil_decision_fores
ts/ , C++, 635 lineslearner/ distributed_decision_tre e/ load_balancer/ load_balancer.cc - yggdrasil_decision_fores
ts/ , C/C++, 296 lineslearner/ distributed_decision_tre e/ load_balancer/ load_balancer.h - yggdrasil_decision_fores
ts/ , C++, 351 lineslearner/ distributed_decision_tre e/ load_balancer/ load_balancer_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 1,359 lineslearner/ distributed_decision_tre e/ splitter.h - yggdrasil_decision_fores
ts/ , C++, 1,421 lineslearner/ distributed_decision_tre e/ training.cc - yggdrasil_decision_fores
ts/ , C/C++, 391 lineslearner/ distributed_decision_tre e/ training.h - yggdrasil_decision_fores
ts/ , C++, 604 lineslearner/ distributed_decision_tre e/ training_test.cc - yggdrasil_decision_fores
ts/ , C++, 66 lineslearner/ distributed_gradient_boo sted_trees/ common.cc - yggdrasil_decision_fores
ts/ , C/C++, 74 lineslearner/ distributed_gradient_boo sted_trees/ common.h - yggdrasil_decision_fores
ts/ , C++, 2,131 lineslearner/ distributed_gradient_boo sted_trees/ distributed_gradient_boo sted_trees.cc - yggdrasil_decision_fores
ts/ , C/C++, 495 lineslearner/ distributed_gradient_boo sted_trees/ distributed_gradient_boo sted_trees.h - yggdrasil_decision_fores
ts/ , C++, 716 lineslearner/ distributed_gradient_boo sted_trees/ distributed_gradient_boo sted_trees_test.cc - yggdrasil_decision_fores
ts/ , C++, 1,438 lineslearner/ distributed_gradient_boo sted_trees/ worker.cc - yggdrasil_decision_fores
ts/ , C/C++, 364 lineslearner/ distributed_gradient_boo sted_trees/ worker.h - yggdrasil_decision_fores
ts/ , C++, 312 lineslearner/ export_doc.cc - yggdrasil_decision_fores
ts/ , C/C++, 57 lineslearner/ export_doc.h - yggdrasil_decision_fores
ts/ , C++, 61 lineslearner/ export_doc_main.cc - yggdrasil_decision_fores
ts/ , C++, 109 lineslearner/ export_doc_test.cc - yggdrasil_decision_fores
ts/ , C++, 155 lineslearner/ generic_worker/ generic_worker.cc - yggdrasil_decision_fores
ts/ , C/C++, 70 lineslearner/ generic_worker/ generic_worker.h - yggdrasil_decision_fores
ts/ , C++, 108 lineslearner/ generic_worker/ generic_worker_test.cc - yggdrasil_decision_fores
ts/ , C++, 93 lineslearner/ gradient_boosted_trees/ early_stopping/ early_stopping.cc - yggdrasil_decision_fores
ts/ , C/C++, 104 lineslearner/ gradient_boosted_trees/ early_stopping/ early_stopping.h - yggdrasil_decision_fores
ts/ , C++, 126 lineslearner/ gradient_boosted_trees/ early_stopping/ early_stopping_test.cc - yggdrasil_decision_fores
ts/ , C++, 3,558 lineslearner/ gradient_boosted_trees/ gradient_boosted_trees.c c - yggdrasil_decision_fores
ts/ , C/C++, 487 lineslearner/ gradient_boosted_trees/ gradient_boosted_trees.h - yggdrasil_decision_fores
ts/ , C++, 89 lineslearner/ gradient_boosted_trees/ gradient_boosted_trees_h params_templates.cc - yggdrasil_decision_fores
ts/ , C++, 3,327 lineslearner/ gradient_boosted_trees/ gradient_boosted_trees_t est.cc - yggdrasil_decision_fores
ts/ , C++, 92 lineslearner/ gradient_boosted_trees/ gradient_boosted_trees_t uner_test.cc - yggdrasil_decision_fores
ts/ , C++, 348 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_binary_focal.cc - yggdrasil_decision_fores
ts/ , C/C++, 155 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_binary_focal.h - yggdrasil_decision_fores
ts/ , C++, 245 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_binary_focal_te st.cc - yggdrasil_decision_fores
ts/ , C++, 329 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_binomial.cc - yggdrasil_decision_fores
ts/ , C/C++, 139 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_binomial.h - yggdrasil_decision_fores
ts/ , C++, 234 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_binomial_test.c c - yggdrasil_decision_fores
ts/ , C++, 287 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_cox.cc - yggdrasil_decision_fores
ts/ , C/C++, 141 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_cox.h - yggdrasil_decision_fores
ts/ , C++, 342 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_cox_test.cc - yggdrasil_decision_fores
ts/ , C++, 219 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_cross_entropy_n dcg.cc - yggdrasil_decision_fores
ts/ , C/C++, 105 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_cross_entropy_n dcg.h - yggdrasil_decision_fores
ts/ , C++, 122 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_binary_c lassification.cc - yggdrasil_decision_fores
ts/ , C/C++, 118 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_binary_c lassification.h - yggdrasil_decision_fores
ts/ , C++, 257 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_binary_c lassification_test.cc - yggdrasil_decision_fores
ts/ , C++, 136 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_multi_cl assification.cc - yggdrasil_decision_fores
ts/ , C/C++, 120 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_multi_cl assification.h - yggdrasil_decision_fores
ts/ , C++, 279 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_multi_cl assification_test.cc - yggdrasil_decision_fores
ts/ , C++, 119 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_regressi on.cc - yggdrasil_decision_fores
ts/ , C/C++, 117 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_regressi on.h - yggdrasil_decision_fores
ts/ , C++, 233 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_custom_regressi on_test.cc - yggdrasil_decision_fores
ts/ , C++, 186 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_mean_average_er ror.cc - yggdrasil_decision_fores
ts/ , C/C++, 92 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_mean_average_er ror.h - yggdrasil_decision_fores
ts/ , C++, 234 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_mean_average_er ror_test.cc - yggdrasil_decision_fores
ts/ , C++, 218 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_mean_square_err or.cc - yggdrasil_decision_fores
ts/ , C/C++, 112 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_mean_square_err or.h - yggdrasil_decision_fores
ts/ , C++, 264 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_mean_square_err or_test.cc - yggdrasil_decision_fores
ts/ , C++, 369 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_multinomial.cc - yggdrasil_decision_fores
ts/ , C/C++, 140 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_multinomial.h - yggdrasil_decision_fores
ts/ , C++, 234 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_multinomial_tes t.cc - yggdrasil_decision_fores
ts/ , C++, 439 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_ndcg.cc - yggdrasil_decision_fores
ts/ , C/C++, 119 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_ndcg.h - yggdrasil_decision_fores
ts/ , C++, 432 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_ndcg_test.cc - yggdrasil_decision_fores
ts/ , C++, 245 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_poisson.cc - yggdrasil_decision_fores
ts/ , C/C++, 101 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_poisson.h - yggdrasil_decision_fores
ts/ , C++, 348 lineslearner/ gradient_boosted_trees/ loss/ loss_imp_poisson_test.cc - yggdrasil_decision_fores
ts/ , C++, 312 lineslearner/ gradient_boosted_trees/ loss/ loss_interface.cc - yggdrasil_decision_fores
ts/ , C/C++, 386 lineslearner/ gradient_boosted_trees/ loss/ loss_interface.h - yggdrasil_decision_fores
ts/ , C++, 89 lineslearner/ gradient_boosted_trees/ loss/ loss_library.cc - yggdrasil_decision_fores
ts/ , C/C++, 53 lineslearner/ gradient_boosted_trees/ loss/ loss_library.h - yggdrasil_decision_fores
ts/ , C++, 232 lineslearner/ gradient_boosted_trees/ loss/ loss_library_test.cc - yggdrasil_decision_fores
ts/ , C++, 272 lineslearner/ gradient_boosted_trees/ loss/ loss_utils.cc - yggdrasil_decision_fores
ts/ , C/C++, 98 lineslearner/ gradient_boosted_trees/ loss/ loss_utils.h - yggdrasil_decision_fores
ts/ , C++, 84 lineslearner/ gradient_boosted_trees/ loss/ loss_utils_test.cc - yggdrasil_decision_fores
ts/ , C++, 186 lineslearner/ gradient_boosted_trees/ plot_training.cc - yggdrasil_decision_fores
ts/ , C/C++, 38 lineslearner/ gradient_boosted_trees/ plot_training.h - yggdrasil_decision_fores
ts/ , C++, 923 lineslearner/ hyperparameters_optimize r/ hyperparameters_optimize r.cc - yggdrasil_decision_fores
ts/ , C/C++, 209 lineslearner/ hyperparameters_optimize r/ hyperparameters_optimize r.h - yggdrasil_decision_fores
ts/ , C++, 432 lineslearner/ hyperparameters_optimize r/ hyperparameters_optimize r_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 124 lineslearner/ hyperparameters_optimize r/ optimizer_interface.h - yggdrasil_decision_fores
ts/ , C++, 264 lineslearner/ hyperparameters_optimize r/ optimizers/ random.cc - yggdrasil_decision_fores
ts/ , C/C++, 121 lineslearner/ hyperparameters_optimize r/ optimizers/ random.h - yggdrasil_decision_fores
ts/ , C++, 260 lineslearner/ hyperparameters_optimize r/ optimizers/ random_test.cc - yggdrasil_decision_fores
ts/ , C++, 971 lineslearner/ isolation_forest/ isolation_forest.cc - yggdrasil_decision_fores
ts/ , C/C++, 155 lineslearner/ isolation_forest/ isolation_forest.h - yggdrasil_decision_fores
ts/ , C++, 566 lineslearner/ isolation_forest/ isolation_forest_test.cc - yggdrasil_decision_fores
ts/ , C++, 66 lineslearner/ learner_library.cc - yggdrasil_decision_fores
ts/ , C/C++, 49 lineslearner/ learner_library.h - yggdrasil_decision_fores
ts/ , C++, 51 lineslearner/ learner_library_test.cc - yggdrasil_decision_fores
ts/ , C++, 399 lineslearner/ multitasker/ multitasker.cc - yggdrasil_decision_fores
ts/ , C/C++, 80 lineslearner/ multitasker/ multitasker.h - yggdrasil_decision_fores
ts/ , C++, 334 lineslearner/ multitasker/ multitasker_test.cc - yggdrasil_decision_fores
ts/ , C++, 55 lineslearner/ postprocessor/ postprocessor_library.cc - yggdrasil_decision_fores
ts/ , C/C++, 41 lineslearner/ postprocessor/ postprocessor_library.h - yggdrasil_decision_fores
ts/ , C++, 133 lineslearner/ postprocessor/ postprocessor_library_te st.cc - yggdrasil_decision_fores
ts/ , C++, 130 lineslearner/ postprocessor/ smoothed_pav_calibrator/ smoothed_pav_calibrator. cc - yggdrasil_decision_fores
ts/ , C/C++, 44 lineslearner/ postprocessor/ smoothed_pav_calibrator/ smoothed_pav_calibrator. h - yggdrasil_decision_fores
ts/ , C++, 245 lineslearner/ postprocessor/ smoothed_pav_calibrator/ smoothed_pav_calibrator_ test.cc - yggdrasil_decision_fores
ts/ , C++, 1,709 lineslearner/ random_forest/ random_forest.cc - yggdrasil_decision_fores
ts/ , C/C++, 449 lineslearner/ random_forest/ random_forest.h - yggdrasil_decision_fores
ts/ , C++, 138 lineslearner/ random_forest/ random_forest_hparams_te mplates.cc - yggdrasil_decision_fores
ts/ , C++, 1,949 lineslearner/ random_forest/ random_forest_test.cc - yggdrasil_decision_fores
ts/ , C++, 88 lineslearner/ random_forest/ random_forest_tuner_test .cc - yggdrasil_decision_fores
ts/ , C++, 371 linesmetric/ comparison.cc - yggdrasil_decision_fores
ts/ , C/C++, 79 linesmetric/ comparison.h - yggdrasil_decision_fores
ts/ , C++, 252 linesmetric/ comparison_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 53 linesmetric/ labels.h - yggdrasil_decision_fores
ts/ , C++, 2,616 linesmetric/ metric.cc - yggdrasil_decision_fores
ts/ , C/C++, 399 linesmetric/ metric.h - yggdrasil_decision_fores
ts/ , C++, 1,971 linesmetric/ metric_test.cc - yggdrasil_decision_fores
ts/ , C++, 50 linesmetric/ ranking_ap.cc - yggdrasil_decision_fores
ts/ , C/C++, 47 linesmetric/ ranking_ap.h - yggdrasil_decision_fores
ts/ , C++, 42 linesmetric/ ranking_mrr.cc - yggdrasil_decision_fores
ts/ , C/C++, 47 linesmetric/ ranking_mrr.h - yggdrasil_decision_fores
ts/ , C++, 133 linesmetric/ ranking_ndcg.cc - yggdrasil_decision_fores
ts/ , C/C++, 79 linesmetric/ ranking_ndcg.h - yggdrasil_decision_fores
ts/ , C/C++, 45 linesmetric/ ranking_utils.h - yggdrasil_decision_fores
ts/ , C++, 741 linesmetric/ report.cc - yggdrasil_decision_fores
ts/ , C/C++, 71 linesmetric/ report.h - yggdrasil_decision_fores
ts/ , C++, 203 linesmetric/ report_test.cc - yggdrasil_decision_fores
ts/ , C++, 225 linesmetric/ uplift.cc - yggdrasil_decision_fores
ts/ , C/C++, 80 linesmetric/ uplift.h - yggdrasil_decision_fores
ts/ , C++, 146 linesmetric/ uplift_test.cc - yggdrasil_decision_fores
ts/ , C++, 1,735 linesmodel/ abstract_model.cc - yggdrasil_decision_fores
ts/ , C/C++, 762 linesmodel/ abstract_model.h - yggdrasil_decision_fores
ts/ , C++, 673 linesmodel/ abstract_model_test.cc - yggdrasil_decision_fores
ts/ , C++, 96 linesmodel/ decision_tree/ builder.cc - yggdrasil_decision_fores
ts/ , C/C++, 68 linesmodel/ decision_tree/ builder.h - yggdrasil_decision_fores
ts/ , C++, 77 linesmodel/ decision_tree/ builder_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 96 linesmodel/ decision_tree/ decision_forest_interfac e.h - yggdrasil_decision_fores
ts/ , C++, 2,308 linesmodel/ decision_tree/ decision_tree.cc - yggdrasil_decision_fores
ts/ , C/C++, 508 linesmodel/ decision_tree/ decision_tree.h - yggdrasil_decision_fores
ts/ , C++, 173 linesmodel/ decision_tree/ decision_tree_io.cc - yggdrasil_decision_fores
ts/ , C/C++, 75 linesmodel/ decision_tree/ decision_tree_io.h - yggdrasil_decision_fores
ts/ , C++, 67 linesmodel/ decision_tree/ decision_tree_io_blob_se quence.cc - yggdrasil_decision_fores
ts/ , C/C++, 61 linesmodel/ decision_tree/ decision_tree_io_interfa ce.h - yggdrasil_decision_fores
ts/ , C++, 1,449 linesmodel/ decision_tree/ decision_tree_test.cc - yggdrasil_decision_fores
ts/ , C++, 208 linesmodel/ decision_tree/ structure_analysis.cc - yggdrasil_decision_fores
ts/ , C/C++, 91 linesmodel/ decision_tree/ structure_analysis.h - yggdrasil_decision_fores
ts/ , C++, 742 linesmodel/ describe.cc - yggdrasil_decision_fores
ts/ , C/C++, 50 linesmodel/ describe.h - yggdrasil_decision_fores
ts/ , C++, 101 linesmodel/ describe_test.cc - yggdrasil_decision_fores
ts/ , C++, 160 linesmodel/ evaluate_on_disk.cc - yggdrasil_decision_fores
ts/ , C/C++, 43 linesmodel/ evaluate_on_disk.h - yggdrasil_decision_fores
ts/ , C++, 37 linesmodel/ fast_engine_factory.cc - yggdrasil_decision_fores
ts/ , C/C++, 63 linesmodel/ fast_engine_factory.h - yggdrasil_decision_fores
ts/ , C++, 1,058 linesmodel/ gradient_boosted_trees/ gradient_boosted_trees.c c - yggdrasil_decision_fores
ts/ , C/C++, 320 linesmodel/ gradient_boosted_trees/ gradient_boosted_trees.h - yggdrasil_decision_fores
ts/ , C++, 472 linesmodel/ gradient_boosted_trees/ gradient_boosted_trees_t est.cc - yggdrasil_decision_fores
ts/ , C++, 659 linesmodel/ isolation_forest/ isolation_forest.cc - yggdrasil_decision_fores
ts/ , C/C++, 179 linesmodel/ isolation_forest/ isolation_forest.h - yggdrasil_decision_fores
ts/ , C++, 302 linesmodel/ isolation_forest/ isolation_forest_test.cc - yggdrasil_decision_fores
ts/ , C++, 58 linesmodel/ metadata.cc - yggdrasil_decision_fores
ts/ , C/C++, 65 linesmodel/ metadata.h - yggdrasil_decision_fores
ts/ , C++, 59 linesmodel/ model_engine_wrapper.cc - yggdrasil_decision_fores
ts/ , C/C++, 87 linesmodel/ model_engine_wrapper.h - yggdrasil_decision_fores
ts/ , C++, 273 linesmodel/ model_library.cc - yggdrasil_decision_fores
ts/ , C/C++, 89 linesmodel/ model_library.h - yggdrasil_decision_fores
ts/ , C++, 72 linesmodel/ model_library_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 61 linesmodel/ model_testing.h - yggdrasil_decision_fores
ts/ , C++, 126 linesmodel/ multitasker/ multitasker.cc - yggdrasil_decision_fores
ts/ , C/C++, 94 linesmodel/ multitasker/ multitasker.h - yggdrasil_decision_fores
ts/ , C++, 104 linesmodel/ postprocessor/ abstract_postprocessor.c c - yggdrasil_decision_fores
ts/ , C/C++, 128 linesmodel/ postprocessor/ abstract_postprocessor.h - yggdrasil_decision_fores
ts/ , C++, 162 linesmodel/ postprocessor/ abstract_postprocessor_t est.cc - yggdrasil_decision_fores
ts/ , C++, 52 linesmodel/ postprocessor/ postprocessor_library.cc - yggdrasil_decision_fores
ts/ , C/C++, 36 linesmodel/ postprocessor/ postprocessor_library.h - yggdrasil_decision_fores
ts/ , C++, 65 linesmodel/ postprocessor/ postprocessor_library_te st.cc - yggdrasil_decision_fores
ts/ , C++, 156 linesmodel/ postprocessor/ smoothed_pav_calibrator/ smoothed_pav_calibrator. cc - yggdrasil_decision_fores
ts/ , C/C++, 99 linesmodel/ postprocessor/ smoothed_pav_calibrator/ smoothed_pav_calibrator. h - yggdrasil_decision_fores
ts/ , C++, 224 linesmodel/ postprocessor/ smoothed_pav_calibrator/ smoothed_pav_calibrator_ test.cc - yggdrasil_decision_fores
ts/ , C++, 823 linesmodel/ random_forest/ random_forest.cc - yggdrasil_decision_fores
ts/ , C/C++, 320 linesmodel/ random_forest/ random_forest.h - yggdrasil_decision_fores
ts/ , C++, 542 linesmodel/ random_forest/ random_forest_test.cc - yggdrasil_decision_fores
ts/ , Go, 279 linesport/ go/ cli/ benchmark_inference/ benchmark_inference.go - yggdrasil_decision_fores
ts/ , Go, 38 linesport/ go/ cli/ benchmark_inference/ benchmark_inference_test .go - yggdrasil_decision_fores
ts/ , Go, 2,546 linesport/ go/ dataset/ proto/ data_spec.pb.go - yggdrasil_decision_fores
ts/ , Go, 31 linesport/ go/ dataset/ proto/ proto.go - yggdrasil_decision_fores
ts/ , Go, 683 linesport/ go/ dataset/ proto/ weight.pb.go - yggdrasil_decision_fores
ts/ , NEURON, 7 linesport/ go/ go.mod - yggdrasil_decision_fores
ts/ , Go, 3,962 linesport/ go/ metric/ proto/ metric.pb.go - yggdrasil_decision_fores
ts/ , Go, 28 linesport/ go/ metric/ proto/ proto.go - yggdrasil_decision_fores
ts/ , Go, 42 linesport/ go/ model/ canonical/ canonical.go - yggdrasil_decision_fores
ts/ , Go, 143 linesport/ go/ model/ decisiontree/ decisiontree.go - yggdrasil_decision_fores
ts/ , Go, 37 linesport/ go/ model/ decisiontree/ decisiontree_test.go - yggdrasil_decision_fores
ts/ , Go, 144 linesport/ go/ model/ decisiontree/ io/ blobsequence/ blob_sequence.go - yggdrasil_decision_fores
ts/ , Go, 22 linesport/ go/ model/ decisiontree/ io/ canonical/ canonical.go - yggdrasil_decision_fores
ts/ , Go, 103 linesport/ go/ model/ decisiontree/ io/ io.go - yggdrasil_decision_fores
ts/ , Go, 1,467 linesport/ go/ model/ decisiontree/ proto/ decision_tree.pb.go - yggdrasil_decision_fores
ts/ , Go, 28 linesport/ go/ model/ decisiontree/ proto/ proto.go - yggdrasil_decision_fores
ts/ , Go, 104 linesport/ go/ model/ gradientboostedtrees/ gradientboostedtrees.go - yggdrasil_decision_fores
ts/ , Go, 42 linesport/ go/ model/ gradientboostedtrees/ gradientboostedtrees_tes t.go - yggdrasil_decision_fores
ts/ , Go, 634 linesport/ go/ model/ gradientboostedtrees/ proto/ gradient_boosted_trees.p b.go - yggdrasil_decision_fores
ts/ , Go, 28 linesport/ go/ model/ gradientboostedtrees/ proto/ proto.go - yggdrasil_decision_fores
ts/ , Go, 46 linesport/ go/ model/ io/ canonical/ canonical.go - yggdrasil_decision_fores
ts/ , Go, 109 linesport/ go/ model/ io/ io.go - yggdrasil_decision_fores
ts/ , Go, 33 linesport/ go/ model/ io/ io_test.go - yggdrasil_decision_fores
ts/ , Go, 61 linesport/ go/ model/ model.go - yggdrasil_decision_fores
ts/ , Go, 911 linesport/ go/ model/ proto/ abstract_model.pb.go - yggdrasil_decision_fores
ts/ , Go, 1,740 linesport/ go/ model/ proto/ hyperparameter.pb.go - yggdrasil_decision_fores
ts/ , Go, 690 linesport/ go/ model/ proto/ prediction.pb.go - yggdrasil_decision_fores
ts/ , Go, 34 linesport/ go/ model/ proto/ proto.go - yggdrasil_decision_fores
ts/ , Go, 28 linesport/ go/ model/ randomforest/ proto/ proto.go - yggdrasil_decision_fores
ts/ , Go, 360 linesport/ go/ model/ randomforest/ proto/ random_forest.pb.go - yggdrasil_decision_fores
ts/ , Go, 104 linesport/ go/ model/ randomforest/ randomforest.go - yggdrasil_decision_fores
ts/ , Go, 42 linesport/ go/ model/ randomforest/ randomforest_test.go - yggdrasil_decision_fores
ts/ , Go, 572 linesport/ go/ serving/ decisionforest/ decisionforest.go - yggdrasil_decision_fores
ts/ , Go, 42 linesport/ go/ serving/ decisionforest/ decisionforest_test.go - yggdrasil_decision_fores
ts/ , Go, 93 linesport/ go/ serving/ engine/ engine.go - yggdrasil_decision_fores
ts/ , Go, 417 linesport/ go/ serving/ example/ example.go - yggdrasil_decision_fores
ts/ , Go, 124 linesport/ go/ serving/ serving.go - yggdrasil_decision_fores
ts/ , Go, 301 linesport/ go/ serving/ serving_test.go - yggdrasil_decision_fores
ts/ , Go, 107 linesport/ go/ utils/ file/ file.go - yggdrasil_decision_fores
ts/ , Go, 516 linesport/ go/ utils/ proto/ distribution.pb.go - yggdrasil_decision_fores
ts/ , Go, 28 linesport/ go/ utils/ proto/ proto.go - yggdrasil_decision_fores
ts/ , Go, 38 linesport/ go/ utils/ test/ test.go - yggdrasil_decision_fores
ts/ , JavaScript, 177 linesport/ javascript/ inference/ externs.js - yggdrasil_decision_fores
ts/ , C++, 431 linesport/ javascript/ inference/ inference.cc - yggdrasil_decision_fores
ts/ , JavaScript, 93 linesport/ javascript/ inference/ karma.conf.js - yggdrasil_decision_fores
ts/ , JavaScript, 96 linesport/ javascript/ inference/ npm/ test/ inference.test.js - yggdrasil_decision_fores
ts/ , JavaScript, 667 linesport/ javascript/ inference/ wrapper.js - yggdrasil_decision_fores
ts/ , JavaScript, 520 linesport/ javascript/ inference/ wrapper_test.js - yggdrasil_decision_fores
ts/ , Shell, 63 linesport/ javascript/ tools/ build_and_run_local_serv er.sh - yggdrasil_decision_fores
ts/ , Shell, 54 linesport/ javascript/ tools/ build_zipped_library.sh - yggdrasil_decision_fores
ts/ , C++, 298 linesport/ javascript/ training/ dataset/ dataset.cc - yggdrasil_decision_fores
ts/ , C/C++, 48 linesport/ javascript/ training/ dataset/ dataset.h - yggdrasil_decision_fores
ts/ , TypeScript, 74 linesport/ javascript/ training/ dataset/ dataset.ts - yggdrasil_decision_fores
ts/ , JavaScript, 66 linesport/ javascript/ training/ karma.conf.js - yggdrasil_decision_fores
ts/ , C++, 142 linesport/ javascript/ training/ learner/ learner.cc - yggdrasil_decision_fores
ts/ , C/C++, 47 linesport/ javascript/ training/ learner/ learner.h - yggdrasil_decision_fores
ts/ , TypeScript, 125 linesport/ javascript/ training/ learner/ learner.ts - yggdrasil_decision_fores
ts/ , C++, 261 linesport/ javascript/ training/ model/ model.cc - yggdrasil_decision_fores
ts/ , C/C++, 118 linesport/ javascript/ training/ model/ model.h - yggdrasil_decision_fores
ts/ , TypeScript, 418 linesport/ javascript/ training/ model/ model.ts - yggdrasil_decision_fores
ts/ , JavaScript, 69 linesport/ javascript/ training/ npm/ test/ training.test.js - yggdrasil_decision_fores
ts/ , C++, 81 linesport/ javascript/ training/ training.cc - yggdrasil_decision_fores
ts/ , TypeScript, 37 linesport/ javascript/ training/ training.ts - yggdrasil_decision_fores
ts/ , TypeScript, 126 linesport/ javascript/ training/ training_for_types.d.ts - yggdrasil_decision_fores
ts/ , TypeScript, 264 linesport/ javascript/ training/ training_test.ts - yggdrasil_decision_fores
ts/ , TypeScript, 117 linesport/ javascript/ training/ util/ conversion.ts - yggdrasil_decision_fores
ts/ , C++, 44 linesport/ javascript/ training/ util/ status_casters.cc - yggdrasil_decision_fores
ts/ , C/C++, 22 linesport/ javascript/ training/ util/ status_casters.h - yggdrasil_decision_fores
ts/ , JavaScript, 41 linesport/ javascript/ training/ webpack.config.js - yggdrasil_decision_fores
ts/ , Python, 157 linesport/ python/ config/ setup.py - yggdrasil_decision_fores
ts/ , Python, 66 linesport/ python/ examples/ minimal.py - yggdrasil_decision_fores
ts/ , Shell, 71 linesport/ python/ tools/ build_test_linux.sh - yggdrasil_decision_fores
ts/ , Shell, 127 linesport/ python/ tools/ change_version.sh - yggdrasil_decision_fores
ts/ , Python, 92 linesport/ python/ tools/ collect_pip_files.py - yggdrasil_decision_fores
ts/ , Shell, 50 linesport/ python/ tools/ local_copybara_export.sh - yggdrasil_decision_fores
ts/ , Shell, 160 linesport/ python/ tools/ package_linux.sh - yggdrasil_decision_fores
ts/ , Shell, 69 linesport/ python/ tools/ release_linux.sh - yggdrasil_decision_fores
ts/ , Shell, 38 linesport/ python/ tools/ release_macos.sh - yggdrasil_decision_fores
ts/ , Python, 25 linesport/ python/ tools/ simple_test.py - yggdrasil_decision_fores
ts/ , Python, 142 linesport/ python/ ydf/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ api/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 54 linesport/ python/ ydf/ api/ experimental.py - yggdrasil_decision_fores
ts/ , Python, 21 linesport/ python/ ydf/ api/ help.py - yggdrasil_decision_fores
ts/ , Python, 20 linesport/ python/ ydf/ api/ internal.py - yggdrasil_decision_fores
ts/ , Python, 26 linesport/ python/ ydf/ api/ util.py - yggdrasil_decision_fores
ts/ , Python, 332 linesport/ python/ ydf/ api_test.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ cc/ __init__.py - yggdrasil_decision_fores
ts/ , C++, 46 linesport/ python/ ydf/ cc/ ydf.cc - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ dataset/ __init__.py - yggdrasil_decision_fores
ts/ , C++, 1,273 linesport/ python/ ydf/ dataset/ dataset.cc - yggdrasil_decision_fores
ts/ , C/C++, 27 linesport/ python/ ydf/ dataset/ dataset.h - yggdrasil_decision_fores
ts/ , Python, 1,584 linesport/ python/ ydf/ dataset/ dataset.py - yggdrasil_decision_fores
ts/ , Python, 3,899 linesport/ python/ ydf/ dataset/ dataset_test.py - yggdrasil_decision_fores
ts/ , Python, 53 linesport/ python/ ydf/ dataset/ dataset_with_tf_test.py - yggdrasil_decision_fores
ts/ , Python, 1,042 linesport/ python/ ydf/ dataset/ dataspec.py - yggdrasil_decision_fores
ts/ , Python, 638 linesport/ python/ ydf/ dataset/ dataspec_test.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ dataset/ io/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 318 linesport/ python/ ydf/ dataset/ io/ dataset_io.py - yggdrasil_decision_fores
ts/ , Python, 111 linesport/ python/ ydf/ dataset/ io/ dataset_io_test.py - yggdrasil_decision_fores
ts/ , Python, 91 linesport/ python/ ydf/ dataset/ io/ dataset_io_types.py - yggdrasil_decision_fores
ts/ , Python, 55 linesport/ python/ ydf/ dataset/ io/ generator.py - yggdrasil_decision_fores
ts/ , Python, 54 linesport/ python/ ydf/ dataset/ io/ numpy_io.py - yggdrasil_decision_fores
ts/ , Python, 69 linesport/ python/ ydf/ dataset/ io/ numpy_io_test.py - yggdrasil_decision_fores
ts/ , Python, 113 linesport/ python/ ydf/ dataset/ io/ pandas_io.py - yggdrasil_decision_fores
ts/ , Python, 73 linesport/ python/ ydf/ dataset/ io/ pandas_io_test.py - yggdrasil_decision_fores
ts/ , Python, 70 linesport/ python/ ydf/ dataset/ io/ polars_io.py - yggdrasil_decision_fores
ts/ , Python, 37 linesport/ python/ ydf/ dataset/ io/ polars_io_test.py - yggdrasil_decision_fores
ts/ , Python, 131 linesport/ python/ ydf/ dataset/ io/ pyarrow_io.py - yggdrasil_decision_fores
ts/ , Python, 251 linesport/ python/ ydf/ dataset/ io/ pyarrow_io_test.py - yggdrasil_decision_fores
ts/ , Python, 109 linesport/ python/ ydf/ dataset/ io/ pygrain_io.py - yggdrasil_decision_fores
ts/ , Python, 221 linesport/ python/ ydf/ dataset/ io/ pygrain_io_test.py - yggdrasil_decision_fores
ts/ , Python, 55 linesport/ python/ ydf/ dataset/ io/ tensorflow_io.py - yggdrasil_decision_fores
ts/ , Python, 66 linesport/ python/ ydf/ dataset/ io/ xarray_io.py - yggdrasil_decision_fores
ts/ , Python, 82 linesport/ python/ ydf/ dataset/ io/ xarray_io_test.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ deep/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 472 linesport/ python/ ydf/ deep/ analysis.py - yggdrasil_decision_fores
ts/ , Python, 723 linesport/ python/ ydf/ deep/ analysis_test.py - yggdrasil_decision_fores
ts/ , Python, 34 linesport/ python/ ydf/ deep/ dataset.py - yggdrasil_decision_fores
ts/ , Python, 36 linesport/ python/ ydf/ deep/ dataset_test.py - yggdrasil_decision_fores
ts/ , Python, 1,438 linesport/ python/ ydf/ deep/ generic_jax.py - yggdrasil_decision_fores
ts/ , Python, 133 linesport/ python/ ydf/ deep/ hyperparameter.py - yggdrasil_decision_fores
ts/ , Python, 56 linesport/ python/ ydf/ deep/ hyperparameter_test.py - yggdrasil_decision_fores
ts/ , Python, 43 linesport/ python/ ydf/ deep/ jax_fallback.py - yggdrasil_decision_fores
ts/ , Python, 115 linesport/ python/ ydf/ deep/ layer.py - yggdrasil_decision_fores
ts/ , Python, 49 linesport/ python/ ydf/ deep/ layer_test.py - yggdrasil_decision_fores
ts/ , Python, 127 linesport/ python/ ydf/ deep/ metric.py - yggdrasil_decision_fores
ts/ , Python, 68 linesport/ python/ ydf/ deep/ metric_test.py - yggdrasil_decision_fores
ts/ , Python, 217 linesport/ python/ ydf/ deep/ mlp.py - yggdrasil_decision_fores
ts/ , Python, 248 linesport/ python/ ydf/ deep/ mlp_test.py - yggdrasil_decision_fores
ts/ , Python, 85 linesport/ python/ ydf/ deep/ model_lib.py - yggdrasil_decision_fores
ts/ , Python, 230 linesport/ python/ ydf/ deep/ preprocessor.py - yggdrasil_decision_fores
ts/ , Python, 127 linesport/ python/ ydf/ deep/ preprocessor_test.py - yggdrasil_decision_fores
ts/ , Python, 55 linesport/ python/ ydf/ deep/ safetensors_lib.py - yggdrasil_decision_fores
ts/ , Python, 57 linesport/ python/ ydf/ deep/ safetensors_lib_test.py - yggdrasil_decision_fores
ts/ , Python, 389 linesport/ python/ ydf/ deep/ tabular_transformer.py - yggdrasil_decision_fores
ts/ , Python, 262 linesport/ python/ ydf/ deep/ tabular_transformer_test .py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ learner/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 91 linesport/ python/ ydf/ learner/ abstract_feature_selecto r.py - yggdrasil_decision_fores
ts/ , Python, 479 linesport/ python/ ydf/ learner/ cart_learner_test.py - yggdrasil_decision_fores
ts/ , C++, 344 linesport/ python/ ydf/ learner/ custom_loss.cc - yggdrasil_decision_fores
ts/ , C/C++, 99 linesport/ python/ ydf/ learner/ custom_loss.h - yggdrasil_decision_fores
ts/ , Python, 268 linesport/ python/ ydf/ learner/ custom_loss.py - yggdrasil_decision_fores
ts/ , Python, 754 linesport/ python/ ydf/ learner/ custom_loss_test.py - yggdrasil_decision_fores
ts/ , C++, 144 linesport/ python/ ydf/ learner/ custom_metric.cc - yggdrasil_decision_fores
ts/ , C/C++, 87 linesport/ python/ ydf/ learner/ custom_metric.h - yggdrasil_decision_fores
ts/ , Python, 149 linesport/ python/ ydf/ learner/ custom_metric.py - yggdrasil_decision_fores
ts/ , Python, 59 linesport/ python/ ydf/ learner/ custom_metric_test.py - yggdrasil_decision_fores
ts/ , Python, 278 linesport/ python/ ydf/ learner/ distributed_learner_test .py - yggdrasil_decision_fores
ts/ , Python, 352 linesport/ python/ ydf/ learner/ feature_selector.py - yggdrasil_decision_fores
ts/ , Python, 304 linesport/ python/ ydf/ learner/ feature_selector_test.py - yggdrasil_decision_fores
ts/ , Python, 872 linesport/ python/ ydf/ learner/ generic_learner.py - yggdrasil_decision_fores
ts/ , Python, 366 linesport/ python/ ydf/ learner/ generic_learner_test.py - yggdrasil_decision_fores
ts/ , Python, 628 linesport/ python/ ydf/ learner/ gradient_boosted_trees_l earner_test.py - yggdrasil_decision_fores
ts/ , Python, 165 linesport/ python/ ydf/ learner/ hyperparameters.py - yggdrasil_decision_fores
ts/ , Python, 170 linesport/ python/ ydf/ learner/ hyperparameters_test.py - yggdrasil_decision_fores
ts/ , Python, 240 linesport/ python/ ydf/ learner/ isolation_forest_learner _test.py - yggdrasil_decision_fores
ts/ , C++, 385 linesport/ python/ ydf/ learner/ learner.cc - yggdrasil_decision_fores
ts/ , C/C++, 27 linesport/ python/ ydf/ learner/ learner.h - yggdrasil_decision_fores
ts/ , Python, 133 linesport/ python/ ydf/ learner/ learner_test_utils.py - yggdrasil_decision_fores
ts/ , Python, 61 linesport/ python/ ydf/ learner/ learner_with_tf_test.py - yggdrasil_decision_fores
ts/ , Python, 72 linesport/ python/ ydf/ learner/ learner_with_xarray_test .py - yggdrasil_decision_fores
ts/ , Python, 984 linesport/ python/ ydf/ learner/ random_forest_learner_te st.py - yggdrasil_decision_fores
ts/ , Python, 3,295 lines, 2 matchesport/ python/ ydf/ learner/ specialized_learners_pre _generated.py - yggdrasil_decision_fores
ts/ , Python, 542 linesport/ python/ ydf/ learner/ tuner.py - yggdrasil_decision_fores
ts/ , Python, 392 linesport/ python/ ydf/ learner/ tuner_test.py - yggdrasil_decision_fores
ts/ , C++, 124 linesport/ python/ ydf/ learner/ worker.cc - yggdrasil_decision_fores
ts/ , C/C++, 27 linesport/ python/ ydf/ learner/ worker.h - yggdrasil_decision_fores
ts/ , Python, 72 linesport/ python/ ydf/ learner/ worker.py - yggdrasil_decision_fores
ts/ , Python, 29 linesport/ python/ ydf/ learner/ worker_main.py - yggdrasil_decision_fores
ts/ , C++, 29 linesport/ python/ ydf/ learner/ wrapper/ generate_wrapper.cc - yggdrasil_decision_fores
ts/ , C++, 1,001 linesport/ python/ ydf/ learner/ wrapper/ wrapper_generator.cc - yggdrasil_decision_fores
ts/ , C/C++, 89 linesport/ python/ ydf/ learner/ wrapper/ wrapper_generator.h - yggdrasil_decision_fores
ts/ , C++, 461 linesport/ python/ ydf/ learner/ wrapper/ wrapper_test.cc - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ metric/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 719 lines, 1 matchport/ python/ ydf/ metric/ display_metric.py - yggdrasil_decision_fores
ts/ , C++, 367 linesport/ python/ ydf/ metric/ evaluate.cc - yggdrasil_decision_fores
ts/ , C/C++, 27 linesport/ python/ ydf/ metric/ evaluate.h - yggdrasil_decision_fores
ts/ , Python, 438 linesport/ python/ ydf/ metric/ evaluate.py - yggdrasil_decision_fores
ts/ , Python, 423 linesport/ python/ ydf/ metric/ evaluate_test.py - yggdrasil_decision_fores
ts/ , C++, 61 linesport/ python/ ydf/ metric/ metric.cc - yggdrasil_decision_fores
ts/ , C/C++, 27 linesport/ python/ ydf/ metric/ metric.h - yggdrasil_decision_fores
ts/ , Python, 611 linesport/ python/ ydf/ metric/ metric.py - yggdrasil_decision_fores
ts/ , Python, 370 linesport/ python/ ydf/ metric/ metric_test.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ model/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 304 linesport/ python/ ydf/ model/ analysis.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ model/ decision_forest_model/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 259 linesport/ python/ ydf/ model/ decision_forest_model/ decision_forest_model.py - yggdrasil_decision_fores
ts/ , Python, 133 linesport/ python/ ydf/ model/ decision_forest_model/ decision_forest_model_te st.py - yggdrasil_decision_fores
ts/ , C++, 145 linesport/ python/ ydf/ model/ decision_forest_model/ decision_forest_wrapper. cc - yggdrasil_decision_fores
ts/ , C/C++, 90 linesport/ python/ ydf/ model/ decision_forest_model/ decision_forest_wrapper. h - yggdrasil_decision_fores
ts/ , Python, 52 linesport/ python/ ydf/ model/ export_cc_generator.py - yggdrasil_decision_fores
ts/ , C++, 61 linesport/ python/ ydf/ model/ export_cc_run_test.cc - yggdrasil_decision_fores
ts/ , Python, 277 linesport/ python/ ydf/ model/ export_docker.py - yggdrasil_decision_fores
ts/ , Python, 167 linesport/ python/ ydf/ model/ export_docker_test.py - yggdrasil_decision_fores
ts/ , Python, 1,311 linesport/ python/ ydf/ model/ export_jax.py - yggdrasil_decision_fores
ts/ , Python, 455 linesport/ python/ ydf/ model/ export_sklearn.py - yggdrasil_decision_fores
ts/ , Python, 752 linesport/ python/ ydf/ model/ export_tf.py - yggdrasil_decision_fores
ts/ , Python, 65 linesport/ python/ ydf/ model/ feature_selector_logs.py - yggdrasil_decision_fores
ts/ , Python, 2,544 linesport/ python/ ydf/ model/ generic_model.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ model/ gradient_boosted_trees_m odel/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 308 linesport/ python/ ydf/ model/ gradient_boosted_trees_m odel/ gradient_boosted_trees_m odel.py - yggdrasil_decision_fores
ts/ , Python, 1,036 linesport/ python/ ydf/ model/ gradient_boosted_trees_m odel/ gradient_boosted_trees_m odel_test.py - yggdrasil_decision_fores
ts/ , C++, 128 linesport/ python/ ydf/ model/ gradient_boosted_trees_m odel/ gradient_boosted_trees_w rapper.cc - yggdrasil_decision_fores
ts/ , C/C++, 102 linesport/ python/ ydf/ model/ gradient_boosted_trees_m odel/ gradient_boosted_trees_w rapper.h - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ model/ isolation_forest_model/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 28 linesport/ python/ ydf/ model/ isolation_forest_model/ isolation_forest_model.p y - yggdrasil_decision_fores
ts/ , Python, 107 linesport/ python/ ydf/ model/ isolation_forest_model/ isolation_forest_model_t est.py - yggdrasil_decision_fores
ts/ , C++, 43 linesport/ python/ ydf/ model/ isolation_forest_model/ isolation_forest_wrapper .cc - yggdrasil_decision_fores
ts/ , C/C++, 65 linesport/ python/ ydf/ model/ isolation_forest_model/ isolation_forest_wrapper .h - yggdrasil_decision_fores
ts/ , Python, 1,400 linesport/ python/ ydf/ model/ jax_model_test.py - yggdrasil_decision_fores
ts/ , C++, 295 linesport/ python/ ydf/ model/ model.cc - yggdrasil_decision_fores
ts/ , C/C++, 35 linesport/ python/ ydf/ model/ model.h - yggdrasil_decision_fores
ts/ , Python, 260 linesport/ python/ ydf/ model/ model_lib.py - yggdrasil_decision_fores
ts/ , Python, 85 linesport/ python/ ydf/ model/ model_metadata.py - yggdrasil_decision_fores
ts/ , Python, 1,454 linesport/ python/ ydf/ model/ model_test.py - yggdrasil_decision_fores
ts/ , C++, 584 linesport/ python/ ydf/ model/ model_wrapper.cc - yggdrasil_decision_fores
ts/ , C/C++, 219 linesport/ python/ ydf/ model/ model_wrapper.h - yggdrasil_decision_fores
ts/ , Python, 92 linesport/ python/ ydf/ model/ optimizer_logs.py - yggdrasil_decision_fores
ts/ , Python, 76 linesport/ python/ ydf/ model/ optimizer_logs_test.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ model/ random_forest_model/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 159 linesport/ python/ ydf/ model/ random_forest_model/ random_forest_model.py - yggdrasil_decision_fores
ts/ , Python, 113 linesport/ python/ ydf/ model/ random_forest_model/ random_forest_model_test .py - yggdrasil_decision_fores
ts/ , C++, 42 linesport/ python/ ydf/ model/ random_forest_model/ random_forest_wrapper.cc - yggdrasil_decision_fores
ts/ , C/C++, 67 linesport/ python/ ydf/ model/ random_forest_model/ random_forest_wrapper.h - yggdrasil_decision_fores
ts/ , Python, 246 linesport/ python/ ydf/ model/ sklearn_model_test.py - yggdrasil_decision_fores
ts/ , Python, 267 linesport/ python/ ydf/ model/ template_cpp_export.py - yggdrasil_decision_fores
ts/ , Python, 1,475 linesport/ python/ ydf/ model/ tf_model_test.py - yggdrasil_decision_fores
ts/ , Python, 49 linesport/ python/ ydf/ model/ tree/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 718 linesport/ python/ ydf/ model/ tree/ condition.py - yggdrasil_decision_fores
ts/ , Python, 617 linesport/ python/ ydf/ model/ tree/ condition_test.py - yggdrasil_decision_fores
ts/ , Python, 204 linesport/ python/ ydf/ model/ tree/ node.py - yggdrasil_decision_fores
ts/ , Python, 40 linesport/ python/ ydf/ model/ tree/ node_test.py - yggdrasil_decision_fores
ts/ , Python, 123 linesport/ python/ ydf/ model/ tree/ plot.py - yggdrasil_decision_fores
ts/ , Python, 83 linesport/ python/ ydf/ model/ tree/ plot_test.py - yggdrasil_decision_fores
ts/ , JavaScript, 457 linesport/ python/ ydf/ model/ tree/ plotter.js - yggdrasil_decision_fores
ts/ , Python, 170 linesport/ python/ ydf/ model/ tree/ tree.py - yggdrasil_decision_fores
ts/ , Python, 156 linesport/ python/ ydf/ model/ tree/ tree_test.py - yggdrasil_decision_fores
ts/ , Python, 267 linesport/ python/ ydf/ model/ tree/ value.py - yggdrasil_decision_fores
ts/ , Python, 150 linesport/ python/ ydf/ model/ tree/ value_test.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ monitoring/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 568 linesport/ python/ ydf/ monitoring/ benchmark_inference_spee d.py - yggdrasil_decision_fores
ts/ , Python, 73 linesport/ python/ ydf/ monitoring/ benchmark_inference_spee d_test.py - yggdrasil_decision_fores
ts/ , Python, 153 linesport/ python/ ydf/ monitoring/ benchmark_io_speed.py - yggdrasil_decision_fores
ts/ , Python, 59 linesport/ python/ ydf/ monitoring/ benchmark_io_speed_main. py - yggdrasil_decision_fores
ts/ , Python, 180 linesport/ python/ ydf/ monitoring/ benchmark_train_speed.py - yggdrasil_decision_fores
ts/ , Python, 109 linesport/ python/ ydf/ monitoring/ benchmark_train_speed_ma in.py - yggdrasil_decision_fores
ts/ , Python, 30 linesport/ python/ ydf/ monitoring/ benchmark_train_speed_te st.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ util/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 33 linesport/ python/ ydf/ util/ dataset_io.py - yggdrasil_decision_fores
ts/ , Python, 97 linesport/ python/ ydf/ util/ help.py - yggdrasil_decision_fores
ts/ , Python, 290 linesport/ python/ ydf/ util/ log_book.py - yggdrasil_decision_fores
ts/ , Python, 169 linesport/ python/ ydf/ util/ log_book_test.py - yggdrasil_decision_fores
ts/ , Python, 159 linesport/ python/ ydf/ util/ tf_example.py - yggdrasil_decision_fores
ts/ , Python, 437 linesport/ python/ ydf/ util/ tf_example_impl.py - yggdrasil_decision_fores
ts/ , Python, 151 linesport/ python/ ydf/ util/ tf_example_test.py - yggdrasil_decision_fores
ts/ , Python, 100 linesport/ python/ ydf/ util/ vertex_ai.py - yggdrasil_decision_fores
ts/ , Python, 98 linesport/ python/ ydf/ util/ vertex_ai_test.py - yggdrasil_decision_fores
ts/ , Python, 14 linesport/ python/ ydf/ utils/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 36 linesport/ python/ ydf/ utils/ concurrency.py - yggdrasil_decision_fores
ts/ , C/C++, 35 linesport/ python/ ydf/ utils/ custom_casters.h - yggdrasil_decision_fores
ts/ , Python, 26 linesport/ python/ ydf/ utils/ documentation.py - yggdrasil_decision_fores
ts/ , Python, 15 linesport/ python/ ydf/ utils/ filesystem.py - yggdrasil_decision_fores
ts/ , Python, 18 linesport/ python/ ydf/ utils/ filesystem_default.py - yggdrasil_decision_fores
ts/ , Python, 19 linesport/ python/ ydf/ utils/ filesystem_google.py - yggdrasil_decision_fores
ts/ , Python, 37 linesport/ python/ ydf/ utils/ filesystem_test.py - yggdrasil_decision_fores
ts/ , Python, 43 linesport/ python/ ydf/ utils/ func_helpers.py - yggdrasil_decision_fores
ts/ , Python, 79 linesport/ python/ ydf/ utils/ func_helpers_test.py - yggdrasil_decision_fores
ts/ , Python, 118 linesport/ python/ ydf/ utils/ html.py - yggdrasil_decision_fores
ts/ , Python, 55 linesport/ python/ ydf/ utils/ html_test.py - yggdrasil_decision_fores
ts/ , C++, 37 linesport/ python/ ydf/ utils/ log.cc - yggdrasil_decision_fores
ts/ , C/C++, 28 linesport/ python/ ydf/ utils/ log.h - yggdrasil_decision_fores
ts/ , Python, 366 linesport/ python/ ydf/ utils/ log.py - yggdrasil_decision_fores
ts/ , C++, 80 linesport/ python/ ydf/ utils/ numpy_data.cc - yggdrasil_decision_fores
ts/ , C/C++, 109 linesport/ python/ ydf/ utils/ numpy_data.h - yggdrasil_decision_fores
ts/ , Python, 50 linesport/ python/ ydf/ utils/ paths.py - yggdrasil_decision_fores
ts/ , Python, 51 linesport/ python/ ydf/ utils/ paths_test.py - yggdrasil_decision_fores
ts/ , C/C++, 67 linesport/ python/ ydf/ utils/ pybind.h - yggdrasil_decision_fores
ts/ , Python, 66 linesport/ python/ ydf/ utils/ pybind_test.py - yggdrasil_decision_fores
ts/ , C++, 91 linesport/ python/ ydf/ utils/ pybind_test_helper.cc - yggdrasil_decision_fores
ts/ , C/C++, 217 linesport/ python/ ydf/ utils/ status_casters.h - yggdrasil_decision_fores
ts/ , Python, 164 linesport/ python/ ydf/ utils/ string_lib.py - yggdrasil_decision_fores
ts/ , Python, 183 linesport/ python/ ydf/ utils/ string_lib_test.py - yggdrasil_decision_fores
ts/ , Python, 271 linesport/ python/ ydf/ utils/ test_utils.py - yggdrasil_decision_fores
ts/ , Python, 86 linesport/ python/ ydf/ utils/ test_utils_test.py - yggdrasil_decision_fores
ts/ , Python, 15 linesport/ python/ ydf/ version.py - yggdrasil_decision_fores
ts/ , Python, 98 linesport/ tensorflow/ pip_pkg/ setup.py - yggdrasil_decision_fores
ts/ , Python, 28 linesport/ tensorflow/ pip_pkg/ test_pkg.py - yggdrasil_decision_fores
ts/ , Shell, 229 linesport/ tensorflow/ tools/ build_pip_pkg.sh - yggdrasil_decision_fores
ts/ , Shell, 213 linesport/ tensorflow/ tools/ build_pip_pkg_macos.sh - yggdrasil_decision_fores
ts/ , Python, 17 linesport/ tensorflow/ ydf_tf/ __init__.py - yggdrasil_decision_fores
ts/ , Python, 1,189 linesport/ tensorflow/ ydf_tf/ api.py - yggdrasil_decision_fores
ts/ , C++, 1,699 linesport/ tensorflow/ ydf_tf/ kernel.cc - yggdrasil_decision_fores
ts/ , C++, 269 linesport/ tensorflow/ ydf_tf/ op.cc - yggdrasil_decision_fores
ts/ , Python, 15 linesport/ tensorflow/ ydf_tf/ op.py - yggdrasil_decision_fores
ts/ , Python, 42 linesport/ tensorflow/ ydf_tf/ op_dynamic.py - yggdrasil_decision_fores
ts/ , Python, 552 linesport/ tensorflow/ ydf_tf/ test_utils.py - yggdrasil_decision_fores
ts/ , Python, 342 linesport/ tensorflow/ ydf_tf/ tf1_test.py - yggdrasil_decision_fores
ts/ , Python, 235 linesport/ tensorflow/ ydf_tf/ tf2_test.py - yggdrasil_decision_fores
ts/ , C++, 399 linesserving/ decision_forest/ 8bits_numerical_features .cc - yggdrasil_decision_fores
ts/ , C/C++, 197 linesserving/ decision_forest/ 8bits_numerical_features .h - yggdrasil_decision_fores
ts/ , C++, 252 linesserving/ decision_forest/ 8bits_numerical_features _test.cc - yggdrasil_decision_fores
ts/ , C++, 145 linesserving/ decision_forest/ benchmark_8bits_numerica l_features.cc - yggdrasil_decision_fores
ts/ , C++, 1,461 linesserving/ decision_forest/ decision_forest.cc - yggdrasil_decision_fores
ts/ , C/C++, 179 linesserving/ decision_forest/ decision_forest.h - yggdrasil_decision_fores
ts/ , C++, 862 linesserving/ decision_forest/ decision_forest_serving. cc - yggdrasil_decision_fores
ts/ , C/C++, 643 linesserving/ decision_forest/ decision_forest_serving. h - yggdrasil_decision_fores
ts/ , C++, 861 linesserving/ decision_forest/ decision_forest_test.cc - yggdrasil_decision_fores
ts/ , C++, 983 linesserving/ decision_forest/ quick_scorer_extended.cc - yggdrasil_decision_fores
ts/ , C/C++, 743 linesserving/ decision_forest/ quick_scorer_extended.h - yggdrasil_decision_fores
ts/ , C++, 384 linesserving/ decision_forest/ quick_scorer_extended_hw y.cc - yggdrasil_decision_fores
ts/ , C/C++, 163 linesserving/ decision_forest/ quick_scorer_extended_in ternal.h - yggdrasil_decision_fores
ts/ , C++, 605 linesserving/ decision_forest/ quick_scorer_extended_te st.cc - yggdrasil_decision_fores
ts/ , C++, 947 linesserving/ decision_forest/ register_engines.cc - yggdrasil_decision_fores
ts/ , C/C++, 45 linesserving/ decision_forest/ register_engines.h - yggdrasil_decision_fores
ts/ , C++, 105 linesserving/ decision_forest/ utils.cc - yggdrasil_decision_fores
ts/ , C/C++, 104 linesserving/ decision_forest/ utils.h - yggdrasil_decision_fores
ts/ , C++, 700 linesserving/ embed/ common.cc - yggdrasil_decision_fores
ts/ , C/C++, 370 linesserving/ embed/ common.h - yggdrasil_decision_fores
ts/ , C++, 63 linesserving/ embed/ cpp/ cpp_embed.cc - yggdrasil_decision_fores
ts/ , C/C++, 157 linesserving/ embed/ cpp/ cpp_embed.h - yggdrasil_decision_fores
ts/ , C++, 472 linesserving/ embed/ cpp/ cpp_embed_pred_test.cc - yggdrasil_decision_fores
ts/ , C++, 361 linesserving/ embed/ cpp/ cpp_embed_test.cc - yggdrasil_decision_fores
ts/ , C++, 452 linesserving/ embed/ cpp/ cpp_emitter.cc - yggdrasil_decision_fores
ts/ , C/C++, 85 linesserving/ embed/ cpp/ cpp_emitter.h - yggdrasil_decision_fores
ts/ , C/C++, 145 linesserving/ embed/ cpp/ cpp_ir.h - yggdrasil_decision_fores
ts/ , C++, 850 linesserving/ embed/ cpp/ cpp_target_lowering.cc - yggdrasil_decision_fores
ts/ , C/C++, 113 linesserving/ embed/ cpp/ cpp_target_lowering.h - yggdrasil_decision_fores
ts/ , C++, 162 linesserving/ embed/ cpp/ cpp_target_lowering_test .cc - yggdrasil_decision_fores
ts/ , C++, 53 linesserving/ embed/ embed.cc - yggdrasil_decision_fores
ts/ , C/C++, 34 linesserving/ embed/ embed.h - yggdrasil_decision_fores
ts/ , C++, 631 linesserving/ embed/ ir/ builder.cc - yggdrasil_decision_fores
ts/ , C/C++, 89 linesserving/ embed/ ir/ builder.h - yggdrasil_decision_fores
ts/ , C++, 363 linesserving/ embed/ ir/ builder_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 133 linesserving/ embed/ ir/ model_ir.h - yggdrasil_decision_fores
ts/ , C++, 1,247 linesserving/ embed/ java/ java_embed.cc - yggdrasil_decision_fores
ts/ , C/C++, 91 linesserving/ embed/ java/ java_embed.h - yggdrasil_decision_fores
ts/ , C++, 152 linesserving/ embed/ java/ java_embed_test.cc - yggdrasil_decision_fores
ts/ , C++, 458 linesserving/ embed/ java/ model_data_bank.cc - yggdrasil_decision_fores
ts/ , C/C++, 173 linesserving/ embed/ java/ model_data_bank.h - yggdrasil_decision_fores
ts/ , C++, 569 linesserving/ embed/ java/ model_data_bank_test.cc - yggdrasil_decision_fores
ts/ , Java, 575 linesserving/ embed/ javatests/ ydf/ JavaPredTest.java - yggdrasil_decision_fores
ts/ , C++, 524 linesserving/ embed/ utils.cc - yggdrasil_decision_fores
ts/ , C/C++, 145 linesserving/ embed/ utils.h - yggdrasil_decision_fores
ts/ , C++, 149 linesserving/ embed/ utils_test.cc - yggdrasil_decision_fores
ts/ , C++, 112 linesserving/ embed/ write_embed.cc - yggdrasil_decision_fores
ts/ , C++, 471 linesserving/ example_set.cc - yggdrasil_decision_fores
ts/ , C/C++, 1,643 linesserving/ example_set.h - yggdrasil_decision_fores
ts/ , C/C++, 86 linesserving/ example_set_model_wrappe r.h - yggdrasil_decision_fores
ts/ , C++, 762 linesserving/ example_set_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 144 linesserving/ fast_engine.h - yggdrasil_decision_fores
ts/ , C++, 208 linesserving/ tf_example.cc - yggdrasil_decision_fores
ts/ , C/C++, 36 linesserving/ tf_example.h - yggdrasil_decision_fores
ts/ , C++, 309 linesserving/ tf_example_test.cc - yggdrasil_decision_fores
ts/ , C++, 347 linesserving/ utils.cc - yggdrasil_decision_fores
ts/ , C/C++, 139 linesserving/ utils.h - yggdrasil_decision_fores
ts/ , C++, 242 linesserving/ utils_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 91 linesutils/ accurate_sum.h - yggdrasil_decision_fores
ts/ , C++, 147 linesutils/ accurate_sum_test.cc - yggdrasil_decision_fores
ts/ , C++, 65 linesutils/ adaptive_work.cc - yggdrasil_decision_fores
ts/ , C/C++, 68 linesutils/ adaptive_work.h - yggdrasil_decision_fores
ts/ , C++, 47 linesutils/ adaptive_work_test.cc - yggdrasil_decision_fores
ts/ , C++, 345 linesutils/ benchmark/ inference.cc - yggdrasil_decision_fores
ts/ , C/C++, 85 linesutils/ benchmark/ inference.h - yggdrasil_decision_fores
ts/ , C++, 119 linesutils/ benchmark/ inference_test.cc - yggdrasil_decision_fores
ts/ , C++, 457 linesutils/ bitmap.cc - yggdrasil_decision_fores
ts/ , C/C++, 330 linesutils/ bitmap.h - yggdrasil_decision_fores
ts/ , C++, 507 linesutils/ bitmap_test.cc - yggdrasil_decision_fores
ts/ , C++, 154 linesutils/ blob_sequence.cc - yggdrasil_decision_fores
ts/ , C/C++, 157 linesutils/ blob_sequence.h - yggdrasil_decision_fores
ts/ , C++, 114 linesutils/ blob_sequence_test.cc - yggdrasil_decision_fores
ts/ , C++, 98 linesutils/ bytestream.cc - yggdrasil_decision_fores
ts/ , C/C++, 133 linesutils/ bytestream.h - yggdrasil_decision_fores
ts/ , C++, 45 linesutils/ bytestream_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 60 linesutils/ cast.h - yggdrasil_decision_fores
ts/ , C/C++, 148 linesutils/ circular_buffer.h - yggdrasil_decision_fores
ts/ , C++, 105 linesutils/ circular_buffer_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 52 linesutils/ compatibility.h - yggdrasil_decision_fores
ts/ , C++, 126 linesutils/ concurrency.cc - yggdrasil_decision_fores
ts/ , C/C++, 220 linesutils/ concurrency.h - yggdrasil_decision_fores
ts/ , C/C++, 107 linesutils/ concurrency_channel.h - yggdrasil_decision_fores
ts/ , C++, 72 linesutils/ concurrency_default.cc - yggdrasil_decision_fores
ts/ , C/C++, 88 linesutils/ concurrency_default.h - yggdrasil_decision_fores
ts/ , C/C++, 209 linesutils/ concurrency_streamproces sor.h - yggdrasil_decision_fores
ts/ , C++, 340 linesutils/ concurrency_test.cc - yggdrasil_decision_fores
ts/ , C++, 254 linesutils/ csv.cc - yggdrasil_decision_fores
ts/ , C/C++, 163 linesutils/ csv.h - yggdrasil_decision_fores
ts/ , C++, 264 linesutils/ csv_test.cc - yggdrasil_decision_fores
ts/ , C++, 66 linesutils/ distribute/ core.cc - yggdrasil_decision_fores
ts/ , C/C++, 258 linesutils/ distribute/ core.h - yggdrasil_decision_fores
ts/ , C++, 49 linesutils/ distribute/ distribute.cc - yggdrasil_decision_fores
ts/ , C/C++, 100 linesutils/ distribute/ distribute.h - yggdrasil_decision_fores
ts/ , C++, 106 linesutils/ distribute/ distribute_test.cc - yggdrasil_decision_fores
ts/ , C++, 55 linesutils/ distribute/ implementations/ grpc/ grpc_common.cc - yggdrasil_decision_fores
ts/ , C/C++, 38 linesutils/ distribute/ implementations/ grpc/ grpc_common.h - yggdrasil_decision_fores
ts/ , C++, 44 linesutils/ distribute/ implementations/ grpc/ grpc_common_test.cc - yggdrasil_decision_fores
ts/ , C++, 731 linesutils/ distribute/ implementations/ grpc/ grpc_manager.cc - yggdrasil_decision_fores
ts/ , C/C++, 283 linesutils/ distribute/ implementations/ grpc/ grpc_manager.h - yggdrasil_decision_fores
ts/ , C++, 232 linesutils/ distribute/ implementations/ grpc/ grpc_test.cc - yggdrasil_decision_fores
ts/ , C++, 430 linesutils/ distribute/ implementations/ grpc/ grpc_worker.cc - yggdrasil_decision_fores
ts/ , C/C++, 233 linesutils/ distribute/ implementations/ grpc/ grpc_worker.h - yggdrasil_decision_fores
ts/ , C++, 46 linesutils/ distribute/ implementations/ grpc/ grpc_worker_main.cc - yggdrasil_decision_fores
ts/ , C++, 219 linesutils/ distribute/ implementations/ multi_thread/ multi_thread.cc - yggdrasil_decision_fores
ts/ , C/C++, 137 linesutils/ distribute/ implementations/ multi_thread/ multi_thread.h - yggdrasil_decision_fores
ts/ , C++, 257 linesutils/ distribute/ test_utils.cc - yggdrasil_decision_fores
ts/ , C/C++, 97 linesutils/ distribute/ test_utils.h - yggdrasil_decision_fores
ts/ , C++, 25 linesutils/ distribute/ toy_worker.cc - yggdrasil_decision_fores
ts/ , C/C++, 155 linesutils/ distribute/ toy_worker.h - yggdrasil_decision_fores
ts/ , C++, 38 linesutils/ distribute/ utils.cc - yggdrasil_decision_fores
ts/ , C/C++, 40 linesutils/ distribute/ utils.h - yggdrasil_decision_fores
ts/ , C++, 63 linesutils/ distribute_cli/ common.cc - yggdrasil_decision_fores
ts/ , C/C++, 47 linesutils/ distribute_cli/ common.h - yggdrasil_decision_fores
ts/ , C++, 219 linesutils/ distribute_cli/ distribute_cli.cc - yggdrasil_decision_fores
ts/ , C/C++, 132 linesutils/ distribute_cli/ distribute_cli.h - yggdrasil_decision_fores
ts/ , C++, 63 linesutils/ distribute_cli/ distribute_cli_test.cc - yggdrasil_decision_fores
ts/ , C++, 303 linesutils/ distribute_cli/ distribute_cli_worker.cc - yggdrasil_decision_fores
ts/ , C/C++, 68 linesutils/ distribute_cli/ distribute_cli_worker.h - yggdrasil_decision_fores
ts/ , C++, 121 linesutils/ distribution.cc - yggdrasil_decision_fores
ts/ , C/C++, 1,023 linesutils/ distribution.h - yggdrasil_decision_fores
ts/ , C++, 688 linesutils/ distribution_test.cc - yggdrasil_decision_fores
ts/ , C++, 19 linesutils/ documentation.cc - yggdrasil_decision_fores
ts/ , C/C++, 45 linesutils/ documentation.h - yggdrasil_decision_fores
ts/ , C/C++, 23 linesutils/ endian.h - yggdrasil_decision_fores
ts/ , C/C++, 90 linesutils/ endian_default.h - yggdrasil_decision_fores
ts/ , C/C++, 50 linesutils/ endian_google.h - yggdrasil_decision_fores
ts/ , C++, 68 linesutils/ endian_test.cc - yggdrasil_decision_fores
ts/ , C++, 348 linesutils/ evaluation.cc - yggdrasil_decision_fores
ts/ , C/C++, 112 linesutils/ evaluation.h - yggdrasil_decision_fores
ts/ , C++, 429 linesutils/ evaluation_test.cc - yggdrasil_decision_fores
ts/ , C++, 498 linesutils/ feature_importance.cc - yggdrasil_decision_fores
ts/ , C/C++, 113 linesutils/ feature_importance.h - yggdrasil_decision_fores
ts/ , C++, 56 linesutils/ filesystem.cc - yggdrasil_decision_fores
ts/ , C/C++, 87 linesutils/ filesystem.h - yggdrasil_decision_fores
ts/ , C++, 451 linesutils/ filesystem_default.cc - yggdrasil_decision_fores
ts/ , C/C++, 216 linesutils/ filesystem_default.h - yggdrasil_decision_fores
ts/ , C++, 282 linesutils/ filesystem_default_gcs.c c - yggdrasil_decision_fores
ts/ , C++, 237 linesutils/ filesystem_default_gcs_t est.cc - yggdrasil_decision_fores
ts/ , C/C++, 66 linesutils/ filesystem_interface.h - yggdrasil_decision_fores
ts/ , C++, 122 linesutils/ filesystem_tensorflow.cc - yggdrasil_decision_fores
ts/ , C/C++, 182 linesutils/ filesystem_tensorflow.h - yggdrasil_decision_fores
ts/ , C++, 323 linesutils/ filesystem_tensorflow_im pl.cc - yggdrasil_decision_fores
ts/ , C++, 39 linesutils/ filesystem_tensorflow_in terface.cc - yggdrasil_decision_fores
ts/ , C/C++, 33 linesutils/ filesystem_tensorflow_in terface.h - yggdrasil_decision_fores
ts/ , C++, 201 linesutils/ filesystem_test.cc - yggdrasil_decision_fores
ts/ , C++, 417 linesutils/ fold_generator.cc - yggdrasil_decision_fores
ts/ , C/C++, 103 linesutils/ fold_generator.h - yggdrasil_decision_fores
ts/ , C++, 266 linesutils/ fold_generator_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 51 linesutils/ hash.h - yggdrasil_decision_fores
ts/ , C/C++, 256 linesutils/ histogram.h - yggdrasil_decision_fores
ts/ , C++, 191 linesutils/ histogram_test.cc - yggdrasil_decision_fores
ts/ , C++, 93 linesutils/ html.cc - yggdrasil_decision_fores
ts/ , C/C++, 340 linesutils/ html.h - yggdrasil_decision_fores
ts/ , C++, 133 linesutils/ html_content.cc - yggdrasil_decision_fores
ts/ , C/C++, 55 linesutils/ html_content.h - yggdrasil_decision_fores
ts/ , C++, 38 linesutils/ html_content_test.cc - yggdrasil_decision_fores
ts/ , C++, 81 linesutils/ html_test.cc - yggdrasil_decision_fores
ts/ , C++, 102 linesutils/ hyper_parameters.cc - yggdrasil_decision_fores
ts/ , C/C++, 69 linesutils/ hyper_parameters.h - yggdrasil_decision_fores
ts/ , C++, 73 linesutils/ hyper_parameters_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 25 linesutils/ logging.h - yggdrasil_decision_fores
ts/ , C++, 52 linesutils/ logging_default.cc - yggdrasil_decision_fores
ts/ , C/C++, 66 linesutils/ logging_default.h - yggdrasil_decision_fores
ts/ , C++, 30 linesutils/ logging_test.cc - yggdrasil_decision_fores
ts/ , C++, 97 linesutils/ math.cc - yggdrasil_decision_fores
ts/ , C/C++, 47 linesutils/ math.h - yggdrasil_decision_fores
ts/ , C++, 97 linesutils/ math_test.cc - yggdrasil_decision_fores
ts/ , C++, 1,621 linesutils/ model_analysis.cc - yggdrasil_decision_fores
ts/ , C/C++, 118 linesutils/ model_analysis.h - yggdrasil_decision_fores
ts/ , C++, 647 linesutils/ model_analysis_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 80 linesutils/ own_or_borrow.h - yggdrasil_decision_fores
ts/ , C++, 67 linesutils/ own_or_borrow_test.cc - yggdrasil_decision_fores
ts/ , C++, 752 linesutils/ partial_dependence_plot. cc - yggdrasil_decision_fores
ts/ , C/C++, 147 linesutils/ partial_dependence_plot. h - yggdrasil_decision_fores
ts/ , C++, 1,482 linesutils/ partial_dependence_plot_ test.cc - yggdrasil_decision_fores
ts/ , C++, 559 linesutils/ plot.cc - yggdrasil_decision_fores
ts/ , C/C++, 317 linesutils/ plot.h - yggdrasil_decision_fores
ts/ , C++, 210 linesutils/ plot_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 135 linesutils/ protobuf.h - yggdrasil_decision_fores
ts/ , C++, 45 linesutils/ protobuf_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 46 linesutils/ random.h - yggdrasil_decision_fores
ts/ , C++, 47 linesutils/ regex.cc - yggdrasil_decision_fores
ts/ , C/C++, 39 linesutils/ regex.h - yggdrasil_decision_fores
ts/ , C++, 32 linesutils/ regex_test.cc - yggdrasil_decision_fores
ts/ , C++, 26 linesutils/ registration.cc - yggdrasil_decision_fores
ts/ , C/C++, 198 linesutils/ registration.h - yggdrasil_decision_fores
ts/ , C++, 190 linesutils/ registration_test.cc - yggdrasil_decision_fores
ts/ , C++, 96 linesutils/ reliability_diagram.cc - yggdrasil_decision_fores
ts/ , C/C++, 83 linesutils/ reliability_diagram.h - yggdrasil_decision_fores
ts/ , C++, 228 linesutils/ reliability_diagram_test .cc - yggdrasil_decision_fores
ts/ , C++, 534 linesutils/ shap.cc - yggdrasil_decision_fores
ts/ , C/C++, 162 linesutils/ shap.h - yggdrasil_decision_fores
ts/ , C++, 1,059 linesutils/ shap_test.cc - yggdrasil_decision_fores
ts/ , C++, 88 linesutils/ sharded_io.cc - yggdrasil_decision_fores
ts/ , C/C++, 216 linesutils/ sharded_io.h - yggdrasil_decision_fores
ts/ , C/C++, 135 linesutils/ sharded_io_blob_sequence .h - yggdrasil_decision_fores
ts/ , C++, 204 linesutils/ sharded_io_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 140 linesutils/ sharded_io_tfrecord.h - yggdrasil_decision_fores
ts/ , C++, 532 linesutils/ smoothed_pav_calibration _fit.cc - yggdrasil_decision_fores
ts/ , C/C++, 405 linesutils/ smoothed_pav_calibration _fit.h - yggdrasil_decision_fores
ts/ , C++, 467 linesutils/ smoothed_pav_calibration _fit_test.cc - yggdrasil_decision_fores
ts/ , C++, 123 linesutils/ smoothed_pav_calibration _inference.cc - yggdrasil_decision_fores
ts/ , C/C++, 210 linesutils/ smoothed_pav_calibration _inference.h - yggdrasil_decision_fores
ts/ , C++, 339 linesutils/ smoothed_pav_calibration _inference_test.cc - yggdrasil_decision_fores
ts/ , C++, 97 linesutils/ snapshot.cc - yggdrasil_decision_fores
ts/ , C/C++, 56 linesutils/ snapshot.h - yggdrasil_decision_fores
ts/ , C++, 83 linesutils/ snapshot_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 55 linesutils/ status_macros.h - yggdrasil_decision_fores
ts/ , C/C++, 98 linesutils/ status_macros_default.h - yggdrasil_decision_fores
ts/ , C++, 89 linesutils/ status_macros_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 186 linesutils/ synchronization_primitiv es.h - yggdrasil_decision_fores
ts/ , C++, 286 linesutils/ test.cc - yggdrasil_decision_fores
ts/ , C/C++, 153 linesutils/ test.h - yggdrasil_decision_fores
ts/ , C++, 1,146 linesutils/ test_utils.cc - yggdrasil_decision_fores
ts/ , C/C++, 480 linesutils/ test_utils.h - yggdrasil_decision_fores
ts/ , C/C++, 31 linesutils/ testing_macros.h - yggdrasil_decision_fores
ts/ , C++, 52 linesutils/ testing_macros_test.cc - yggdrasil_decision_fores
ts/ , C++, 65 linesutils/ time.cc - yggdrasil_decision_fores
ts/ , C/C++, 31 linesutils/ time.h - yggdrasil_decision_fores
ts/ , C++, 40 linesutils/ time_test.cc - yggdrasil_decision_fores
ts/ , C/C++, 48 linesutils/ uid.h - yggdrasil_decision_fores
ts/ , C/C++, 81 linesutils/ usage.h - yggdrasil_decision_fores
ts/ , C++, 61 linesutils/ usage_default.cc - yggdrasil_decision_fores
ts/ , C++, 289 linesutils/ zlib.cc - yggdrasil_decision_fores
ts/ , C/C++, 114 linesutils/ zlib.h - yggdrasil_decision_fores
ts/ , C++, 188 linesutils/ zlib_test.cc - LICENSE, License, 247 lines
- README.md, Text, 145 lines
neurodata/sex_classification
27c99d80b11f647b665a2dd5ec4a8430d234453a, 6 June 2024Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
41 files
- .ipynb_checkpoints/
April10_2024-checkpoint. , Jupyter, 408 linesipynb - .ipynb_checkpoints/
April3_2024-checkpoint.i , Jupyter, 364 linespynb - .ipynb_checkpoints/
Feb21_2024-checkpoint.ip , Jupyter, 121 linesynb - .ipynb_checkpoints/
Feb28_2024-checkpoint.ip , Jupyter, 183 linesynb - .ipynb_checkpoints/
March13_2024-checkpoint. , Jupyter, 364 linesipynb - .ipynb_checkpoints/
accuracy_run-checkpoint. , Python, 137 linespy - .ipynb_checkpoints/
cortical_thickness-check , Jupyter, 272 linespoint.ipynb - .ipynb_checkpoints/
cortical_thickness_cross , Jupyter, 256 lines_species-checkpoint.ipyn b - .ipynb_checkpoints/
cortical_thickness_pval- , Jupyter, 272 linescheckpoint.ipynb - .ipynb_checkpoints/
delete_files-checkpoint. , Jupyter, 37 linesipynb - .ipynb_checkpoints/
eval_acc-checkpoint.py , Python, 114 lines - .ipynb_checkpoints/
primary_analysis-NHP-che , Jupyter, 114 linesckpoint.ipynb - .ipynb_checkpoints/
primary_analysis-checkpo , Jupyter, 121 linesint.ipynb - .ipynb_checkpoints/
run-checkpoint.py , Python, 52 lines - .ipynb_checkpoints/
run_test-checkpoint.py , Python, 122 lines - .ipynb_checkpoints/
run_test_diff_parallel-c , Python, 119 linesheckpoint.py - .ipynb_checkpoints/
train_morf-checkpoint.py , Python, 158 lines - .ipynb_checkpoints/
train_morf_NHP-checkpoin , Python, 195 linest.py - .ipynb_checkpoints/
train_rf-checkpoint.py , Python, 109 lines - .ipynb_checkpoints/
transfer-checkpoint.py , Python, 111 lines - April10_2024.ipynb, Jupyter, 384 lines
- April3_2024.ipynb, Jupyter, 420 lines
- Feb21_2024.ipynb, Jupyter, 162 lines
- Feb28_2024.ipynb, Jupyter, 183 lines
- March13_2024.ipynb, Jupyter, 364 lines
- accuracy_run.py, Python, 137 lines
- cortical_thickness.ipynb
, Jupyter, 272 lines - cortical_thickness_cross
_species.ipynb , Jupyter, 237 lines - cortical_thickness_pval.
ipynb , Jupyter, 451 lines - delete_files.ipynb, Jupyter, 37 lines
- eval_acc.py, Python, 114 lines
- primary_analysis-NHP.ipy
nb , Jupyter, 125 lines - primary_analysis.ipynb, Jupyter, 121 lines
- run.py, Python, 52 lines
- run_test.py, Python, 122 lines
- run_test_diff_parallel.p
y , Python, 119 lines - train_morf.py, Python, 158 lines
- train_morf_NHP.py, Python, 195 lines
- train_rf.py, Python, 109 lines
- transfer.py, Python, 111 lines
- README.md, Text, 2 lines
neurodata/treeple
75c2cf919939574e4240fe261f053162039495cf, 25 February 2025Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
118 files
- .spin/
cmds.py , Python, 208 lines - benchmarks/
__init__.py , Python, 1 line - benchmarks/
common.py , Python, 282 lines - benchmarks/
datasets.py , Python, 161 lines - benchmarks/
ensemble_supervised.py , Python, 74 lines - benchmarks/
utils.py , Python, 46 lines - benchmarks_nonasv/
bench_forestht.py , Python, 209 lines - benchmarks_nonasv/
bench_mnist.py , Python, 188 lines - benchmarks_nonasv/
bench_morf.py , Python, 244 lines - benchmarks_nonasv/
bench_oblique_tree.py , Python, 170 lines - benchmarks_nonasv/
bench_plot_urf.py , Python, 90 lines - benchmarks_nonasv/
cancer/ , Jupyter, 1,460 linesbench_multiview_hyppo.ip ynb - benchmarks_nonasv/
cancer/ , Jupyter, 942 linesbench_multiview_pvalue_h yppo.ipynb - benchmarks_nonasv/
cancer/ , Jupyter, 308 linesplot_pvalue_cancer.ipynb - benchmarks_nonasv/
cancer/ , Jupyter, 108 linesvalidate_cancer_data.ipy nb - benchmarks_nonasv/
notebooks/ , Jupyter, 430 linescompare_coleman_and_perm utation_forest.ipynb - benchmarks_nonasv/
notebooks/ , Jupyter, 191 linesforest_ht_independent_da ta.ipynb - doc/
conf.py , Python, 410 lines - doc/
sphinxext/ , Python, 157 linesadd_toctree_functions.py - doc/
sphinxext/ , Python, 54 linesallow_nan_estimators.py - doc/
sphinxext/ , Python, 48 linesdoi_role.py - doc/
sphinxext/ , Python, 82 linesgithub_link.py - doc/
sphinxext/ , Python, 210 linessphinx_issues.py - examples/
calibration/ , Python, 117 linesplot_honest_tree.py - examples/
calibration/ , Python, 186 linesplot_overlapping_gaussia ns.py - examples/
multiview/ , Python, 181 linesplot_multiview_dtc.py - examples/
outlier_detection/ , Python, 228 linesplot_extended_isolation_ forest.py - examples/
quantile_predictions/ , Python, 113 linesplot_quantile_interpolat ion_with_RF.py - examples/
quantile_predictions/ , Python, 195 linesplot_quantile_regression _intervals_with_RF.py - examples/
quantile_predictions/ , Python, 106 linesplot_quantile_toy_exampl e_with_RF.py - examples/
quantile_predictions/ , Python, 93 linesplot_quantile_vs_standar d_oblique_forest.py - examples/
sklearn_vs_treeple/ , Python, 97 linesplot_iris_dtc.py - examples/
sparse_oblique_trees/ , Python, 194 lines, 1 matchplot_extra_oblique_rando m_forest.py - examples/
sparse_oblique_trees/ , Python, 148 linesplot_extra_orf_sample_si ze.py - examples/
sparse_oblique_trees/ , Python, 97 linesplot_oblique_axis_aligne d_forests_sparse_parity. py - examples/
sparse_oblique_trees/ , Python, 155 linesplot_oblique_forests_iri s.py - examples/
sparse_oblique_trees/ , Python, 129 linesplot_oblique_random_fore st.py - examples/
splitters/ , Python, 193 linesplot_multiview_axis_alig ned_splitter.py - examples/
splitters/ , Python, 322 linesplot_projection_matrices .py - examples/
splitters/ , Python, 130 linesplot_sparse_projection_m atrix.py - examples/
treeple/ , Python, 210 linestreeple_tutorial_0_GMM.p y - examples/
treeple/ , Python, 146 linestreeple_tutorial_1_1a_SA 98.py - examples/
treeple/ , Python, 114 linestreeple_tutorial_1_1b_MI .py - examples/
treeple/ , Python, 147 linestreeple_tutorial_1_1c_pA UC.py - examples/
treeple/ , Python, 108 linestreeple_tutorial_1_1d_HD .py - examples/
treeple/ , Python, 140 linestreeple_tutorial_1_2_pva lue.py - examples/
treeple/ , Python, 165 linestreeple_tutorial_2_1a_SA 98_multiview.py - examples/
treeple/ , Python, 169 linestreeple_tutorial_2_1b_CM I.py - examples/
treeple/ , Python, 188 linestreeple_tutorial_2_2_pva lue_multiview.py - treeple/
__init__.py , Python, 93 lines - treeple/
_build_utils/ , Python, 21 linesgcc_build_bitness.py - treeple/
_lib/ , Python, 1 line__init__.py - treeple/
conftest.py , Python, 10 lines - treeple/
datasets/ , Python, 9 lines__init__.py - treeple/
datasets/ , Python, 882 lines, 1 matchhyppo.py - treeple/
datasets/ , Python, 356 linesmultiview.py - treeple/
datasets/ , Python, 1 linetests/ __init__.py - treeple/
datasets/ , Python, 200 linestests/ test_hyppo.py - treeple/
datasets/ , Python, 123 linestests/ test_multiview.py - treeple/
ensemble/ , Python, 12 lines__init__.py - treeple/
ensemble/ , Python, 196 lines, 1 match_eiforest.py - treeple/
ensemble/ , Python, 147 lines_extensions.py - treeple/
ensemble/ , Python, 861 lines, 1 match_honest_forest.py - treeple/
ensemble/ , Python, 315 lines_multiview.py - treeple/
ensemble/ , Python, 1,931 lines, 2 matches_supervised_forest.py - treeple/
ensemble/ , Python, 832 lines_unsupervised_forest.py - treeple/
experimental/ , Python, 13 lines__init__.py - treeple/
experimental/ , Python, 1 linedistributions.py - treeple/
experimental/ , Python, 219 linesmonte_carlo.py - treeple/
experimental/ , Python, 447 linesmutual_info.py - treeple/
experimental/ , Python, 263 linessdf.py - treeple/
experimental/ , Python, 223 linessimulate.py - treeple/
experimental/ , Python, 1 linetests/ __init__.py - treeple/
experimental/ , Python, 196 linestests/ test_monte_carlo.py - treeple/
experimental/ , Python, 58 linestests/ test_mutual_info.py - treeple/
experimental/ , Python, 123 linestests/ test_sdf.py - treeple/
experimental/ , Python, 38 linestests/ test_simulate.py - treeple/
neighbors.py , Python, 214 lines - treeple/
stats/ , Python, 11 lines__init__.py - treeple/
stats/ , Python, 252 linesbaseline.py - treeple/
stats/ , Python, 340 linesforest.py - treeple/
stats/ , Python, 484 linespermuteforest.py - treeple/
stats/ , Python, 1 linetests/ __init__.py - treeple/
stats/ , Python, 104 linestests/ test_baseline.py - treeple/
stats/ , Python, 216 linestests/ test_coleman.py - treeple/
stats/ , Python, 466 linestests/ test_forest.py - treeple/
stats/ , Python, 66 linestests/ test_permuteforest.py - treeple/
stats/ , Python, 136 linestests/ test_utils.py - treeple/
stats/ , Python, 537 linesutils.py - treeple/
tests/ , Python, 1 line__init__.py - treeple/
tests/ , Python, 316 linestest_eiforest.py - treeple/
tests/ , Python, 108 linestest_extensions.py - treeple/
tests/ , Python, 565 linestest_honest_forest.py - treeple/
tests/ , Python, 179 linestest_multiview_forest.py - treeple/
tests/ , Python, 99 linestest_neighbors.py - treeple/
tests/ , Python, 458 linestest_supervised_forest.p y - treeple/
tests/ , Python, 114 linestest_unsupervised_forest .py - treeple/
tree/ , Python, 37 lines__init__.py - treeple/
tree/ , Python, 3,285 lines_classes.py - treeple/
tree/ , Python, 949 lines_honest_tree.py - treeple/
tree/ , Python, 254 lines_marginalize.py - treeple/
tree/ , Python, 669 lines_multiview.py - treeple/
tree/ , Python, 66 lines_neighbors.py - treeple/
tree/ , Python, 1 linehonesty/ __init__.py - treeple/
tree/ , Python, 12 lineskernels.py - treeple/
tree/ , Python, 1 linemanifold/ __init__.py - treeple/
tree/ , Python, 1 linetests/ __init__.py - treeple/
tree/ , Python, 185 linestests/ test_all_trees.py - treeple/
tree/ , Python, 72 linestests/ test_honest_prune.py - treeple/
tree/ , Python, 246 linestests/ test_honest_tree.py - treeple/
tree/ , Python, 144 linestests/ test_marginal.py - treeple/
tree/ , Python, 275 linestests/ test_multiview.py - treeple/
tree/ , Python, 559 linestests/ test_tree.py - treeple/
tree/ , Python, 224 linestests/ test_unsupervised_tree.p y - treeple/
tree/ , Python, 204 linestests/ test_utils.py - treeple/
tree/ , Python, 1 lineunsupervised/ __init__.py - LICENSE, License, 131 lines
- README.md, Text, 69 lines
Code availability
The code used to perform the analysis and generate results for sex classification can be accessed at https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 3 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 1,045 scripts, each with its path and the digest of its content;
- 9 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data Availability
All relevant links to the data are within the manuscript and its Supporting Information files.
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 29 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 13 MeSH terms, 2 funders, 27 references.
Cite
This paper
Liu, T., Dey, J., Xu, B., Bridgeford, E. W., Alldritt, S., Nenning, K.-H., Byeon, K., Xu, T., & Vogelstein, J. T. (2026). Statistically valid explainable black-box machine learning: applications in sex classification across species using brain imaging. PloS one, 21(4), e0346575. https://
BibTeX
@article{liu2026statisti
author = {Liu, Tingshan and Dey, Jayanta and Xu, Beiya and Bridgeford, Eric W. and Alldritt, Samuel and Nenning, Karl-Heinz and Byeon, Kyoungseob and Xu, Ting and Vogelstein, Joshua T.},
title = {{Statistically valid explainable black-box machine learning: applications in sex classification across species using brain imaging}},
journal = {PloS one},
year = {2026},
month = apr,
volume = {21},
number = {4},
pages = {e0346575},
publisher = {PLOS},
issn = {1932-6203},
doi = {10.1371/
url = {https://
pmid = {41989998},
pmcid = {PMC13086332}
}
RIS
TY - JOUR
AU - Liu, Tingshan
AU - Dey, Jayanta
AU - Xu, Beiya
AU - Bridgeford, Eric W.
AU - Alldritt, Samuel
AU - Nenning, Karl-Heinz
AU - Byeon, Kyoungseob
AU - Xu, Ting
AU - Vogelstein, Joshua T.
TI - Statistically valid explainable black-box machine learning: applications in sex classification across species using brain imaging
T2 - PloS one
J2 - PLoS One
PY - 2026
DA - 2026/
VL - 21
IS - 4
SP - e0346575
SN - 1932-6203
PB - PLOS
DO - 10.1371/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1371/
"type": "article-journal",
"title": "Statistically valid explainable black-box machine learning: applications in sex classification across species using brain imaging",
"container-title": "PloS one",
"author": [
{
"family": "Liu",
"given": "Tingshan"
},
{
"family": "Dey",
"given": "Jayanta"
},
{
"family": "Xu",
"given": "Beiya"
},
{
"family": "Bridgeford",
"given": "Eric W."
},
{
"family": "Alldritt",
"given": "Samuel"
},
{
"family": "Nenning",
"given": "Karl-Heinz"
},
{
"family": "Byeon",
"given": "Kyoungseob"
},
{
"family": "Xu",
"given": "Ting"
},
{
"family": "Vogelstein",
"given": "Joshua T."
}
],
"container-title-short":
"volume": "21",
"issue": "4",
"page": "e0346575",
"DOI": "10.1371/
"PMID": "41989998",
"PMCID": "PMC13086332",
"ISSN": "1932-6203",
"publisher": "PLOS",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
16
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s42003-026-10957-8 [code]
- Brain defence by the extracellular matrix protein Cochlin.Journal: Communications biologyIn common: JAX, Hugging Face Transformers, UMAP, 10 other tools
- [2] doi:10.1038/s41467-026-75959-w [code]
- Charting higher-order models of brain function beyond pairwise interactions.Journal: Nature communicationsIn common: JAX, xarray, Numba, 7 other tools, 2 references
- [3] doi:10.1038/s41467-026-72253-7 [code]
- Spurious alignment between large language models and brains can emerge from non-robust methods and overlooked confounds.Journal: Nature communicationsIn common: xarray, Hugging Face Transformers, Plotly, 8 other tools, methods / tools
- [4] doi:10.3389/fnsys.2026.1822122 [code]
- Convergence-divergence circuits for multimodal integration of innate and learned opponent valences.Journal: Frontiers in systems neuroscienceIn common: UMAP, Numba, TensorFlow, 9 other tools
- [5] doi:10.1038/s41467-026-73996-z [code]
- Genetic architecture of white matter microstructure captured by unsupervised deep representation learning of fractional anisotropy maps.Journal: Nature communicationsIn common: UMAP, Plotly, NiBabel, 7 other tools, structural MRI / diffusion, 2 references
- [6] doi:10.1126/sciadv.aed4944 [code]
- Focused ultrasound blood-brain barrier opening reveals a paradoxical remote metabolic response in the primate brain.Journal: Science advancesIn common: JAX, Numba, TensorFlow, 7 other tools, non-human primate, structural MRI / diffusion
- [7] doi:10.1038/s41467-026-72057-9 [code]
- Sex-specific behavioral feedback modulates sensorimotor processing and drives flexible social behavior.Journal: Nature communicationsIn common: xarray, UMAP, Numba, 8 other tools
- [8] doi:10.1038/s41467-026-76011-7 [code]
- Human cortex organizes dynamic co-fluctuations along the sensorimotor-association
axis. Journal: Nature communicationsIn common: NiBabel, PyTorch, SciPy, 2 other tools, 3 references, author Ting Xu - [9] doi:10.1523/eneuro.0023-26.2026 [code]
- Real-Time Segmentation and Classification of Birdsong Syllables for Learning Experiments.Journal: eNeuroIn common: UMAP, Numba, TensorFlow, 8 other tools
- [10] doi:10.21203/rs.3.rs-9326213/v1 [code]
- Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brainJournal: Research Square (preprint)In common: Numba, Plotly, NiBabel, 7 other tools, 2 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 3 repositories of the authors' code, each at its verified commit and with its license, 1045 scripts, and 9 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:0838709bf6a82536…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
