1 个不稳定版本

0.1.0 2023年11月5日

#464 in 机器学习

MIT 许可协议

6KB

lrclassifier:Rust中的逻辑回归分类器

lrclassifier 是一个Rust库,提供了逻辑回归分类器的实现,这是一种流行的机器学习算法,用于二元分类问题。

特性

  • 逻辑回归算法的高效实现。
  • 支持L2正则化。
  • 可自定义学习率和正则化参数。
  • 易于使用的API,用于训练模型和进行预测。

快速入门

这是样本正负数分类的代码。

# Cargo.toml

[dependencies]
lrclassifier = "*"
// main.rs
use lrclassifier::LRClassifier;

fn main() {
    // Data: positive and negative numbers
    let inputs: Vec<Vec<f64>> = vec![
        vec![-3.0],
        vec![-2.0],
        vec![-1.0],
        vec![1.0],
        vec![2.0],
        vec![3.0],
    ];

    let expected: Vec<f64> = vec![0.0, 0.0, 0.0, 1.0, 1.0, 1.0]; // 0 for negative, 1 for positive

    let learning_rate = 0.1;
    let lambda = 0.1;
    let input_size = inputs[0].len();

    // Create a classifier
    let mut classifier = LRClassifier::new(input_size, learning_rate, lambda);

    // Train the classifier
    classifier.train(&inputs, &expected, 10000);

    // Test the classifier
    for (input, output) in inputs.iter().zip(expected) {
        let prediction = dbg!(classifier.predict(input));
        let binary_prediction = if prediction >= 0.5 { 1.0 } else { 0.0 };
        assert_eq!(binary_prediction, output);
    }
}

许可协议

本项目采用MIT许可协议,可在此处找到。

依赖关系

~305KB