Classification
January 15, 2026 ยท View on GitHub
Learn classification algorithms in VSL.
What You'll Learn
- K-Nearest Neighbors
- Logistic Regression
- Support Vector Machines
- Decision Trees
- Random Forest
- Classification metrics
- Model evaluation
K-Nearest Neighbors (KNN)
import vsl.ml
mut data := ml.Data.from_raw_xy_sep([][]f64{}, []f64{})! // Assume populated
mut model := ml.KNN.new(mut data, 'knn_model')!
model.train()
prediction := model.predict(k: 3, to_pred: [1.0, 2.0])!
Logistic Regression
import vsl.ml
mut data := ml.Data.from_raw_xy_sep([][]f64{}, []f64{})! // Assume populated
mut model := ml.LogReg.new(mut data, 'logreg_model')
model.train(epochs: 1000, learning_rate: 0.01)
probability := model.predict([1.0, 2.0])
Support Vector Machine (SVM)
import vsl.ml
mut data := ml.Data.from_raw_xy_sep([][]f64{}, []f64{})! // Assume populated
mut model := ml.SVM.new(mut data, 'svm_model')
model.set_kernel(.rbf, 1.0, 3) // RBF kernel
model.set_C(10.0)
model.train(max_iter: 200, tolerance: 1e-3)
prediction := model.predict([1.0, 2.0])
Decision Tree
import vsl.ml
mut data := ml.Data.from_raw_xy_sep([][]f64{}, []f64{})! // Assume populated
mut model := ml.DecisionTree.new(mut data, 'dt_model')
model.set_criterion(.gini)
model.set_max_depth(10)
model.train()
prediction := model.predict([1.0, 2.0])
Random Forest
import vsl.ml
mut data := ml.Data.from_raw_xy_sep([][]f64{}, []f64{})! // Assume populated
mut model := ml.RandomForest.new(mut data, 'rf_model')
model.set_n_estimators(100)
model.train()
prediction := model.predict([1.0, 2.0])
probability := model.predict_proba([1.0, 2.0])
Next Steps
- Logistic Regression - Detailed logistic regression guide
- SVM - Support Vector Machines
- Decision Trees - Decision tree classification
- Random Forest - Ensemble learning
- Examples - Working examples