{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Importing necessary libraries"},{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport json\nimport matplotlib.pyplot as plt\nfrom PIL import Image\nimport os","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Training Data Analysis"},{"metadata":{},"cell_type":"markdown","source":"### Loading Training Images ID and labels file"},{"metadata":{"trusted":true},"cell_type":"code","source":"df=pd.read_csv('/kaggle/input/cassava-leaf-disease-classification/train.csv')\n\n# Adding Class Label Name Column\nwith open('../input/cassava-leaf-disease-classification/label_num_to_disease_map.json') as file:\n    cls_names_dict=json.load(file)\ncls_names=[]\ncls_names=[cls_names_dict[str(i)] for i in df['label']]\ndf['cls_names']=cls_names\ndf.head(20)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Class-wise Images count"},{"metadata":{"trusted":true},"cell_type":"code","source":"df.groupby('cls_names').count()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"raw","source":"There are total 21397 Images and 5 Classes. Data is imbalanced"},{"metadata":{},"cell_type":"markdown","source":"# Displaying different class Images"},{"metadata":{},"cell_type":"markdown","source":"## Cassava Bacterial Blight (CBB)"},{"metadata":{"trusted":true},"cell_type":"code","source":"healthy_images=df[df['label']==0]\nplt.figure(figsize=(16,20))\nfor i in range(50):\n    plt.subplot(10,5,i+1)\n    plt.imshow(Image.open('/kaggle/input/cassava-leaf-disease-classification/train_images/'+healthy_images['image_id'].iloc[i]))\n    #plt.ylabel(healthy_images['image_id'].iloc[i])\n    plt.axis(\"off\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Cassava Brown Streak Disease (CBSD)"},{"metadata":{"trusted":true},"cell_type":"code","source":"healthy_images=df[df['label']==1]\nplt.figure(figsize=(16,20))\nfor i in range(50):\n    plt.subplot(10,5,i+1)\n    plt.imshow(Image.open('/kaggle/input/cassava-leaf-disease-classification/train_images/'+healthy_images['image_id'].iloc[i]))\n    #plt.ylabel(healthy_images['image_id'].iloc[i])\n    plt.axis(\"off\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Cassava Green Mottle (CGM)"},{"metadata":{"trusted":true},"cell_type":"code","source":"healthy_images=df[df['label']==2]\nplt.figure(figsize=(16,20))\nfor i in range(50):\n    plt.subplot(10,5,i+1)\n    plt.imshow(Image.open('/kaggle/input/cassava-leaf-disease-classification/train_images/'+healthy_images['image_id'].iloc[i]))\n    #plt.ylabel(healthy_images['image_id'].iloc[i])\n    plt.axis(\"off\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Cassava Mosaic Disease (CMD)"},{"metadata":{"trusted":true},"cell_type":"code","source":"healthy_images=df[df['label']==3]\nplt.figure(figsize=(16,20))\nfor i in range(50):\n    plt.subplot(10,5,i+1)\n    plt.imshow(Image.open('/kaggle/input/cassava-leaf-disease-classification/train_images/'+healthy_images['image_id'].iloc[i]))\n    #plt.ylabel(healthy_images['image_id'].iloc[i])\n    plt.axis(\"off\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Healthy"},{"metadata":{"trusted":true},"cell_type":"code","source":"healthy_images=df[df['label']==4]\nplt.figure(figsize=(16,20))\nfor i in range(50):\n    plt.subplot(10,5,i+1)\n    plt.imshow(Image.open('/kaggle/input/cassava-leaf-disease-classification/train_images/'+healthy_images['image_id'].iloc[i]))\n    #plt.ylabel(healthy_images['image_id'].iloc[i])\n    plt.axis(\"off\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Problem with the Dataset"},{"metadata":{"trusted":true},"cell_type":"code","source":"im=Image.open('/kaggle/input/cassava-leaf-disease-classification/train_images/1001723730.jpg')\nim.resize((320,320))\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Leaves in the above image are diseased. But the image is labeled as 'Healthy'."},{"metadata":{"trusted":true},"cell_type":"code","source":"im=Image.open('/kaggle/input/cassava-leaf-disease-classification/train_images/100042118.jpg')\nim.resize((320,320))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"There are healthy leaves in the above image. But this image is labeled as 'Cassava Brown Streak Disease (CBSD)'\n\nTraining dataset contains mislabeled images."},{"metadata":{"trusted":true},"cell_type":"code","source":"","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}