Table of Contents
Fetching ...

Variability-Aware Machine Learning Model Selection: Feature Modeling, Instantiation, and Experimental Case Study

Cristina Tavares, Nathalia Nascimento, Paulo Alencar, Donald Cowan

TL;DR

The paper tackles the ad hoc nature of ML model selection by introducing a variability-aware design that uses feature diagrams and constraints to model factors affecting algorithm choice. It outlines a five-phase method—identify variabilities, instantiate heuristics, design experiments, select modeling techniques, and evaluate results—and demonstrates it with a Scikit-Learn-based case study on heart-failure survival prediction. The experimental results show the approach can yield competitive or superior performance (e.g., LinearSVC with favorable F1, MCC, and balanced accuracy) while providing a transparent rationale for selection. This work advances design-time support for algorithm selection and points to future expansions in heuristic coverage, additional case studies, and broader automation to enable configurable ML software product lines.

Abstract

The emergence of machine learning (ML) has led to a transformative shift in software techniques and guidelines for building software applications that support data analysis process activities such as data ingestion, modeling, and deployment. Specifically, this shift is impacting ML model selection, which is one of the key phases in this process. There have been several advances in model selection from the standpoint of core ML methods, including basic probability measures and resampling methods. However, from a software engineering perspective, this selection is still an ad hoc and informal process, is not supported by a design approach and representation formalism that explicitly captures the selection process and can not support the specification of existing model selection procedures. The selection adapts to a variety of contextual factors that affect the model selection, such as data characteristics, number of features, prediction type, and their intricate dependencies. Further, it does not provide an explanation for selecting a model and does not consider the contextual factors and their interdependencies when selecting a technique. Although the current literature provides a wide variety of ML techniques and algorithms, there is a lack of design approaches to support algorithm selection. In this paper, we present a variability-aware ML algorithm selection approach that considers the commonalities and variations in the model selection process. The approach's applicability is illustrated by an experimental case study based on the Scikit-Learn heuristics, in which existing model selections presented in the literature are compared with selections suggested by the approach. The proposed approach can be seen as a step towards providing a more explicit, adaptive, transparent, interpretable, and automated basis for model selection.

Variability-Aware Machine Learning Model Selection: Feature Modeling, Instantiation, and Experimental Case Study

TL;DR

The paper tackles the ad hoc nature of ML model selection by introducing a variability-aware design that uses feature diagrams and constraints to model factors affecting algorithm choice. It outlines a five-phase method—identify variabilities, instantiate heuristics, design experiments, select modeling techniques, and evaluate results—and demonstrates it with a Scikit-Learn-based case study on heart-failure survival prediction. The experimental results show the approach can yield competitive or superior performance (e.g., LinearSVC with favorable F1, MCC, and balanced accuracy) while providing a transparent rationale for selection. This work advances design-time support for algorithm selection and points to future expansions in heuristic coverage, additional case studies, and broader automation to enable configurable ML software product lines.

Abstract

The emergence of machine learning (ML) has led to a transformative shift in software techniques and guidelines for building software applications that support data analysis process activities such as data ingestion, modeling, and deployment. Specifically, this shift is impacting ML model selection, which is one of the key phases in this process. There have been several advances in model selection from the standpoint of core ML methods, including basic probability measures and resampling methods. However, from a software engineering perspective, this selection is still an ad hoc and informal process, is not supported by a design approach and representation formalism that explicitly captures the selection process and can not support the specification of existing model selection procedures. The selection adapts to a variety of contextual factors that affect the model selection, such as data characteristics, number of features, prediction type, and their intricate dependencies. Further, it does not provide an explanation for selecting a model and does not consider the contextual factors and their interdependencies when selecting a technique. Although the current literature provides a wide variety of ML techniques and algorithms, there is a lack of design approaches to support algorithm selection. In this paper, we present a variability-aware ML algorithm selection approach that considers the commonalities and variations in the model selection process. The approach's applicability is illustrated by an experimental case study based on the Scikit-Learn heuristics, in which existing model selections presented in the literature are compared with selections suggested by the approach. The proposed approach can be seen as a step towards providing a more explicit, adaptive, transparent, interpretable, and automated basis for model selection.
Paper Structure (32 sections, 8 figures, 1 table)

This paper contains 32 sections, 8 figures, 1 table.

Figures (8)

  • Figure 1: Variability-aware ML algorithm selection approach.
  • Figure 2: Feature diagram for ML modeling technique selection.
  • Figure 3: Feature diagram for ML modeling assumptions.
  • Figure 4: Scikit-Learn flowchart for selecting a machine learning algorithm.
  • Figure 5: Feature diagram of the instance of a ML algorithm selection from Scikit-Learn.
  • ...and 3 more figures