{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import os\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nfrom sklearn import preprocessing\nfrom skimage.io import imread\nimport cv2\nfrom skimage.transform import resize\nfrom sklearn.model_selection import StratifiedKFold\nfrom keras.preprocessing.image import ImageDataGenerator\n\nimport keras\nimport keras.backend as K\n\n# Any results you write to the current directory are saved as output.","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true,"scrolled":true},"cell_type":"code","source":"df=pd.read_csv('../input/train.csv', index_col=0)\ndf.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"a3b0c18beac5ce31f6a375d4f7a504a1aa7aacf9"},"cell_type":"code","source":"images=[imread('../input/train/'+x+'_green.png', as_gray=True) for x in df.index]\nprint(images[0].shape)\ndf['Image']=images","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"e3a8a217cae58d747b1132f8dbdf4018272de63d"},"cell_type":"code","source":"thresholded=df.iloc[:20, 1].apply(lambda x: cv2.thr)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"9ba5a3c671be3f9e1e09238c023866b8b7579e60"},"cell_type":"code","source":"from skimage.filters import try_all_threshold\nfig, ax = try_all_threshold(df.iloc[0, 1], figsize=(10, 8), verbose=False)\nplt.show()\nplt.imshow(df.iloc[0, 1])\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"83e18325c0ef00453b6e0aae80bf66a3cb75cd59"},"cell_type":"code","source":"shape=[10, 5]\nfig=plt.figure(figsize=(20, 35))\nfor i in range(shape[0]*shape[1]):\n    sub=plt.subplot(shape[0], shape[1], i+1)\n    plt.imshow(df.iloc[i, 1])\nprint('Example Images')\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0d4ed67d3da0aeeba1ba25e7d0d5c6643b851e87"},"cell_type":"code","source":"# Clustering\ndf['Hist']=df['Image'].apply(lambda x: np.histogram(x, 128)[0])\ndf.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0f6d417ec629257140f857908371713ae887de86"},"cell_type":"code","source":"from sklearn.cluster import KMeans\nclusters=10\nkmeans=KMeans(clusters)\ndf['Cluster']=kmeans.fit_predict([np.array(x) for x in df['Hist'].values])\ndf.head()\nshape=[10, 5]\nfig=plt.figure(figsize=(20, 35))\nfor i in range(shape[0]*shape[1]):\n    sub=plt.subplot(shape[0], shape[1], i+1)\n    sub.set_title(df.iloc[i, 3])\n    plt.imshow(df.iloc[i, 1])\nprint('Example Images')\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"f8d23cca2572c6a8063c4eb21949b5d30bf652cf"},"cell_type":"code","source":"plt.figure(figsize=(25, 12))\ndf['Classes']=df['Target'].apply(lambda x: np.array([int(t) for t in x.split(' ')]))\nfor i in range(clusters):\n    cluster=df.loc[df['Cluster']==i]\n    classes=cluster['Classes']\n    al=[]\n    for k in classes:\n        al.extend(list(k))\n    al=np.array(al)\n    hist=np.histogram(al, 28)\n    sub=plt.subplot(2, 5, i+1)\n    plt.bar(range(28), hist[0])\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"f588a4589c4d5b3dfed03ab108f65c93a7fca2b2"},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}