我使用scikit-learn将多元高斯混合模型拟合到某些数据(效果非常好)。但是我需要能够以某些变量获得一个新的GMM条件,并且scikit工具包似乎无法做到这一点,这让我感到惊讶,因为它似乎是一个非常基本的事情。
我试图做的维基百科has a good explanation(对于单个高斯,而不是GMM),我可能能够自己实现它,但我的矩阵数学并不好,我可以看到它需要很长时间。
有人已经这样做了吗?使用NumPy / SciPy / Scikit-learn有一种简单的方法吗?
答案 0 :(得分: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)
据我记忆,这个包附带了一些例子。