Skin cancer is one of the most active types of cancer in the present decade. As the skin is the body’s largest organ, the point of considering skin cancer as the most common type of cancer among humans is understandable.
Using TensorFlow library in Python, we have implemented an image recognition skin desease classifier that tries to distinguish between benign (nevus and seborrheic keratosis) and malignant (melanoma) skin diseases from only photographic 2D RGB images.
The end-to-end workflow in Jupyter consists of the following steps:
- Installing and Importing Essential Libraries
- Reading and Processing Input Image Data
- Building the Keras Training Model
- Model Evaluation using Test Data
- Compute the confusion matrix, specificity/sensitivity, and ROC curves
Thus, the sensitivity (i.e. the probability of a positive test given that the patient has the desease) is 67%, whereas the specificity (i.e. the probability of a negative test given that the patient is well) is 63% for the threshold=0.23. The Area Under Curve ROC (ROC AUC) is 0.66 an area of 1 means the ideal model.
We can improve the model by increasing the number of training samples. We can also tweak the hyperparameters such as the threshold we set earlier, and see if we can get better sensitivity and specificity scores.
