rustframe/docs/src/machine-learning.md
2025-08-03 22:07:18 +01:00

1.0 KiB

Machine Learning

RustFrame ships with several algorithms:

  • Linear and logistic regression
  • K-means clustering
  • Principal component analysis (PCA)
  • Naive Bayes and dense neural networks

Linear Regression

# extern crate rustframe;
use rustframe::compute::models::linreg::LinReg;
use rustframe::matrix::Matrix;

let x = Matrix::from_vec(vec![1.0, 2.0, 3.0, 4.0], 4, 1);
let y = Matrix::from_vec(vec![2.0, 3.0, 4.0, 5.0], 4, 1);
let mut model = LinReg::new(1);
model.fit(&x, &y, 0.01, 100);
let preds = model.predict(&x);
assert_eq!(preds.rows(), 4);

K-means Walkthrough

# extern crate rustframe;
use rustframe::compute::models::k_means::KMeans;
use rustframe::matrix::Matrix;

let data = Matrix::from_vec(vec![1.0, 1.0, 5.0, 5.0], 2, 2);
let (model, _labels) = KMeans::fit(&data, 2, 10, 1e-4);
let new_point = Matrix::from_vec(vec![0.0, 0.0], 1, 2);
let cluster = model.predict(&new_point)[0];

For helper functions and upcoming modules, visit the utilities section.