{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "ce1580f1-4b44-69ad-13b0-ac220a3422ad"
      },
      "outputs": [],
      "source": [
        "import numpy as np # linear algebra\n",
        "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "import os\n",
        "import glob\n",
        "%matplotlib inline\n",
        "p = sns.color_palette()\n",
        "\n",
        "os.listdir('../input')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "0f6654ce-2014-0677-a992-cda49e74214e"
      },
      "outputs": [],
      "source": [
        "for d in os.listdir('../input/sample_images'):\n",
        "    print(\"Patient '{}' has {} scans\".format(d, len(os.listdir('../input/sample_images/' + d))))\n",
        "print('----')\n",
        "print('Total patients {} Total DCM files {}'.format(len(os.listdir('../input/sample_images')), \n",
        "                                                      len(glob.glob('../input/sample_images/*/*.dcm'))))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "7d0b3471-4344-3f3d-7014-3440dcf79616"
      },
      "outputs": [],
      "source": [
        "patient_sizes = [len(os.listdir('../input/sample_images/' + d)) for d in os.listdir('../input/sample_images')]\n",
        "plt.hist(patient_sizes, color=p[2])\n",
        "plt.ylabel('Number of patients')\n",
        "plt.xlabel('DICOM files')\n",
        "plt.title('Histogram of DICOM count per patient')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "7e00008b-5c88-ee97-f472-c6c11a31e3cc"
      },
      "outputs": [],
      "source": [
        "sizes = [os.path.getsize(dcm)/1000000 for dcm in glob.glob('../input/sample_images/*/*.dcm')]\n",
        "print('DCM file sizes: min {:.3}MB max {:.3}MB avg {:.3}MB std {:.3}MB'.format(np.min(sizes), \n",
        "                                                       np.max(sizes), np.mean(sizes), np.std(sizes)))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "5bac66d3-c514-6fdc-c017-b088aa4b51b4"
      },
      "outputs": [],
      "source": [
        "df_train = pd.read_csv('../input/stage1_labels.csv')\n",
        "df_train.head()"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "136842a3-7e0b-ad2d-500b-68da0ae5e97b"
      },
      "outputs": [],
      "source": [
        "print('Number of training patients: {}'.format(len(df_train)))\n",
        "print('Cancer rate: {:.4}%'.format(df_train.cancer.mean()*100))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "9b3f5dd7-6dbc-f8af-2a89-ecebea6deba3"
      },
      "outputs": [],
      "source": [
        "from sklearn.metrics import log_loss\n",
        "logloss = log_loss(df_train.cancer, np.zeros_like(df_train.cancer) + df_train.cancer.mean())\n",
        "print('Training logloss is {}'.format(logloss))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "409f1636-0fb8-006b-664a-221896363421"
      },
      "outputs": [],
      "source": [
        "sample = pd.read_csv('../input/stage1_sample_submission.csv')\n",
        "sample['cancer'] = df_train.cancer.mean()\n",
        "sample.to_csv('naive_submission.csv', index=False)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "1be546ab-f811-06b1-720f-6fbb24ead047"
      },
      "outputs": [],
      "source": ""
    }
  ],
  "metadata": {
    "_change_revision": 0,
    "_is_fork": false,
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.6.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}