Skip to main content
. 2023 Dec 30;14(1):89. doi: 10.3390/diagnostics14010089
Algorithm 1 Max Voting Ensemble Technique for Skin Cancer Classification

Input:- List of pre-trained deep learning models (SelectedModels)

List of skin lesion images (InputImages)

Corresponding ground truth labels (groundTruthLabels)

Output: Ensemble predictions for each input image (ensemble predictions)

Step 1: Model Selection

SelectedModels←[MobileNetV2, AlexNet, VGG16, ResNet50, DenseNet201,

DenseNet121, InceptionV3, ResNet50V2, InceptionResNetV2, Xception]

Step 2: Preprocessing

while InputImages≠eachImage do

     PreprocessedImage←preprocessImage(image)

     PreprocessedImages.append(PreprocessedImage)

Step 3: Load Pre-trained Models

LoadedModels←loadModels(SelectedModels)

Step 4: Generate Predictions

while eachpreprocessed≠PreprocessedImages do

     predictions←[]

     while eachloadedmodel≠LoadedModels do

           ModelPrediction←PredictImage(LoadedModel,PreprocessedImage)

           predictions.append(ModelPrediction)

     individualPredictions.append(predictions)

Step 5: Max Voting Ensemble Technique

while eachIndividualPredictions≠individualPredictions do

     aggregatedPredictions←[]

     while eachImagePrediction≠setofpredictions do

           majorityVote←calculateMajorityVote(imagePrediction)

           aggregatedPredictions.append(majorityVote)

     ensemblePredictions.append(aggregatedPredictions)

Step 6: Evaluate Ensemble Performance

accuracy←evaluateAccuracy(ensemblePredictions,groundTruthLabels)

Step 7: Display Results

print(“EnsembleAccuracy:”,accuracy)