Skip to main content
Parity Status: bun-scikit implements a comprehensive subset of scikit-learn APIs with focus on core machine learning workflows and performance.

Coverage Overview

The following matrix shows which scikit-learn APIs are available in bun-scikit. New APIs are continuously added based on community needs and usage patterns.
APIStatus
LinearRegression
LogisticRegression
SGDClassifier
SGDRegressor
LinearSVC
APIStatus
DecisionTreeClassifier
DecisionTreeRegressor
RandomForestClassifier
RandomForestRegressor
AdaBoostClassifier
GradientBoostingClassifier
GradientBoostingRegressor
HistGradientBoostingClassifier
HistGradientBoostingRegressor
APIStatus
KNeighborsClassifier
KNeighborsRegressor
GaussianNB
APIStatus
KMeans
DBSCAN
AgglomerativeClustering
SpectralClustering
Birch
OPTICS
APIStatus
PCA
TruncatedSVD
FastICA
NMF
KernelPCA
TSNE
Isomap
LocallyLinearEmbedding
MDS
APIStatus
IsolationForest
LocalOutlierFactor
OneClassSVM
APIStatus
CalibratedClassifierCV
VotingClassifier
VotingRegressor
StackingClassifier
StackingRegressor
BaggingClassifier
BaggingRegressor
OneVsRestClassifier
OneVsOneClassifier
APIStatus
DummyClassifier
DummyRegressor
APIStatus
StandardScaler
MinMaxScaler
RobustScaler
MaxAbsScaler
Normalizer
Binarizer
LabelEncoder
PolynomialFeatures
SimpleImputer
OneHotEncoder
APIStatus
Pipeline
ColumnTransformer
FeatureUnion
APIStatus
VarianceThreshold
SelectKBest
SelectPercentile
SelectFromModel
RFE
RFECV
chi2
f_classif
f_regression
mutualInfoClassif
mutualInfoRegression
APIStatus
trainTestSplit
KFold
GroupKFold
GroupShuffleSplit
StratifiedKFold
StratifiedGroupKFold
StratifiedShuffleSplit
RepeatedKFold
RepeatedStratifiedKFold
crossValScore
crossValidate
crossValPredict
learningCurve
validationCurve
GridSearchCV
RandomizedSearchCV
APIStatus
meanSquaredError
meanAbsoluteError
r2Score
meanAbsolutePercentageError
explainedVarianceScore
APIStatus
accuracyScore
precisionScore
recallScore
f1Score
balancedAccuracyScore
matthewsCorrcoef
logLoss
brierScoreLoss
rocAucScore
confusionMatrix
classificationReport
APIStatus
silhouetteScore
calinskiHarabaszScore
daviesBouldinScore
adjustedRandScore
APIStatus
permutationImportance
partialDependence
permutationTestScore

Multiclass Support

Fully Supported

The following classifiers support multiclass classification out of the box:
  • GaussianNB
  • KNeighborsClassifier
  • LogisticRegression
  • SGDClassifier
  • LinearSVC
  • DecisionTreeClassifier
  • RandomForestClassifier
  • VotingClassifier
  • StackingClassifier
  • BaggingClassifier
  • CalibratedClassifierCV

Native Zig Acceleration

DecisionTreeClassifier and RandomForestClassifier support multiclass native Zig fit/predict paths (up to 256 encoded classes) when BUN_SCIKIT_TREE_BACKEND=zig.

Known Gaps

Near-term parity gaps vs scikit-learn include:
  • Richer decomposition and covariance APIs
  • Feature extraction/image modules
  • Expanded anomaly/density estimators
  • Broader model-inspection display/reporting utilities

Parity Validation

1

API Coverage

API parity matrix coverage is enforced in CI using:
bun run parity:matrix:check
2

Output Validation

sklearn snapshot fixtures with multi-seed drift checks:
bun run parity:check
3

Parity Reports

Generate versioned parity report artifacts:
bun run parity:report
Parity checks use fixture-based testing against actual scikit-learn outputs to ensure behavioral compatibility.

Build docs developers (and LLMs) love