X = _generateFig1() theta_true = np.array([[13, 13], [5, 0]]) fig, ax = plt.subplots() results = [] # store the final result for alpha_cut in [0, 0.1, 0.3, 0.5]: print "alpha_cut=", alpha_cut tmp_alpha_cut = [] # store the result of each alpha_cut for m_ini in [2, 5, 8, 11, 13, 16, 19]: print "m_ini=", m_ini tmp_m_ini = [] # store the m of each m_ini for sigma_v in np.r_[0:15:100j]: # for sigma_v in np.arange(1, 20): clf = pcm_fs2(X, m_ini, sigma_v, alpha_cut=alpha_cut, ax=ax, x_lim=(-10, 20), y_lim=(-8, 16)).fit() m_final = clf.m tmp_m_ini.append(m_final) # store the m of each m_ini tmp_alpha_cut.append( tmp_m_ini) # store the result of each alpha_cut results.append(tmp_alpha_cut) # store the final result results = np.array(results) # shape: n_alpha_cut x n_m_ini x n_sigma_v np.savez(r'./data/plot_mInit_sensitive_upcm', alpha_cut=[0, 0.1, 0.3, 0.5], m_ini=[2, 5, 8, 11, 13, 16, 19], sigma_v=np.r_[0:15:100j], results=results) print results.shape
ax = fig1.gca() axs.append(ax) fig2 = plt.figure(figsize=fig_size, dpi=dpi, num=2) ax = fig2.gca() axs.append(ax) marker_size = 4 X, y = _generateFig1_400_points() # 1st case: not merge ax_fig = axs[0] cluster_num = 2 clf = pcm_fs2(X, cluster_num, 4, alpha_cut=0, ax=ax, x_lim=(-10, 20), y_lim=(-8, 16)).fit() labels = np.argmax(clf.u, axis=1) print clf.m for label in range(clf.m): ax_fig.plot(X[labels == label][:, 0], X[labels == label][:, 1], '.', color=colors[label], markersize=marker_size, label="Cluster {0} with $\eta$={1:.2f}".format( label, clf.ita[label])) # centers, [
marker_size = 4 X, y = _generateFig1() # plot original fig1 ax_fig1 = axs[0] for label in range(2): ax_fig1.plot(X[y == label][:, 0], X[y == label][:, 1], '.', color=colors[label], markersize=marker_size, label="Cluster %d" % (label + 1)) ax_fig1.set_xlim(-10, 20) ax_fig1.set_ylim(-15, 20) lg=ax_fig1.legend(loc='upper left', fancybox=True, framealpha=0.5, prop={'size': 8}) lg.get_frame().set_lw(0.4) # plot fcm init ax_fig2 = axs[1] cluster_num = 10 clf = pcm_fs2(X, cluster_num, 1, alpha_cut=0, ax=ax, x_lim=(-10, 20), y_lim=(-8, 16)) labels = clf.labels_init for label in range(cluster_num): ax_fig2.plot(X[labels == label][:, 0], X[labels == label][:, 1], '.', color=colors[label], markersize=marker_size) ax_fig2.set_xlim(-10, 20) ax_fig2.set_ylim(-15, 20) # # ax_fig1.set_xticklabels(map(str, [-10,-5,0,5,10,15,20]), minor=False) # # ax_fig1.set_yticklabels(map(str, [-15,-10,-5,0,5,10,15,20]), minor=False) X, y = _generateFig6() # plot original fig6 ax_fig3 = axs[2] for label in range(3): ax_fig3.plot(X[y == label][:, 0], X[y == label][:, 1], '.', color=colors[label], markersize=marker_size, label="Cluster %d" % (label + 1))