SkinDx

Description

Android mobile app for pigmented skin lesion diagnosis. It is standalone machine learning app that uses models trained with HAM10000 dataset for prediction without connecting to server. The app can acheived 76.7% in accuracy.

Background

HAM10000 is a dermatoscopic image dataset for machine learning. It is created by Philipp Tschandl and others in 2018. Its aim is to solve the problem of small size and lack of diversity of available dataset of dermatoscopic images. There are 10,015 rows in the CSV file of this dataset. Each row describes a patient episode of skin disease, and each column describes an attribute eg. age, sex, localization, diagnosis and image file name of skin lesion. This dataset also contains 10,015 image files of related skin lesion.


The diagnosis is categorized into 7 groups: (1) actinic keratoses and intraepithelial carcinoma/bowen's disease (akiec), (2) basal cell carcinoma (bcc), (3) benign keratosis-like lesions (solar lentigines/seborrheic keratoses and lichen-planus like keratoses) (bkl), (4) dermatofibroma (df), (5) melanoma (mel), (6) melanocytic nevi (nv) and (7) vascular lesions (angiomas, angiokeratomas, pyogenic granulomas and hemorrhage) (vasc).


The information from this dataset is used for developing android mobile app for diagnosis prediction of pigmented skin lesion.

Feature

Use age, sex, localization and lesion image to predict pigmented skin lesion diagnosis.

Result statistics

The app is tested on android mobile device directly with 1,992 unseen testing cases for prediction. The results are as follow:

  • Accuracy (1st order prediction) : 76.7% (1527/1992) 1st order prediction

  • Top 3 accuracy ( 1st or 2nd or 3rd order prediction) : 95.1% (1895/1992)

*Accuracy: correct prediction / all cases

*Sensitivity: TP / (TP + FN) *Precision: TP / (TP + FP)

*TP: True positive *FP: False positive *FN: False negative

Video

How to test accuracy

1. Create a folder on your device. The folder will contain a CSV file and all lesion image files. The CSV file will contain information for each case to be tested.

2. The format of CSV file is as follow:

The columns that you have to pay attention are 3rd, 4th, 6th, 7th and 8th column. That are image file name (image_id), diagnosis (dx), age, sex and localization respectively as follow:

image_id: image file name without extension

dx

  • akiec

  • bcc

  • bkl

  • df

  • mel

  • nv

  • vasc

age

sex

  • male

  • female

localization

  • back

  • lower extremity

  • trunk

  • upper extremity

  • abdomen

  • face

  • chest

  • foot

  • unknown

  • neck

  • scalp

  • hand

  • ear

  • genital

  • acral

3. Click on Utilities -> Accuracy Test Button and choose the folder you've created. Make sure that the name of Meta file is the same as CSV file. Then the process will start automatically. The result will show overall accuracy for 1st order prediction, top 3 accuracy and sensitivity & precision for each diagnosis.

History

  • Version 2.0.2 released (20 November 2019)

    • Add top 3 accuracy test

  • Version 2.0.1 released (12 November 2019)

    • Minor bugs fixed.

  • Version 2.0.0 released (24 October 2019)

    • Age, sex and localization are also included in the model.

  • Version 1.2.0 released (25 July 2019)

    • Quantized model

  • Version 1.1.0 released (23 July 2019)

    • Model improvement

    • Add model accuracy test

    • Add model loading and resetting

  • Version 1.0 released (8 July 2019)

Disclaimer

Before using this machine learning app, users must understand and agree as follows:

1. This app is developed by using HAM10000 dataset so the accuracy of the dataset will effect app's correctness.

2. This app has overall accuracy 76.66% when testing with HAM10000 dataset. To use with other clinical data, this value can be varied.

3. This app calculates the chance of disease occurrence with probability value. It is your responsibility to understand and using this risk value.

4. Even we try our best to develop the app, we will not be liable for any damages that you may suffer from using this app.