{"cells":[{"metadata":{},"cell_type":"markdown","source":"* The images provided for this competition are not classified in folders, based on classes, provided as whole in train and test folder. \n* In this notebook we would be classifying and adding images to their respective class folders i.e either 'Benign' or 'Malignant' for the train images dataset.\n* This would help in the training of model as tensorflow requires image folder to train on image data.\n* We would need train.csv folder for classifying images."},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"collapsed":true},"cell_type":"code","source":"import os\nimport shutil\nimport random\nimport re\nimport math\nimport time\nimport pandas as pd\nimport numpy as np\nfrom os import listdir\nfrom os.path import isfile, join","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Setting file paths for our notebook:\n\nbase_path = r'../input/siim-isic-melanoma-classification/jpeg'\n\ntrain_dir = r'../input/siim-isic-melanoma-classification/jpeg/train'\n\ntest_dir = r'../input/siim-isic-melanoma-classification/jpeg/test'\n\nimg_stats_path = r'../input/siim-isic-melanoma-classification'\n\n\n# Loading train and test data.\n\ntrain = pd.read_csv(os.path.join(base_path, 'train.csv'))\n\ntest = pd.read_csv(os.path.join(base_path, 'test.csv'))\n\nsample = pd.read_csv(os.path.join(base_path, 'sample_submission.csv'))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# List containing all the names of images\n\ntrain_images = [f for f in listdir(train_dir) if isfile(join(train_dir, f))]\ntest_images = [f for f in listdir(test_dir) if isfile(join(test_dir, f))]\n\n# Labels for the image names\n\ntrain_images_labels = []\nfor i in range(train.shape[0]):\n    train_images_labels.append(train['target'].iloc[i])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Create folders with class names\n\nsrc = r'../input/siim-isic-melanoma-classification'\n\n# Create new train_class folder, in that benign n malignant folders\n\nbenign = r'../input/siim-isic-melanoma-classification\\train_class\\benign'\nmalignant = r'../input/siim-isic-melanoma-classification\\train_class\\malignant'","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Code for moving images from train folder to respective benign or malignant folder\n\nfor i in range(train.shape[0]):\n    \n    if train['target'].iloc[i] == 0:\n        shutil.move(src+'\\\\'+train_images[i], benign+'\\\\'+train_images[i])  \n        \n    else:\n        shutil.move(src+'\\\\'+train_images[i], malignant+'\\\\'+train_images[i]) ","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"After adding images to their class folders, we will get \n* 32542 benign images\n* 584 malignant images"}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}