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 InputImageseachImage do

     PreprocessedImagepreprocessImage(image)

     PreprocessedImages.append(PreprocessedImage)

Step 3: Load Pre-trained Models

LoadedModelsloadModels(SelectedModels)

Step 4: Generate Predictions

while eachpreprocessedPreprocessedImages do

     predictions[]

     while eachloadedmodelLoadedModels do

           ModelPredictionPredictImage(LoadedModel,PreprocessedImage)

           predictions.append(ModelPrediction)

     individualPredictions.append(predictions)

Step 5: Max Voting Ensemble Technique

while eachIndividualPredictionsindividualPredictions do

     aggregatedPredictions[]

     while eachImagePredictionsetofpredictions do

           majorityVotecalculateMajorityVote(imagePrediction)

           aggregatedPredictions.append(majorityVote)

     ensemblePredictions.append(aggregatedPredictions)

Step 6: Evaluate Ensemble Performance

accuracyevaluateAccuracy(ensemblePredictions,groundTruthLabels)

Step 7: Display Results

print(EnsembleAccuracy:,accuracy)