Jimmykarterba / Breast-cancer-classification

Benign vs malignant cancer classifier from microscopic images using convolutional neural networks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Breast-cancer-classification

Benign vs Malignant classifier using convolutional neural networks

IMPORTANT

Absolutely, under NO circumstance, should one ever screen patients using computer vision software trained with this code (or any home made software for that matter).

If this repository helps you in anyway, show your love ❤️ by putting a ⭐ on this project ✌️

Check out the corresponding medium blog post https://towardsdatascience.com/convolutional-neural-network-for-breast-cancer-classification-52f1213dcc9.

Data

The dataset can be downloaded from here. This is a binary classification problem. I split the data as shown-

dataset train
  benign
   b1.jpg
   b2.jpg
   //
  malignant
   m1.jpg
   m2.jpg
   //  validation
   benign
    b1.jpg
    b2.jpg
    //
   malignant
    m1.jpg
    m2.jpg
    //...

Environment and tools

  1. Jupyter Notebook
  2. Numpy
  3. Pandas
  4. Scikit-image
  5. Matplotlib
  6. Scikit-learn
  7. Keras

Installation

pip install numpy pandas scikit-image matplotlib scikit-learn keras

jupyter notebook

Model

model

Results

Loss/Accuracy vs Epoch

loss/accuracy

loss/accuracy

Confusion Matrix

roc-auc

ROC-AUC curve

roc-auc

Correct/Incorrect classification samples

results

results

The model is able to reach a validation accuracy of 98.3%, precision 0.65, recall 0.95, f1 score of 0.77 and ROC-AUC as 0.692.

Citing

@misc{Abhinav:2019,
  Author = {Abhinav Sagar},
  Title = {Breast-cancer-classification},
  Year = {2019},
  Publisher = {GitHub},
  Journal = {GitHub repository},
  Howpublished = {\url{https://github.com/abhinavsagar/Breast-cancer-classification}}
}

About

Benign vs malignant cancer classifier from microscopic images using convolutional neural networks

License:MIT License


Languages

Language:Jupyter Notebook 100.0%