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

Tom*_*omG 5 python normal-distribution gaussian scikit-learn

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

维基百科对我正在尝试做的事情有很好的解释(对于单个高斯,而不是GMM),而且我可能能够自己实现它,但我的矩阵数学不是很好,我可以看到它花了很长时间.

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

sta*_*ner 3

尝试查看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)
Run Code Online (Sandbox Code Playgroud)

据我记得,软件包中附带了一些示例。