GithubHelp home page GithubHelp logo

ctrl-gaurav / breast-cancer-cell-type-classification Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.54 MB

A Machine Learning as well as Neural Network approach for Breast Cancer Cell Type Classification

License: MIT License

Jupyter Notebook 99.05% PureBasic 0.95%
keras tensorflow deep-learning machine-learning scikit-learn classification-model

breast-cancer-cell-type-classification's Introduction


Logo

Breast Cancer Prediction and Classification

A Machine Learning as well as Deep Learning approach to solve classification problem.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

The aim of this project is to select appropriate feature to train model and find out which classification algorithm work best for the given dataset. This dataset of cancer cells characteristics was created by the University of Wisconsin. The features from the data set describe characteristics of the cell nuclei and are computed from a digitized image of a fine needle aspirate (FNA) of a breast mass. The dataset has 569 instances and 32 attributes out of which 5 attributes are chosen for model : Mean Radius Mean Perimeter Mean Area Mean Concavity Mean Concave Points The Objective is to train a classifier model to predict whether the cell is malignant or benign.

For this the Machine Learning models used were:

  1. Logistic Regression
  2. K-Nearest Neighbors(KNN)
  3. Naïve Bayesian Algorithm

Results obtained were:

  • Logistic Regression : Accuracy: 92.98% Cross validation score: 90.87% (+/- 5.91%)

  • K-Nearest Neighbors (KNN): Accuracy: 92.11% Cross validation score: 88.23% (+/- 7.06%)

  • Naive Bayes : Accuracy: 94.74% Cross validation score: 90.87% (+/- 5.91%)

Out of all Naive Bayes worked best for this particular data set.

Further when this was implemented by Simple Neural Network the results obtained were :

Accuracy: 87.72% Loss: 0.4984

And to improve this, when dense neural network with some regularization techniques were used the results improved to:

Accuracy: 90.35% Loss: 0.2877

Built With

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

You will need:

  • Python
  • Tensorflow
  • scikit-learn

Installation

  1. Make sure you have python3 setup on your system
  2. Clone the repo
git clone https://github.com/ctrl-gaurav/Breast-Cancer-Cell-Type-Classification.git
  1. Install requirements
pip install -r requirements.txt
  1. Run script.py
python script.py

Accuracy Screenshots

Accuracy : With Single Neural Network Architecture

screenshot1

Accuracy : With Multiple Hidden Layers Architecture

screenshot2

Accuracy : With Multiple Hidden Layers and with Regularization Techniques

screenshot3

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

To add your contributions to this project follow these steps :

  1. Fork the Project
  2. Create your improvements Branch (git checkout -b improvements/myimprovements)
  3. Commit your Changes (git commit -m 'Done some Improvements')
  4. Push to the Branch (git push origin improvements/myimprovements)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

breast-cancer-cell-type-classification's People

Contributors

ctrl-gaurav avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.