diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index e366269..dd3c51d 100644 Binary files a/__pycache__/__init__.cpython-36.pyc and b/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_k_means/__pycache__/__init__.cpython-36.pyc b/q01_k_means/__pycache__/__init__.cpython-36.pyc index 5030f09..92e3c5c 100644 Binary files a/q01_k_means/__pycache__/__init__.cpython-36.pyc and b/q01_k_means/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_k_means/__pycache__/build.cpython-36.pyc b/q01_k_means/__pycache__/build.cpython-36.pyc index d257235..021b4ff 100644 Binary files a/q01_k_means/__pycache__/build.cpython-36.pyc and b/q01_k_means/__pycache__/build.cpython-36.pyc differ diff --git a/q01_k_means/build.py b/q01_k_means/build.py index 925feb4..1c6e322 100644 --- a/q01_k_means/build.py +++ b/q01_k_means/build.py @@ -1,18 +1,35 @@ +# %load q01_k_means/build.py # Default imports from sklearn.cluster import KMeans import matplotlib.pyplot as plt plt.switch_backend('agg') from sklearn import datasets - digits = datasets.load_digits() X_train = digits.images y_train = digits.target - # Write your solution here : - - - - +def k_means(X_train,y_train, cluster = 10,random_state = 9): + X = X_train.reshape((len(X_train), -1)) + kmeans = KMeans(n_clusters= cluster, random_state= random_state).fit(X) + len_list = [] + limit = 21 + for c in range(0, cluster): + print('C: ',c) + image = X_train[(kmeans.labels_ == c) & (y_train == c)] + temp = len(image) + for i in range(0, temp): + if(temp <= limit): + ax='ax' + fig = plt.figure() + value = i+1 + ax += str(value) + ax = fig.add_subplot(1,temp,i+1) + plt.axis('off') + ax.imshow(image[i]) + plt.show() + + else: + break diff --git a/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc b/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc index 4d0c118..c969bdc 100644 Binary files a/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc and b/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q01_k_means/tests/__pycache__/test_q01_k_means.cpython-36.pyc b/q01_k_means/tests/__pycache__/test_q01_k_means.cpython-36.pyc index c05e1f0..45a8e60 100644 Binary files a/q01_k_means/tests/__pycache__/test_q01_k_means.cpython-36.pyc and b/q01_k_means/tests/__pycache__/test_q01_k_means.cpython-36.pyc differ diff --git a/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc b/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc index 8510bd5..31fb3ff 100644 Binary files a/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc and b/q02_hierarchy_clustering/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_hierarchy_clustering/__pycache__/build.cpython-36.pyc b/q02_hierarchy_clustering/__pycache__/build.cpython-36.pyc index 5171cbf..5be736d 100644 Binary files a/q02_hierarchy_clustering/__pycache__/build.cpython-36.pyc and b/q02_hierarchy_clustering/__pycache__/build.cpython-36.pyc differ diff --git a/q02_hierarchy_clustering/build.py b/q02_hierarchy_clustering/build.py index 724237c..0964ae9 100644 --- a/q02_hierarchy_clustering/build.py +++ b/q02_hierarchy_clustering/build.py @@ -1,3 +1,4 @@ +# %load q02_hierarchy_clustering/build.py # Default imports import pandas as pd @@ -11,5 +12,47 @@ df = pd.DataFrame(scale(digits.data), index=digits.target) # Write your solution here : +def hierarchy_clustering(df): + Z_avg = linkage(df, 'average') + Z_single = linkage(df, 'single') + Z_complete = linkage(df, 'complete') + Z_ward = linkage(df, 'ward') + plt.figure(figsize=(15, 10)) + plt.subplot(411) + dendrogram( + Z_avg, + leaf_rotation=90., + leaf_font_size=3., + ) + plt.title('Average') + + plt.figure(figsize=(15, 10)) + plt.subplot(412) + dendrogram( + Z_single, + leaf_rotation=90., + leaf_font_size=3., + ) + plt.title('Single') + + plt.subplot(413) + dendrogram( + Z_complete, + leaf_rotation=90., + leaf_font_size=3., + ) + plt.title('Complete') + + plt.subplot(414) + dendrogram( + Z_ward, + leaf_rotation=90., + leaf_font_size=3., + ) + plt.title('Ward') + plt.xlabel('sample index') + plt.ylabel('distance') + + plt.show() diff --git a/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc b/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc index c783cf0..2274ff0 100644 Binary files a/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc and b/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc differ diff --git a/q02_hierarchy_clustering/tests/__pycache__/test_q02_hierarchy_clustering.cpython-36.pyc b/q02_hierarchy_clustering/tests/__pycache__/test_q02_hierarchy_clustering.cpython-36.pyc index 180ff26..4397d4e 100644 Binary files a/q02_hierarchy_clustering/tests/__pycache__/test_q02_hierarchy_clustering.cpython-36.pyc and b/q02_hierarchy_clustering/tests/__pycache__/test_q02_hierarchy_clustering.cpython-36.pyc differ