{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Exploratory Data Analysis For Cassava Dataset "},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"import matplotlib.pyplot as plt \nimport numpy as np \nimport seaborn as sns\nimport pandas as pd \nimport os \nimport json\nfrom PIL import Image","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\ndataset_dir = '../input/cassava-leaf-disease-classification/'\n\ntrain_labelmap  = dataset_dir+'train.csv'\n\ntrain_image = dataset_dir + 'train_images/'\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df = pd.read_csv(train_labelmap)\ntrain_df.head(5)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"with open(\"../input/cassava-leaf-disease-classification/label_num_to_disease_map.json\") as file:\n    class_index = json.loads(file.read())\n    \nclass_index","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df[\"disease_name\"] = train_df[\"label\"].astype(str).map(class_index)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df_dist = train_df.disease_name.value_counts()\n\ntrain_df_dist ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Plot distribution\nplt.figure(figsize = (9, 8))\nsns.set_color_codes(\"pastel\")\nsns.countplot(x=\"label\", data=train_df)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Visualize images in each class(disease)"},{"metadata":{"trusted":true},"cell_type":"code","source":"def show_images(df,label,rows = 1,no_of_image=20):\n    '''\n    df - input dataframe \n    label - leaf disease label which want to visualize \n    no_of_image - no of images that we want to visualize \n    '''\n    # extract rows which has a particular disease name \n    img_df = df[df[\"label\"] == label]\n    \n    # take sample  \n    img_sample_df  =  img_df.sample(no_of_image)\n                                 \n    # get the image-name and disease name \n    images = img_sample_df['image_id'].values\n    label = img_sample_df['disease_name'].values\n\n    fig = plt.figure()\n    for n,img_id in enumerate(images):\n        a = fig.add_subplot(rows, np.ceil(no_of_image/float(rows)), n + 1)\n        # read a image \n        img = Image.open(train_image+img_id)\n        # plot the current image \n        plt.imshow(img)\n        a.set_title(img_id) \n    fig.set_size_inches(30, 30)\n    plt.show()\n    ","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Cassava Bacterial Blight (CBB)\nlabel : 0 "},{"metadata":{"trusted":true},"cell_type":"code","source":"show_images(train_df,0,rows=6,no_of_image=30)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Cassava Brown Streak Disease (CBSD)\nlabel : 1"},{"metadata":{"trusted":true},"cell_type":"code","source":"show_images(train_df,1,rows=6,no_of_image=30)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Cassava Green Mottle (CGM) \nlabel : 2"},{"metadata":{"trusted":true},"cell_type":"code","source":"show_images(train_df,2,rows=6,no_of_image=30)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Cassava Mosaic Disease (CMD)\nlabel : 3 "},{"metadata":{"trusted":true},"cell_type":"code","source":"show_images(train_df,3,rows=6,no_of_image=30)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Healthy leaf\nlabel : 4"},{"metadata":{"trusted":true},"cell_type":"code","source":"show_images(train_df,4,rows=6,no_of_image=30)","execution_count":null,"outputs":[]}],"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}