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机器学习

Download history 681/week @ 2024-04-08 745/week @ 2024-04-15 703/week @ 2024-04-22 681/week @ 2024-04-29 864/week @ 2024-05-06 634/week @ 2024-05-13 459/week @ 2024-05-20 469/week @ 2024-05-27 321/week @ 2024-06-03 793/week @ 2024-06-10 880/week @ 2024-06-17 683/week @ 2024-06-24 473/week @ 2024-07-01 421/week @ 2024-07-08 501/week @ 2024-07-15 364/week @ 2024-07-22

1,792 每月下载次数
4 crates 中使用

Apache-2.0 协议

25KB
541

Rust 中的 T-Digest 算法

Build Status codecov

此实现遵循 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