diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index e366269..5205629 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..507c94f 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..660843e 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..ecce760 100644 --- a/q01_k_means/build.py +++ b/q01_k_means/build.py @@ -1,3 +1,4 @@ +# %load q01_k_means/build.py # Default imports from sklearn.cluster import KMeans import matplotlib.pyplot as plt @@ -7,12 +8,21 @@ digits = datasets.load_digits() -X_train = digits.images +X_train = digits.data y_train = digits.target # Write your solution here : +def k_means(X_train, y_train, cluster = 10, random_state = 9): + + k_model = KMeans(init='random',n_clusters=cluster, random_state=random_state) + k_model.fit(X_train) + + for i in range(10): + plt.figure(figsize=(1,1)) + plt.imshow(k_model.cluster_centers_[i].reshape(8,8)) + plt.show() - +k_means(X_train, y_train, cluster = 10, random_state = 9) diff --git a/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc b/q01_k_means/tests/__pycache__/__init__.cpython-36.pyc index 4d0c118..82893e8 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..67ec8cd 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..e1bc51a 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..d2bf3c4 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..23a9eb3 100644 --- a/q02_hierarchy_clustering/build.py +++ b/q02_hierarchy_clustering/build.py @@ -1,15 +1,46 @@ +# %load q02_hierarchy_clustering/build.py # Default imports import pandas as pd import matplotlib.pyplot as plt -plt.switch_backend('agg') +#plt.switch_backend('agg') from sklearn.preprocessing import scale from scipy.cluster import hierarchy from sklearn import datasets - digits = datasets.load_digits() -df = pd.DataFrame(scale(digits.data), index=digits.target) - +#df = pd.DataFrame(scale(digits.data), index=digits.target) # Write your solution here : +def hierarchy_clustering(X_train): + + df = pd.DataFrame(scale(X_train)) + plt.subplot(1,4,1) + Z = hierarchy.linkage(df,'complete') + hierarchy.dendrogram(Z,leaf_rotation=90,leaf_font_size=8) + plt.title('Complete linkage') + plt.plot() + + plt.subplot(1,4,2) + Z = hierarchy.linkage(df,'average') + hierarchy.dendrogram(Z,leaf_rotation=90,leaf_font_size=8) + plt.title('Average linkage') + plt.plot() + + plt.subplot(1,4,3) + Z = hierarchy.linkage(df,'single') + hierarchy.dendrogram(Z,leaf_rotation=90,leaf_font_size=8) + plt.title('Single linkage') + plt.plot() + + plt.subplot(1,4,4) + Z = hierarchy.linkage(df,'ward') + hierarchy.dendrogram(Z,leaf_rotation=90,leaf_font_size=8) + plt.title('Ward') + plt.plot() + + plt.show() + +hierarchy_clustering(digits.data) + + diff --git a/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc b/q02_hierarchy_clustering/tests/__pycache__/__init__.cpython-36.pyc index c783cf0..06062f3 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..bb5ce5a 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