SynaptIX logoSynaptIX

Supervised Models

v0.1.7

8 regressors and 7 classifiers behind one unified API: fit, predict, predict_proba, score, evaluate, summary, feature_importances, save/load and diagnostics — all shared through SynaptixModel.

Classification

classify.py
import synaptix as sx

df = sx.load_dataset("iris")
X, y = df.drop(columns="species"), df["species"]
X_tr, X_te, y_tr, y_te = sx.preprocessing.train_test_split(X, y, random_state=42)

model = sx.supervised.RandomForestClassifier(n_estimators=100)
model.fit(X_tr, y_tr)

print(model.evaluate(X_te, y_te))          # metrics + report
print(model.predict_proba(X_te.head(3)))    # class probabilities
print(model.feature_importances())          # per-column importance

Regression

regress.py
import synaptix as sx
import numpy as np
import pandas as pd

rng = np.random.default_rng(0)
df = pd.DataFrame({
    "x1": rng.uniform(0, 10, 300),
    "x2": rng.uniform(0, 10, 300),
})
df["y"] = 2.5 * df["x1"] - 1.2 * df["x2"] + rng.normal(0, 1, 300)

model = sx.supervised.GradientBoostingRegressor()
model.fit(df[["x1", "x2"]], df["y"])
result = model.evaluate(df[["x1", "x2"]], df["y"])
print(result)   # MAE, MSE, RMSE, R2, MAPE

Available Models

Classifiers (7)

  • LogisticRegression
  • DecisionTreeClassifier
  • RandomForestClassifier
  • GradientBoostingClassifier
  • SVMClassifier
  • KNNClassifier
  • NaiveBayes

Regressors (8)

  • LinearRegression
  • RidgeRegression
  • LassoRegression
  • DecisionTreeRegressor
  • RandomForestRegressor
  • GradientBoostingRegressor
  • SVR
  • KNNRegressor

The Unified Model API

Every model — supervised, unsupervised or bayesian — shares the same interface:

MethodPurpose
fit(X, y)Train the model (DataFrames, arrays, lists, polars)
predict(X)Predict on new data
predict_proba(X)Class probabilities (classifiers)
score(X, y)Default metric score
evaluate(X, y, plot=False)Full metrics (optionally with plots)
summary()Model configuration summary
feature_importances()Per-column importance (when available)
diagnostics(X, y)Statistical tests via StatsLibX (extra stats)
save(path) / load(path)Pickle persistence

Results from evaluate(), cross_validate() and compare_models() are plain dicts/DataFrames that also export to ViewX (.to_html(), .to_report()).