1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! Causal feature attribution via Asymmetric Shapley Values (ASV) over DAGs,
//! for explainable AI (XAI) / SHAP-style feature importance with Rust + Python bindings.
//!
//! # Quick Start
//!
//! ```rust
//! use causasv::{AsvExplainer, CausasvError, Dag};
//!
//! fn main() -> Result<(), CausasvError> {
//! let mut dag = Dag::new();
//! let x = dag.add_node("X");
//! let y = dag.add_node("Y");
//! dag.add_edge(x, y)?;
//!
//! let explainer = AsvExplainer::new(dag);
//! let result = explainer.exact(|coalition| Ok(coalition.len() as f64))?;
//!
//! for (id, val) in &result.values {
//! println!("{id:?} = {val:.4}");
//! }
//! Ok(())
//! }
//! ```
//!
//! For large graphs use [`AsvExplainer::approximate`] or [`AsvExplainer::auto`].
//! See the [README](https://github.com/kent-tokyo/causasv) for Python usage and benchmarks.
pub use ;
pub use Cpdag;
pub use ExactDagConfig;
pub use CausasvError;
pub use ;
pub use ;
pub use ;
pub use ValueFn;