From c741c3b8fec8de64bb7ae0c804dd99a92a7ac8e7 Mon Sep 17 00:00:00 2001 From: Mike Schmidt Date: Tue, 7 May 2024 10:50:34 -0600 Subject: [PATCH] feat(rust): Added View::logp --- lace/lace_cc/src/view.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lace/lace_cc/src/view.rs b/lace/lace_cc/src/view.rs index 95b08c1a..2e1975f3 100644 --- a/lace/lace_cc/src/view.rs +++ b/lace/lace_cc/src/view.rs @@ -133,6 +133,13 @@ impl View { .fold(0.0, |acc, ftr| acc + ftr.predictive_score_at(row_ix, k)) } + /// Compute the log probability of observing `datum` belonging to cluster `k` + /// given the data already assigned to category `k` with all component parameters + /// marginalized away + pub fn logp(&self, datum: &Datum, k: usize) -> f64 { + self.ftrs.values().map(|ftr| ftr.cpnt_logp(datum, k)).sum() + } + #[inline] pub fn logm(&self, k: usize) -> f64 { self.ftrs.values().map(|ftr| ftr.logm(k)).sum()