Determining the best classifier for predicting the value of a boolean field on a blood donor database using genetic algorithms

Ritabrata Maiti

Ritabrata Maiti

Delhi, Delhi

2 0
  • 0 Collaborators

Published Under AI for Humanity Initiative We use Support Vector Classification(SVC), from the linear model we import Perceptron. We also used the K.neighborsclassifier and the decision tree classifiers. Furthermore, we use the TPOT library to find an optimized pipeline using genetic algorithms. Using the above classifiers, we score each one of them using k fold cross-validation. ...learn more

Project status: Published/In Market

HPC, Artificial Intelligence

Code Samples [1]Links [2]

Overview / Usage

Thanks to digitization, we often have access to large databases, consisting of various fields of information, ranging from numbers to texts and even boolean values. Such databases lend themselves especially well to machine learning, classification and big data analysis tasks. We are able to train classifiers, using already existing data and use them for predicting the values of a certain field, given that we have information regarding the other fields. Most specifically, in this study, we look at the Electronic Health Records (EHRs) that are compiled by hospitals. These EHRs are convenient means of accessing data of individual patients, but there processing as a whole still remains a task. However, EHRs that are composed of coherent, well-tabulated structures lend themselves quite well to the application to machine language, via the usage of classifiers. In this study, we look at a Blood Transfusion Service Center Data Set (Data taken from the Blood Transfusion Service Center in Hsin-Chu City in Taiwan). We used scikit-learn machine learning in python. From Support Vector Machines(SVM), we use Support Vector Classification(SVC), from the linear model we import Perceptron. We also used the K.neighborsclassifier and the decision tree classifiers. Furthermore, we use the TPOT library to find an optimized pipeline using genetic algorithms. Using the above classifiers, we score each one of them using k fold cross-validation.
Contact: ritabratamaiti@hiretrex.com

Methodology / Approach

Via usage of the classifier selection diagram given here:
We have subsequently followed the steps:
• >50 samples : Yes
• Predicting a category : Yes
• Labelled Data : Yes
• Therefore classification problem
• <100k samples : Yes

Thus we have chosen the following classifiers:

  1. SVC
  2. Perceptron
  3. KneighborsClassifier
  4. Decision Tree Classifier

Furthermore, we include a Naïve Bayes Classifier in our tests, because of its high accuracy in binary classification.
We will also be training a classifier from the TPOT library for choosing the best classifier, with respect to
accuracy, and also perform hyperparameter tuning on the said classifier, and discovering the best pipeline. We
will then evaluate each of the classifiers via k-fold cross-validation and determine the best classifier on the basis
of the best average score.

Technologies Used

We use the Python programming language. The popular python machine learning library: Scikit-learn is used. For model selection and fine-tuning of hyperparameters, we use the TPOT library which is built on top of Scikit-learn and uses genetic algorithms.

Repository

https://github.com/ritabratamaiti/Blooddonorprediction

Comments (0)