使用 scikit-learn.mixture.GMM 查找条件高斯混合模型

Finding conditional Gaussian Mixture Model using scikit-learn.mixture.GMM

我正在使用 scikit-learn 将多元高斯混合模型拟合到某些数据(效果非常好)。但是我需要能够以 some 变量为条件获得新的 GMM,而 scikit 工具包似乎无法做到这一点,这让我感到惊讶,因为它看起来像想做的一件非常基本的事情。

Wikipedia has a good explanation 关于我正在尝试做的事情(对于单个高斯,而不是 GMM),我有可能自己实现它,但我的矩阵数学不是太棒了,我可以看到它需要很长时间。

有人已经这样做了吗? NumPy/SciPy/Scikit-learn 有没有简单的方法?

尝试查看 pypr。从文档中,您可以通过以下方式找到以一个或多个变量为条件的 GMM:

# Now we will find the conditional distribution of x given y
(con_cen, con_cov, new_p_k) = gmm.cond_dist(np.array([np.nan, y]), \
    cen_lst, cov_lst, p_k)

据我所知,软件包中有示例。