API Reference /

algorithms/

Every learning algorithm TuiML implements.

Grouped into thirteen families by what the algorithm does, so a wrapped scikit-learn or CapyMOA estimator sits in the same place as its native counterpart. Every class here is registered in the hub under its own name, which is how train and the MCP tools reach it — you name the algorithm, you do not import it.

Supervised learning

  • trees — decision trees and forests. The strongest
default on tabular data: RandomForestClassifier, DecisionTreeClassifier, DecisionStumpClassifier.
  • gradient_boosting — boosted ensembles wrapping
XGBoost, LightGBM and CatBoost. Usually the accuracy ceiling, at the cost of tuning.
  • ensemble — meta-learners that combine other
algorithms: BaggingClassifier, AdaBoostClassifier, StackingClassifier, VotingClassifier.
  • linear — the interpretable baseline:
LinearRegression, LogisticRegression, SGDClassifier.
  • svm — maximum-margin classifiers with pluggable
kernels: SVC, SVR.
  • bayesian — probabilistic models:
NaiveBayesClassifier, NaiveBayesMultinomialClassifier, GaussianProcessesRegressor.
  • neighbors — instance-based learning, which stores
the training data instead of building a model: KNearestNeighborsClassifier, KNearestNeighborsRegressor.
  • rules — ZeroRuleClassifier, the majority-class
baseline every other model has to beat.
  • neural — MultilayerPerceptronClassifier.

Unsupervised learning

  • clustering — grouping without labels:
KMeansClusterer, DBSCANClusterer, AgglomerativeClusterer, GaussianMixtureClusterer.
  • anomaly — finding the rare rows:
IsolationForestDetector, LocalOutlierFactorDetector.
  • associations — co-occurrence rules:
AprioriAssociator, FPGrowthAssociator.

Sequential data

  • timeseries — forecasting, where order matters and
ordinary cross-validation leaks the future into the past: ARIMA, ExponentialSmoothing, STLDecomposition.

Notes

Names are addressed through the hub, and the namespace is what disambiguates them: "RandomForestClassifier" is the native implementation, "sklearn.RandomForestClassifier" the wrapped one. Both can appear in the same benchmark.
python
>>> import tuiml
>>> model = tuiml.train({
...     "model": {"name": "RandomForestClassifier",
...               "params": {"n_estimators": 50}},
...     "data": {"source": "iris", "target": "class"},
...     "evaluation": {"cv": 5, "metrics": ["accuracy_score"]},
... })
>>> round(model.metrics_["cv_accuracy_score_mean"], 1)
1.0

Packages