import numpy as np
import matplotlib.pyplot as plt
def load_data():
X = np.load("data/ex7_X.npy")
return X
def draw_line(p1, p2, style="-k", linewidth=1):
plt.plot([p1[0], p2[0]], [p1[1], p2[1]], style, linewidth=linewidth)
def plot_data_points(X, idx):
plt.scatter(X[:, 0], X[:, 1], c=idx)
def plot_progress_kMeans(X, centroids, previous_centroids, idx, K, i):
plot_data_points(X, idx)
plt.scatter(centroids[:, 0], centroids[:, 1], marker='x', c='k', linewidths=3)
for j in range(centroids.shape[0]):
draw_line(centroids[j, :], previous_centroids[j, :])
plt.title("Iteration number %d" %i)