基于python实现高斯混合模型的代码
时间: 2024-06-22 11:03:15 浏览: 174
高斯混合聚类算法的python实现
4星 · 用户满意度95%
在Python中,我们可以使用scikit-learn库来方便地实现高斯混合模型(Gaussian Mixture Model, GMM)。以下是一个简单的例子,展示了如何创建并训练一个GMM:
```python
# 导入所需的库
from sklearn.mixture import GaussianMixture
import numpy as np
# 创建一些示例数据(假设是二维正态分布)
np.random.seed(0)
n_samples = 1000
X = np.concatenate((np.random.randn(n_samples, 2) * [1, 2], np.random.randn(n_samples, 2) * [3, 4] + [10, 10]), axis=0)
# 定义和训练高斯混合模型
gmm = GaussianMixture(n_components=2, random_state=42) # 两个成分
gmm.fit(X)
# 打印模型的一些参数
print("Learned parameters:")
print("Means:", gmm.means_)
print("Covariances:\n", gmm.covariances_)
print("Weights:", gmm.weights_)
# 使用模型预测新样本所属的成分
new_data = np.random.randn(100, 2)
predictions = gmm.predict(new_data)
```
在这个例子中,我们首先生成了一些二维的数据,然后创建了一个`GaussianMixture`对象,指定了两个成分(`n_components`)。然后,我们使用`fit`方法训练模型,给定数据集`X`。最后,我们打印出模型学到的均值、协方差矩阵以及每个成分的权重。
阅读全文