Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def compute_variance_grayscale(self, clusters, centroids, gImage, k):
- # compute variance
- variance = 0
- for i in range(len(clusters)): #iterate over the available clusters
- cluster = clusters[i]
- sum = 0;
- centroid = centroids[i]
- for j in cluster: #for each data point in cluster j compute the sum
- sum += (gImage.getImageValueAt(j[0], j[1]) - centroid) ** 2
- variance += sum / (len(cluster) - k); #add the sum to the given variance
- return variance
- def compute_variance_rgb(self, clusters, centroids, cImage, k):
- # compute variance
- variance = 0
- for i in range(len(clusters)):
- cluster = clusters[i]
- sum = 0;
- centroid = centroids[i]
- for j in cluster:
- b,g,r = cImage.getImageValueAt(j[0], j[1])
- b_e = (b - centroid[0]) ** 2
- g_e = (g - centroid[1]) ** 2
- r_e = (r - centroid[2]) ** 2
- sum += (b_e + g_e + r_e)
- variance += sum / (len(cluster) - k);
- return variance
- np.sum([n[i] * np.log(n[i]) -
- n[i] * np.log(N) -
- ((n[i] * d) / 2) * np.log(2*np.pi*cl_var) -
- ((n[i] - 1) * d/ 2) for i in range(m)]) - const_term
Add Comment
Please, Sign In to add comment