post by Jimiama Mafeni Mase (2018 cohort)
EFI: A Toolbox for Feature Importance Fusion and Interpretation in Python
Divish Rengasamy (a PhD candidate with the Institute for Aerospace Technology at the University of Nottingham, who recently passed his viva) and Dr. Grazziela Figueredo (my supervisor) published a manuscript to Applied Sciences. Their manuscript proposed a solution to address the lack of agreement among feature importance techniques regarding how they quantify the importance of features to machine learning predictions. Their solution combined the results from multiple feature importance quantifiers to reduce the variance in estimates and to improve the quality of explanations using crisp information fusion techniques, such as mean and majority vote. A few months later, Grazziela scheduled a meeting to discuss opportunities to improve their solution using a fuzzy logic system (FLS), which is one of the main approaches in my PhD due to its capability to capture and model uncertainties and ambiguity in information. Divish, Dr. Mercedes Torres Torres (who was my second supervisor at that time, but now works for B-Hive Innovations at Lincoln) and I attended the meeting. In the meeting, Divish went through their proposed solution and together we identified some limitations i.e., significant loss of information as their approach reduced several quantifiers to crisp outputs and difficulty to understand the representation of `importance’ as continuous values (also known as importance coefficients). Next, I described the potential benefits of FLSs, such as using human-understandable linguistic terms to define concepts and using fuzzy sets and rules to handle ambiguous information. They loved the idea and provided synthetic data for experiments.
After obtaining the results from the experiments, we observed that FLSs outperformed the previous solution proposed by Divish in capturing increased variation of feature importance caused by increased data dimensionality, complexity and noise. However, the previous solution still showed remarkable performance in situations with less noise and less variability in the importance of features produced by the multiple machine learning models and feature importance techniques. It was at this point that we decided to develop an open-source Python toolbox called Ensemble Feature Importance (EFI) consisting of the two solutions i.e., crisp information fusion and FLS. However, we needed an expert in software modularity and testing to handle the development of the toolbox. Fortunately, Aayush Kumar (a software data scientist), who was doing a master’s in data science at the University of Nottingham, agreed to come on board as the developer of the toolbox. Aayush implemented the toolbox in Python programming language as his master’s dissertation. The toolbox consists of packages to automatically optimise ML algorithms, calculate and visualise the importance of features using various feature importance techniques, aggregate the importance of features from multiple ensemble methods, and create fuzzy logic systems for capturing uncertainties and interpreting importance. The audience for the toolbox is machine learning researchers, end-users of machine learning systems, and decision-makers. After developing and testing the toolbox, we approached Professor David Winkler (a Professor of Biochemistry & Chemistry at La Trobe University, Professor of Pharmacy at the University of Nottingham, and Professor of Medicinal Chemistry at Monash University) to assist in the theoretical motivation of the solutions and as a second pair of eyes in reviewing the paper.
The paper was written in two weeks and the team was divided into two groups. The first group was made up of Divish, Grazziella and I, who developed the paper structure and decided on the content. We used `Overleaf’, an open-source online collaborative platform for writing and editing documents, to write the paper. The second group was made up of Mercedes, Benjamin Rothwell (Divish’s supervisor) and David, who reviewed and proofread the paper. Comments were made in ‘Overleaf’ using color-coding and the platform’s chat functionality. After several iterations, we all agreed the paper was ready for submission. A month after submission, we received an email titled ‘Final Decision: Notification of Paper’ with delightful content that our paper had been accepted for presentation at the conference. It was indeed a pleasant message because we were aware of the importance of our toolbox to the machine-learning community. There were a few comments from the reviewers. We were required to address all the comments before uploading a camera-ready version of the paper with a maximum of 15 pages including references. I quickly created a google word document for addressing the comments and shared the link with the other authors. We dedicated a week to addressing the comments, as they were minor. Divish and I did a majority of the revision, as we were more familiar with the methodologies. The most recent version of the toolbox is limited to classification tasks; however, we plan to extend the toolbox to deal with regression tasks. In addition, the toolbox is open-source (i.e., accessible to the public for review, modification and extension) and we encourage other researchers and ML engineers to contribute to its growth, such as improving the structure of the toolbox, implementing additional state-of-the-art ML algorithms and implementing other feature importance techniques.
Finally, I will like to mention the role of this paper in my PhD. To recap, my PhD aims to develop a reliable, comprehensive and interpretable intelligent driving risk assessment system that considers the simultaneous occurrence of driving behaviours and external conditions. The fuzzy approach implemented in the toolbox for aggregating importance coefficients from multiple machine learning models and feature importance techniques, and to make the importance of features easily understandable has also been explored in my thesis. In my thesis, we explore FLSs for capturing uncertainties in driving data and providing meaningful representations of driving behaviours as linguistic terms using fuzzy sets. In addition, we explore human-understandable fuzzy rules to combine the impact of driving behaviours and external conditions on road safety and incorporate expert knowledge into the system.