如何实现图中的代码


高斯混合模型的数据已经得到,但是后面的公式不知道如何实现


import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
import numpy as np

#产生实验数据
from sklearn.datasets.samples_generator import make_blobs
X, y_true = make_blobs(n_samples=400, centers=4,
                       cluster_std=0.60, random_state=0)
X = X[:, ::-1] #交换列是为了方便画图

from sklearn.mixture import GMM
gmm = GMM(n_components=4).fit(X)
labels = gmm.predict(X)
plt.scatter(X[:, 0], X[:, 1], c=labels, s=40, cmap='viridis');
plt.show()

https://blog.csdn.net/jasonzhoujx/article/details/81947663

不是这个代码,这个是调用的sklearn的包,这个我已经理解,我这里是当我得到这些参数后对新数据的检测,判断新数据是否属于测试数据,只不过这个代码我不会写

#由于GMM有一个隐含的概率模型,因此它也可能找到簇分配的概率结果——在Scikit-Learn中用predict_proba方法
#实现。这个方法返回一个大小为[n_samples, n_clusters]的矩阵,矩阵会给出任意属于某个簇的概率
probs = gmm.predict_proba(X)
print(probs[:5].round(3))

#输出结果
[[0.525 0.475 0.    0.   ]
 [0.    0.    0.    1.   ]
 [0.    0.    0.    1.   ]
 [1.    0.    0.    0.   ]
 [0.    0.    0.    1.   ]]


sklearn模型训练完,本身就有预测函数啊

我想得到我发的图片里代码的实现,因为我想做的是异常的值检测,训练的数据都为正常数据,异常值应该不会属于其中

这个sklearn中的参数和属性我都看了,没有我想要的