我已经用sklearn训练了一个高斯混合模型,并且我试图获得给定聚类均值和方差的数据点的非规范化责任。在
GMM.predict_proba
不幸的是返回标准化的概率,因此它们的总和为1,但我需要原始概率。在
我试过以下几种(GMM是适合通用的车型):
import numpy as np
from sklearn import mixture
lpr = (mixture.log_multivariate_normal_density(X, GMM.means_, GMM.covars_, GMM.covariance_type) + np.log(GMM.weights_))
probs = np.exp(lpr)
但我得到的概率大于1。在
我做错什么了?在
lpr
是高斯分量的对数概率。要转换为GMM的概率,需要在对数空间中进行这些求和。下面的代码将对此进行解释。在相关问题 更多 >
编程相关推荐