3个版本 (1个稳定版)

使用旧的Rust 2015

1.0.0 2019年10月24日
0.1.1 2019年3月1日
0.1.0 2019年2月28日

#748 in 机器学习

Download history 28/week @ 2024-03-12 31/week @ 2024-03-19 36/week @ 2024-03-26 83/week @ 2024-04-02 32/week @ 2024-04-09 23/week @ 2024-04-16 24/week @ 2024-04-23 20/week @ 2024-04-30 56/week @ 2024-05-07 21/week @ 2024-05-14 30/week @ 2024-05-21 38/week @ 2024-05-28 24/week @ 2024-06-04 24/week @ 2024-06-11 25/week @ 2024-06-18 20/week @ 2024-06-25

每月98次下载
用于 vaporetto

MIT 许可证

1MB
7K SLoC

C++ 3K SLoC // 0.1% comments C 2K SLoC // 0.0% comments Rust 1K SLoC // 0.0% comments Python 644 SLoC // 0.2% comments Objective-C 22 SLoC

包含 (Windows DLL, 270KB) liblinear/windows/liblinear.dll,(DOS可执行文件, 270KB) liblinear/windows/train.exe,(DOS可执行文件, 215KB) liblinear/windows/predict.exe,(DOS可执行文件, 79KB) liblinear/windows/train.mexw64,(DOS可执行文件, 25KB) liblinear/windows/predict.mexw64,(DOS可执行文件, 15KB) liblinear/windows/libsvmread.mexw64 等1个文件

Latest Version deps.svg docs MIT

liblinear-rs

Rust对liblinear C/C++库的绑定。提供了对库暴露的原始C接口的薄(但具有Rust风格)的包装。

使用方法

使用liblinear::Builder API在稀疏特征上训练模型并预测新实例的类别。

extern crate liblinear;
use liblinear::*;

let x: Vec<Vec<(u32, f64)>> = vec![
        vec![(1, 0.1), (3, 0.2)],
        vec![(3, 9.9)],
        vec![(1, 0.2), (2, 3.2)],
    ];
let y = vec![0.0, 1.0, 0.0];

let mut model_builder = liblinear::Builder::new();
model_builder
    .problem()
    .input_data(util::TrainingInput::from_sparse_features(y, x).unwrap())
    .bias(0f64);
model_builder
    .parameters()
    .solver_type(SolverType::L2R_LR)
    .stopping_criterion(0.1f64)
    .constraints_violation_cost(0.1f64)
    .regression_loss_sensitivity(1f64);

let model = model_builder.build_model().unwrap();
assert_eq!(model.num_classes(), 2);

let predicted_class = model
    .predict(util::PredictionInput::from_sparse_features(vec![(1u32, 2.2f64)]).unwrap())
    .unwrap();
println!(predicted_class);

更多示例可以在捆绑的单元测试中找到。

变更日志

1.0.0 - 更新liblinear到v230(破坏性变更),一些小改动和修复。
0.1.1 - 添加了readme,一些文档修复。
0.1.0 - 首次发布。

依赖关系