3个版本 (1个稳定版)
使用旧的Rust 2015
1.0.0 | 2019年10月24日 |
---|---|
0.1.1 | 2019年3月1日 |
0.1.0 | 2019年2月28日 |
#748 in 机器学习
每月98次下载
用于 vaporetto
1MB
7K 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个文件。
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 - 首次发布。