Supervised Models
v0.1.78 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
python
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 importanceRegression
regress.py
python
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, MAPEAvailable 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:
| Method | Purpose |
|---|---|
| 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()).