6 个版本
0.2.3 | 2021 年 11 月 11 日 |
---|---|
0.2.2 | 2019 年 11 月 16 日 |
0.2.1 | 2019 年 8 月 15 日 |
0.1.1 | 2019 年 8 月 15 日 |
#404 在 机器学习
1,792 每月下载次数
在 4 crates 中使用
25KB
541 行
Rust 中的 T-Digest 算法
此实现遵循 Facebook folly 的 实现
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
tdigest = "0.2"
然后即可使用。如果您使用的是 Rust 2015,您还必须在您的 crate 根目录中添加 extern crate tdigest
。
示例
use tdigest::TDigest;
let t = TDigest::new_with_size(100);
let values: Vec<f64> = (1..=1_000_000).map(f64::from).collect();
let t = t.merge_sorted(values);
let ans = t.estimate_quantile(0.99);
let expected: f64 = 990_000.0;
let percentage: f64 = (expected - ans).abs() / expected;
assert!(percentage < 0.01);
lib.rs
:
Rust 中的 T-Digest 算法
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
tdigest = "0.2"
然后即可使用。如果您使用的是 Rust 2015,您还必须在您的 crate 根目录中添加 extern crate tdigest
。
示例
use tdigest::TDigest;
let t = TDigest::new_with_size(100);
let values: Vec<f64> = (1..=1_000_000).map(f64::from).collect();
let t = t.merge_sorted(values);
let ans = t.estimate_quantile(0.99);
let expected: f64 = 990_000.0;
let percentage: f64 = (expected - ans).abs() / expected;
assert!(percentage < 0.01);
依赖项
~180–415KB