数据集由三个集群混合而成,每个集群来自一个由 mu_k 和 sigma_k 参数化的高斯密度函数,k = 0, 1, 2。
我想在图表中绘制这些 2D 样本及其轮廓,这些样本由其集群着色。
import matplotlib.pyplot as plt
% Docstring of function GM_generated_data().
% This function generated the data.
% y is a ndarray, with its elements y[i] = array([y1, y2]),
% z is a indicator variable which represents which cluster each y[i] belongs to,
% z[i] \in {0, 1, 2}.
y, z = GM_generated_data(paras)
% Plot each point with its cluster color iteratively,
colors = 'bgrcmykw'
for i in range(len(y)):
plt.plot(y[i][0], y[i][1], 'o', color = colors[z[i]])
plt.show()
Q1。有一个更好的方法吗?
现在我需要更新指标变量 z,这恰好称为高斯混合模型的吉布斯采样。
iterations = 20
for iteration in range(iterations):
... % Operations update z
plt.plot(y[i][0], y[i][1], 'o', color = colors[z[i]])
plt.show()
我想展示的是在每次迭代中,我可以看到每个情节步骤的变化过程。
Q2.Python中有没有方法可以做到这一点?就像 MATLAB 的坚持...暂停(0.5)...推迟?