高斯混合模型的数据已经得到,但是后面的公式不知道如何实现
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中的参数和属性我都看了,没有我想要的