This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import numpy as np | |
| import cv2 | |
| import os, sys | |
| from matplotlib import pyplot as plt |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def gen_data(data_points,loc): | |
| x_center = loc[0] | |
| y_center = loc[1] | |
| x = np.random.normal(size= data_points, loc= x_center)*100 | |
| y = np.random.normal(size= data_points, loc= y_center)*100 | |
| data= np.vstack((x,y)) | |
| data = data.astype(np.int32) | |
| x,y = data | |
| return x, y |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| results_dir= 'results' | |
| if not os.path.exists(results_dir): | |
| os.mkdir(results_dir) | |
| x_data = np.array((),dtype=np.int32) | |
| y_data = np.array((),dtype=np.int32) | |
| #................................... | |
| x, y = gen_data(100,[5,5]) # generating 100 data points around the center [5,5] | |
| plt.scatter(x, y) | |
| x_data = np.hstack((x_data, x)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # finding the extremes of the data points so that this information | |
| # could be used to initialize the k cluster centers within these extremes. | |
| x_min= np.min(x_data) | |
| x_max= np.max(x_data) | |
| y_min= np.min(y_data) | |
| y_max= np.max(y_data) | |
| # we define a list of colors which could be used to represent data points assigned to different clusters. | |
| color_list = ['Blue', 'Green', 'Yellow', 'Pink', 'Purple'] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def display_kcenters(kcenters): | |
| for i in range(len(kcenters)): | |
| plt.scatter(kcenters[i][0], kcenters[i][1], color='Red') | |
| #plt.show() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # setting the color of all the data points to 'Gray' at the beginning | |
| initial_data_point_color = 'Gray' | |
| display_kcenters(kcenters) | |
| plt.scatter(x_data, y_data, color = initial_data_point_color) | |
| plt.title('before kMeans Clustering') | |
| plt.xlabel('Some Feature x') | |
| plt.ylabel('Some Feature y') | |
| plt.grid() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| color_info_list = [initial_data_point_color]*len(x_data) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def get_mean_shit_value(old_point, new_point): | |
| mean_shift_value = np.sqrt( np.square(old_point[0] - new_point[0]) + np.square(old_point[1] - new_point[1]) ) | |
| return mean_shift_value |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| iterations = 100 | |
| stop=[False]*k | |
| for n in range(iterations): | |
| # iterate over the data points and assign them to one of the k clusters | |
| print('iteration number {}'.format(n)) | |
| for i, (x, y) in enumerate(zip(x_data, y_data)): | |
| cluster_index= assign_cluster(x, y, kcenters) | |
| # updating the color_list for all the data points on the basis of the newly assigned clusters to them. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class NeuralNet(nn.Module): | |
| def __init__(self): | |
| super(NeuralNet, self).__init__() | |
| self.sequential = nn.Sequential(nn.Conv2d(1, 32, 5), | |
| nn.Conv2d(32, 64, 5), | |
| nn.Dropout(0.3)) | |
| self.layer1 = nn.Conv2d(64, 128, 5) | |
| self.layer2 = nn.Conv2d(128, 256, 5) | |
| self.fc = nn.Linear(256*34*34, 128) |
OlderNewer