Next Article in Journal
A Software-Defined Networking-Based Computing-Aware Routing Path Selection Method
Previous Article in Journal
Deployable Machine Learning on MIMIC-IV: Leakage-Safe Prediction and Calibration for Incident Diabetes
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Feature Selection Using Intelligent Agents for Time Improvement in Medical Diagnosis Systems

by
Maria Viorela Muntean
*,
Andreea Florina Hîrceagă
and
Matei Vasile Căpîlnaș
Department of Informatics, Mathematics and Electronics, 1 Decembrie 1918 University of Alba Iulia, 510009 Alba Iulia, Romania
*
Author to whom correspondence should be addressed.
Electronics 2025, 14(22), 4419; https://doi.org/10.3390/electronics14224419
Submission received: 5 October 2025 / Revised: 6 November 2025 / Accepted: 7 November 2025 / Published: 13 November 2025
(This article belongs to the Section Artificial Intelligence)

Abstract

Feature selection is an important task in medical applications, given that the dimensionality and numerosity of such datasets are very high. In these cases, the time parameter also becomes important, along with classification accuracy, in estimating the performance of a learning model. This approach proposes intelligent agent teams that are capable of automatically discovering the best time to build models while keeping the general accuracy at the highest levels. For computing attributes’ relevance for the classification process, several techniques were used: Wrapper Evaluation, Information Gain, gain ratio, correlation, and Relief Attribute Evaluator. One of our contributions is the Threshold Agent, which evaluates the attributes as class attributes and considers the relevance of the attributes returned by the Wrapper method. This agent selects the strongest attributes (above a threshold value) and returns a subset that is learnt by the next attribute evaluation method within the Feature Selection Agent. The proposed agents discovered that an optimum subset composed of 20 attributes (out of 133 attributes of the initial dataset) leads to accuracy rates equal to the ones registered on the entire dataset, meaning 98%, using the Naive Bayes learning model, while improving the time taken to build the model from 0.1 s to 0.03 s. For the proposed dataset, Naïve Bayes outperformed other classification techniques, such as J48, Random Forest, and Dl4MlpClassifier. The proposed agents also integrated the best discovered model into a chatbot that performs medical diagnoses based on the symptoms collected from users.

1. Introduction

It is well known that medical datasets have many features, and learning such data is often time consuming. To deal with this issue, different approaches based on feature selection are proposed.
Ref. [1] proposes the development of an efficient feature selection methodology tailored for stress detection using chest electrodermal activity (EDA) signals. By employing this feature selection technique, this study aims to enhance the performance of the stacking ensemble model, ensuring that the most relevant features are utilized for accurate stress classification. This approach not only improves the model’s accuracy but also reduces computational complexity, making it more suitable for real-time applications in wearable devices.
The study [2] introduces a hybrid feature selection approach that combines both filter and Wrapper methods to identify the most relevant clinical features for diabetes prediction. Initially, statistical measures such as correlation coefficients are employed to eliminate irrelevant and redundant features. Subsequently, a Wrapper-based method using a Genetic Algorithm (GA) is applied to select an optimal subset of features that enhances the performance of the machine learning classifiers. This two-tiered feature selection strategy effectively reduces the dimensionality of the dataset, mitigates the risk of overfitting, and improves the predictive accuracy of the models.
In the paper [3], the authors propose the integration of explainable AI methods to discern and validate the most relevant features (biomarkers) for NAFLD diagnosis. By employing ensemble machine learning models alongside XAI tools, the system not only achieves high diagnostic accuracy (over 95%) but also provides transparency in its decision-making process. This approach facilitates the identification of critical clinical attributes, enhancing the interpretability and trustworthiness of the AI system in a medical context.
Ref. [4] proposes the development of an embedded feature selection method that synergistically combines filter and Wrapper techniques. This hybrid approach aims to balance computational efficiency with predictive accuracy, addressing the challenges posed by high-dimensional clinical datasets.
The paper [5] introduces a novel metaheuristic algorithm, the Memory-Based Sand Cat Swarm Optimizer (MSCSO), specifically designed to enhance feature selection processes in medical diagnostic applications. By employing a Wrapper methodology, the algorithm evaluates subsets of features based on the performance of a specific classifier, ensuring that the selected features contribute significantly to the model’s predictive accuracy.
The SOFIA method proposed in [6] is applied to various medical datasets, demonstrating its effectiveness in reducing dimensionality while maintaining or enhancing classification accuracy. This is particularly beneficial in medical diagnostics, where datasets often contain numerous features, some of which may be irrelevant or redundant.
The article [7] investigates the significance of selecting relevant features from high-dimensional medical datasets to enhance the performance of machine learning models in diagnosing heart disease. The findings indicate that even with a reduced number of features, the performance of classification models improved notably, including enhanced accuracy and reduced training time, compared to models trained on the full feature set.
Other medical applications [8] focus on developing a non-contact, rapid, and reliable method for detecting elevated body temperature in elderly individuals—a critical indicator of potential viral infections. This study utilizes thermal imaging and Deep Learning techniques to enhance early detection capabilities in healthcare settings.
Generative AI (GAI) chatbots [9] are also used in various domains, including the medical domain, where some studies introduce novel decision-making frameworks designed to assist organizations.
In previous studies [10,11], we proposed that multi-agent systems manage various machine learning tasks—from data preprocessing and labeling to model selection and evaluation—by delegating them to specialized agents.
Other studies use multi-agent systems for the evaluation of a portable, intelligent device designed to assess and treat Cervical Motor Control (CMC) impairments [12] or to integrate physical activity with interactive learning to enhance motor and cognitive development among school and high school students [13].
To automatically find the optimal subset for learning medical data, we propose a multi-agent system that integrates feature selection and classification tasks. In the preprocessing stage, a Feature Selection Agent communicates with three subagents, namely the Attribute Evaluator Subagent, Search Method Subagent, and Threshold Subagent, to find the optimum feature subset for keeping the accuracy at high value rates while automatically finding the best time for building models. The optimum learning model, returned by a Classification Agent, with two subagents (Model Selection Agent and Model Performance Subagent), is integrated into a chatbot system and proves its confidence for medical diagnosis. The proposed model is trained on binary data (indicating the presence or absence of each known symptom in the user’s list), and the next step will be testing models on text data, as performed in the research described in [14].

2. Materials and Methods

2.1. Intelligent Agents Based on Feature Selection for Time Improvement

The proposed system architecture is suitable for time improvement in learning medical data. The system is composed of two main agents and five subagents, with specific tasks (Figure 1). The proposed agents and subagents were implemented using the Weka data mining tool, version 3.9.6 [15,16] and Jade platform, version 4.6.0 [17].
The proposed agents collaborate to automate the process of finding the best subset and the best model for medical applications. Agent behaviors are presented below.
Feature Selection Agent:
  • Loads the initial medical dataset;
  • Applies different evaluation methods to compute the relevance of an attribute (InfoGain, GainRation, correlation, RelieF);
  • Finds the optimum subset in terms of accuracy and time taken to build models (using the Ranker search method);
  • Sends the reduced dataset to the Classification Agent.
Classification Agent:
  • Receives the reduced dataset from the Feature Selection Agent;
  • Finds the best model and the best model configuration;
  • Sends the final model to the chatbot to be used for medical diagnosis.
The proposed system contains five subagents for time and model performance improvement. Their specific behaviors are described below.
Attribute Evaluator Subagent:
  • Applies Wrapper Subset Evaluation method to compute the relevance of an attribute.
Search Method Subagent:
  • Uses search method (GreedyStepwise) for finding the relevant features that will be included in a specific subset of data.
Threshold Subagent:
  • Divides the attributes into strong attributes and weak attributes;
  • Evaluates each attribute as a class attribute;
  • Applies different threshold values to decide if the attribute is relevant and will be kept in the subset;
  • Deletes the weak attributes (below the threshold value).
Model Selection Subagent:
  • Learns the medical data with different models (Decision Trees, Naïve Bayes, Deep Learning);
  • Chooses the best model considering the model performance in terms of accuracy and time.
Model Performance Subagent:
  • Finds the best model configuration;
  • Send the optimum model to the system’s chatbot to be used in medical diagnosis.
For selecting the best model, the autonomous subagents collaborate to find an optimum subset of attributes with the best classification time values, while the general accuracy is kept at its initial rate, or it is even improved. The first agent’s task (Attribute Evaluator Subagent) is to evaluate the dataset with different Attribute Evaluators (InfoGainAttributeEval, GainRatioAttributeEval, CorrelationAttributeEval, ReliefFAttributeEval) to determine the importance of each attribute for the classification process. The second agent (Search Method Subagent) uses different search methods (BestFirst, GreedyStepwise, Ranker) to decide which of the discovered subsets of attributes best classifies (in terms of time and accuracy) the dataset. The third agent (Threshold Subagent) performs a final refinement of the optimal subset as proposed in [18] by eliminating the attributes that have an importance score below a threshold. One of this paper’s contributions is that the proposed Threshold Subagent divides the attributes into strong attributes and weak attributes, evaluates each attribute as a class attribute, and deletes the weak attributes. The preprocessing stage is monitored by the Feature Selection Agent, which collects messages from its subagent team, performs the final feature selection, and sends the optimum discovered feature subset to the classification module.
The proposed Feature Selection Agent behavior is described within the following procedure:
Feature Selection Agent
  • Behavior Attribute Selection
  • load the dataset
  • receive inform messages from the Threshold Subagent
  • declare and instantiate a new InfoGain attribute selector
  • declare and instantiate a new NaiveBayes classifier
  • declare and instantiate the AttributeSelection object
  • select the optimum discovered subset of attributes
  • save the reduced dataset considering the threshold value
  • send the inform message and reduced dataset to the Classification Agent
The Threshold Subagent has a key role in the learning process due to its capabilities of evaluating the attributes and establishing the threshold value for their importance in the learning process:
Threshold Subagent
  • Behavior Optimum Subset
  • load the dataset
  • receive inform messages from the Search Method Subagent
  • declare and instantiate a new GreedyStepwise() search method
  • declare and instantiate a new WrapperSubsetEval() evaluator
  • declare and instantiate a new NaiveBayes classifier
  • declare and instantiate the AttributeSelection object
  • set the evaluator of AttributeSelection
  • set the search method of AttributeSelection
  • divide the attributes into strong attributes and weak attributes considering a threshold value
  • evaluate each attribute as a class
  • delete the weak attributes
  • select the optimum discovered subset of attributes
  • send inform message to the Feature Selection Agent
The classification module uses different classification models to learn the data (Model Selection Subagent) to decide which is the most suitable one for the considered dataset. For the previously chosen model, the Model Performance Subagent performs the classification task using different parameter values to find the optimum model configuration. The final model (trained and tested on the entire dataset) is sent to the Classification Agent and used for predicting diseases for new registered patients.
As a remark, the proposed system optimizes the entire process (from preprocessing to the classification stage) without any human support, being suitable for real-time diagnoses of different diseases. Distributing the tasks among them leads to improvements in the learning process, because depending on the dataset, the systems will execute only the tasks that are applicable. The preprocessing and classification results, together with the dataset description for the medical domain, are presented in Section 4.

2.2. Medical Diagnosis System Using the Best Discovered Learning Model

The proposed system contains a chatbot that was built using the Rasa framework, version 3.6.21 [19], and it was designed to interact with users in a medical context. This framework recognizes the users’ intents and extracts the entities from their messages. For each intent, several examples of possible expressions are defined, which are used to train the Natural Language Processing model to recognize those intentions in real conversations. Also, symptom entities are defined, which allow the extraction of symptoms from the users’ messages, along with synonyms for normalizing terms.
The patient sends the symptoms use case (Figure A1):
  • The user sends the symptoms via POST/webhook;
  • The Flask Server forwards the POST/webhook/rest to the Rasa Server;
  • Rasa Server runs action_provide_diagnosis_and_suggest:
    Checks if the symptom is valid.
    If it is valid, add it to the list and suggest other symptoms.
    Otherwise, it returns a message that the symptom has not been recognized.
  • A JSON response is sent to the website with the symptoms and symptom suggestions.
The patient says he has no symptoms use case (Figure A1):
  • The user sends the message “No, I don’t have any symptoms” via POST/webhook.
  • A new POST/webhook/rest call is made to the Rasa Server.
  • action_provide_diagnosis shall be executed, that
    Sends the data to the model for prediction.
    Gets a diagnosis.
    Replies with a JSON message containing the diagnostic results.
Conversational rules were defined, meaning the steps that the bot follows when it identifies a specific intent. For example, if the user greets the bot, it will respond with a welcome message. If the user declares that they are sick, the bot will ask for details about the symptoms. If symptoms are mentioned, a personalized action is triggered, which has the role of analyzing the symptoms and providing a relevant suggestion or a possible diagnosis.
The classification model obtained in the previous stage is trained to allow the chatbot to predict a diagnosis based on user-reported symptoms. The main goal is to interpret the symptoms expressed in natural language, to correlate them with a database of known symptoms stored in a MySQL database management system, version 8.0.41 [20], and to predict a medical diagnosis using the previously trained model (Figure A1).
In this project, the key components of the conversational assistant developed with Rasa were extended and configured, with a focus on detecting symptoms and adapting the conversation according to the users’ state (Figure A2).
If the user enters symptoms exactly as they appear in the database (for example: headache, vomiting, abdominal pain) and synonyms written as in the system file, the system recognizes them immediately and with high confidence. In this case, the text is converted to a standard format (lowercase letters, without diacritics); it checks if the symptom name (e.g., abdominal pain) exists as a column name in the dataset; if it exists, the symptom is added directly to the list of recognized symptoms; no fuzzy matching required.
If the user enters symptoms and synonyms in another form (typographical errors, e.g., “skin ras” instead of “skin rash” and “no apetite” instead of “no appetite”), the chatbot uses a fuzzy matching mechanism to interpret them correctly.
If a symptom is entered by the user in a slightly wrong form but similar to the name in the database, it is directly compared to the column names from the database. If the fuzzy matched score exceeds the threshold of 80, the symptom is considered valid and is added to the list of recognized symptoms.
Conversely, if the user enters a misspelled synonym compared to the thesaurus format, it is compared to the list of synonyms defined in the synonym mapping structure. If the fuzzy matched score between the entered synonym and a known synonym is greater than 85, then the system maps it to the primary symptom associated with that synonym. This symptom is then added to the final list of symptoms that will be used for suggestions or diagnoses.
When collecting data from the user, the system constructs a binary vector (with 0 and 1), indicating the presence or absence of each known symptom in the user’s list. This vector is transmitted to the Naïve Bayes model to predict the diagnosis. The model returns both the prediction and its probability, which allows it to include a confidence value in the final answer. The message sent by the bot contains the predicted diagnosis, the list of symptoms on which the prediction was based, and the confidence level of the model.
In the Natural Language Understanding Model, the intentions of user sick, user alright, and symptoms mentioned have been defined and completed, aimed at capturing the state of health expressed by the user. The intention of symptoms mentioned has been significantly expanded, including many examples covering a wide range of symptoms, each appropriately labeled with the symptom entity. Also, several synonyms for symptoms have been implemented, making it easier to recognize them.
Regarding the conversational rules, these have been defined for automatic replies to frequent intents. Specific rules have been introduced for managing symptoms and user status, as well as for triggering custom actions (e.g., action provides diagnosis and action provides diagnosis and suggestion).
The conversational domain was modeled, so the symptom entity has been defined and associated with two slots (symptoms and suggested symptoms) to allow the collection and processing of received symptoms. In the proposed system, several relevant responses were added to basic medical and interaction scenarios, and the personalized actions needed to process symptoms and provide an appropriate response have been integrated into the conversational logic.

3. Experimental Results

The Symptom-Disease Prediction Dataset used for validating the proposed systems was published in 2024 and was obtained from [21] and stores a collection of symptoms for various diseases. The data was collected from the reputable medical literature, clinical observations, and expert consensus, and many attributes can also be collected from sensors in real-time applications.

3.1. Symptom–Disease Prediction Dataset Description

A sample of initially collected data is presented in Figure 2. The dataset contains 133 attributes and 4961 instances. The attributes’ values can be 1 or 0, meaning the symptom is present or absent.
The class attribute can have one of the following 41 values: Acne, Urinary Tract Infection, Psoriasis, Impetigo, Fungal Infection, Allergy, GERD, Chronic Cholestasis, Drug Reaction, Peptic Ulcer Disease, AIDS, Diabetes, Gastroenteritis, Bronchial Asthma, Hypertension, Migraine, Cervical Spondylosis, Paralysis (brain hemorrhage), Jaundice, Malaria, Chickenpox, Dengue, Typhoid, Hepatitis A, Hepatitis B, Hepatitis C, Hepatitis D, Hepatitis E, Alcoholic Hepatitis, Tuberculosis, Common Cold, Pneumonia, Dimorphic Hemmorhoids (piles), Heart Attack, Varicose Veins, Hypothyroidism, Hyperthyroidism, Hypoglycemia, Osteoarthritis, Arthritis, Vertigo.

3.2. Feature Selection and Classification

For feature selection and classification, the Weka Machine Learning Tool, version 3.9.6 was used [15,16].
In the dataset preprocessing stage, we used feature selection methods to reduce the size of the dataset and keep only the attributes relevant to the classification process. By using a heatmap, we observed that the attributes are correlated and that we can use a subset of attributes to predict the diagnostics (Figure 3).
The first feature selection stage was performed by the Threshold Subagent, using the following parameters:
  • Attribute subset evaluator (supervised, class: 133 prognosis): Wrapper Subset Evaluator;
  • Learning scheme: NaiveBayes;
  • Subset evaluation: classification accuracy;
  • Number of folds for accuracy estimation: 5;
  • Search method: GreedyStepwise (forward);
  • Start set: no attributes;
  • Merit of best subsets found: 1;
  • Validation method: 10-fold cross-validation (stratified);
  • Seed: 1.
The Wrapper Feature Selection method discovered the best subset, containing 39 attributes, and computed the importance for each attribute. Taking into account the relationship between attributes after evaluating them as class attributes, and the best discovered threshold regarding attributes’ relevance, the proposed method labeled them as strong and weak attributes; see Table 1.
The next step performed by the Threshold Subagent was to remove the weak attributes, resulting in a dataset composed of 23 attributes as follows: itching, skin_rash, cough, chills, joint_pain, vomiting, dark_urine, fatigue, high_fever, yellowing_of_eyes, sweating, excessive_hunger, headache, yellowish_skin, nausea, loss_of_appetite, abdominal_pain, diarrhoea, malaise, chest_pain, dizziness, loss_of_balance, prognosis. The best dataset discovered at this stage was sent to the Feature Selection Agent. Within this agent, several Attribute Evaluators were applied: InfoGainAttributeEval (computes the Information Gain related to the class attribute for a certain attribute) [16], GainRatioAttributeEval (evaluates the importance of an attribute by computing its gain ratio related to the class attribute) [16], CorrelationAttributeEval (measures the Pearson’s correlation between an attribute and the class attribute to establish the attribute’s importance) [16], ReliefFAttributeEval (measures the importance of an attribute by repeatedly selecting instances and examining the attribute’s value in the nearest neighbors belonging to the same and different classes) [22,23]. The attributes are selected according to their importance (ranging from 0 to 1), and the attributes that are above a specified threshold are selected for the optimal subset.
The classification methods used as base classifiers were J48, RandomForest, NaiveBayes, and Dl4MlpClassifier, from Weka, version 3.9.6. For all of them, we used the Ranker search method, testing various values for the threshold parameter to determine the optimal threshold for selecting attributes.
The results showed that InfoGainAttributeEval performed the best attribute evaluation, and the optimal value for the threshold was equal to 0.02, as seen in Table 2.
The importance of each attribute that was included in the optimum subset is presented in Figure 4 (Ranker search method, InfoGain evaluator).
The 20 most relevant attributes discovered by the Feature Selection Agent were as follows: fatigue (persistent tiredness or lack of energy), vomiting (forceful expulsion of stomach contents through the mouth), high_fever (elevated body temperature), headache (pain or discomfort in the head), loss_of_appetite (decreased desire to eat), nausea (sensation of needing to vomit), abdominal_pain (pain or discomfort in the abdominal area), yellowish_skin (yellow discoloration of the skin), skin_rash (visible skin eruptions or discoloration), chills (the sensation of shivering), yellowing_of_eyes (yellow discoloration of the eyes), joint_pain (pain in joints), sweating (excessive or abnormal perspiration), itching (itchy sensation on the skin), malaise (general feeling of discomfort), chest_pain (pain or pressure in the chest area), cough (respiratory reflex of expelling air from the lungs), diarrhoea (frequent watery bowel movements), dark_urine (urine that appears darker than normal), excessive_hunger (increased appetite or frequent feeling of hunger).
A sample of preprocessed data is presented in Figure 5.
In the classification stage, performed by the Model Selection Subagent, the initial and reduced dataset was learned by different classifiers (J48, RandomForest, NaiveBayes, Dl4MlpClassifier) to decide which is the best model for the considered data and to highlight the time improvement in the reduced data.
In the case of the Random Forest and Deep Learning neural network (Dl4MlpClassifier) classifiers, the preprocessed set significantly improved the testing accuracy, increasing it from 95% to 98%. Naive Bayes maintained a high and stable accuracy of 98%. Only in the case of the Decision Tree (J48) was a slight decrease in performance registered on the testing dataset (from 95% to 93%), but it remains an acceptable value (Table 3, Figure 6). For testing the models, a 20% split percentage method was used, meaning that 80% of instances (3969 patients) were used to train the models, and the remaining 20% of instances (992 patients) were used to test the discovered models.
Preprocessing the dataset by feature selection (first Wrapper Selection and then Information Gain with a threshold equal to 0.02) did not negatively affect the performance of the models. On the contrary, in some cases, it increased the accuracy rates in the testing phase, which suggests better generalization and reduced overfitting. The preprocessed dataset is therefore more efficient than the initial dataset. A Naïve Bayes classifier was chosen to be integrated into the proposed application because the model achieved an accuracy of 98% on the test set, demonstrating better generalization on the new data. Also, the model based on Naive Bayes was built in 0.03 s, making it the best performing model (Table 4, Figure 7).

3.3. Testing the Chatbot-Based Naïve Bayes Classifier

To implement the proposed system, the Rasa framework was used [19].
Communication between the chat interface and the Rasa model is performed through a webhook defined in Flask [24], which sends the user’s messages to Rasa and displays their responses in the chat (Figure 8 and Figure 9). Thus, every interaction with the chatbot is associated with the authenticated account. Webhook flow:
  • The user sends a message in the interface.
  • The JavaScript in the index.html makes a POST to/webhook with the message.
  • Flask takes the message and sends it to Rasa.
  • Rasa analyzes the message and executes actions.
  • Rasa sends a response (JSON) to Flask.
  • Flask returns the response to the frontend.
  • The frontend displays it in chat as a bot message.
The main goal is to interpret symptoms expressed in natural language, correlate them with a database of known symptoms, and predict a medical diagnosis using the previously trained Naive Bayes model.

4. Discussion

In this work, we have shown that intelligent agents can perform an automation task and discovered that the time taken to build a model is equal to 0.03 s in the case of the Naïve Bayes classifier, while keeping the general accuracy at 98% (as also discovered in other studies on the same data [25,26]). In our study, the optimum feature set was discovered using the Information Gain evaluation method and Ranker search method, with a threshold of selecting attributes equal to 0.02. The reduced dataset contained 20 relevant attributes out of 133 attributes of the initial dataset.
One of our contributions is the Threshold Agent, which proposes selecting only strong attributes (above a threshold value) after evaluating attributes as class attributes and considering the attributes’ importance discovered by the Wrapper Selection method, leading to an improved time for building models. For larger datasets, the time will exponentially increase, so the proposed approach will contribute to developing performant systems.
Also, distributing the tasks among the agents (finding the best evaluator, finding the best search method, finding the best threshold value, finding the best classifier) leads to improvements in the learning process due to the fact that depending on the dataset, the systems will execute only the tasks that are applicable, not the entire set of tasks, as in the non-distributed systems.
The proposed system automates the process of finding the optimum learning time while keeping the accuracy at high levels.

5. Conclusions and Future Developments

The optimum discovered model was automatically integrated into a medical diagnosis application and used by a chatbot in establishing diagnoses for different diseases. The proposed system is used by the patient for diagnosis, but the diagnosis should be taken as advice until it is validated by the doctor. On the other hand, it can serve as a support for doctors’ decisions. The doctors will be responsible for the decision-making process. The proposed system is a real-time question–answering system, aiming to empower people with a new generation of technologies and to improve their way of life. Our healthcare use case focuses on AI methods able to provide personalized medicine that will lead to more effective and individualized treatment plans.
Regarding further development, we also plan to test the Naïve Bayes model on text data, which entails considering not just the presence or the absence of a symptom but also the description of the symptoms in the training process.

Author Contributions

Conceptualization, methodology, visualization, writing—original draft, writing—review and editing, supervision, project administration, funding acquisition: M.V.M.; software, data curation: M.V.M. and A.F.H.; validation, formal analysis, investigation, resources: M.V.M. and M.V.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research received financial support from the funds for scientific research of 1 Decembrie 1918 University of Alba Iulia, Romania.

Data Availability Statement

The data presented in this study are openly available in https://data.mendeley.com/datasets/dv5z3v2xyd/1 (accessed on 19 May 2025).

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A

Figure A1. Medical diagnosis system architecture.
Figure A1. Medical diagnosis system architecture.
Electronics 14 04419 g0a1
Figure A2. The personalized chatbot architecture.
Figure A2. The personalized chatbot architecture.
Electronics 14 04419 g0a2

References

  1. Almadhor, A.; Sampedro, G.A.; Abisado, M.; Abbas, S. Efficient Feature-Selection-Based Stacking Model for Stress Detection Based on Chest Electrodermal Activity. Sensors 2023, 23, 6664. [Google Scholar] [CrossRef] [PubMed]
  2. Haq, A.U.; Li, J.P.; Khan, J.; Memon, M.H.; Nazir, S.; Ahmad, S.; Khan, G.A.; Ali, A. Intelligent Machine Learning Approach for Effective Recognition of Diabetes in E-Healthcare Using Clinical Data. Sensors 2020, 20, 2649. [Google Scholar] [CrossRef] [PubMed]
  3. Płudowski, J.; Mulawka, J. Application of Artificial Intelligence in Support of NAFLD Diagnosis. Appl. Sci. 2024, 14, 10237. [Google Scholar] [CrossRef]
  4. Alyasin, E.I.; Ata, O.; Mohammedqasim, H.; Mohammedqasem, R. Enhancing Self-Care Prediction in Children with Impairments: A Novel Framework for Addressing Imbalance and High Dimensionality. Appl. Sci. 2024, 14, 356. [Google Scholar] [CrossRef]
  5. Qtaish, A.; Albashish, D.; Braik, M.; Alshammari, M.T.; Alreshidi, A.; Alreshidi, E.J. Memory-Based Sand Cat Swarm Optimization for Feature Selection in Medical Diagnosis. Electronics 2023, 12, 2042. [Google Scholar] [CrossRef]
  6. Bravo, F.P.; García, A.A.D.B.; Russo, L.M.S.; Ayala, J.L. SOFIA: Selection of Medical Features by Induced Alterations in Numeric Labels. Electronics 2020, 9, 1492. [Google Scholar] [CrossRef]
  7. Pathan, M.S.; Nag, A.; Pathan, M.M.; Dev, S. Analyzing the Impact of Feature Selection on the Accuracy of Heart Disease Prediction. Healthc. Anal. 2022, 2, 100060. [Google Scholar] [CrossRef]
  8. Ghourabi, M.; Mourad-Chehade, F.; Chkeir, A. Eye Recognition by YOLO for Inner Canthus Temperature Detection in the Elderly Using a Transfer Learning Approach. Sensors 2023, 23, 1851. [Google Scholar] [CrossRef] [PubMed]
  9. Ilieva, G. Extension of Interval-Valued Hesitant Fermatean Fuzzy TOPSIS for Evaluating and Benchmarking of Generative AI Chatbots. Electronics 2025, 14, 555. [Google Scholar] [CrossRef]
  10. Muntean, M.V. Real-Time Detection of IoT Anomalies and Intrusion Data in Smart Cities Using Multi-Agent System. Sensors 2024, 24, 7886. [Google Scholar] [CrossRef] [PubMed]
  11. Muntean, M.V. Multi-Agent System for Intelligent Urban Traffic Management Using Wireless Sensor Networks Data. Sensors 2022, 22, 208. [Google Scholar] [CrossRef] [PubMed]
  12. Sales Mendes, A.F.; Sánchez San Blas, H.; Pérez Robledo, F.; De Paz Santana, J.F.; Villarrubia González, G. A Novel Multiagent System for Cervical Motor Control Evaluation and Individualized Therapy: Integrating Gamification and Portable Solutions. Multimed. Syst. 2024, 30, 131. [Google Scholar] [CrossRef]
  13. Sánchez San Blas, H.; Sales Mendes, A.; de la Iglesia, D.H.; Silva, L.A.; Villarrubia González, G. A Multiagent Platform for Promoting Physical Activity and Learning through Interactive Educational Games Using the Depth Camera Recognition System. Entertain. Comput. 2024, 49, 100629. [Google Scholar] [CrossRef]
  14. Chen, X.; Yi, H.; You, M.; Liu, W.; Wang, L.; Li, H.; Zhang, X.; Guo, Y.; Fan, L.; Chen, G.; et al. Enhancing diagnostic capability with multi-agents conversational large language models. npj Digit. Med. 2025, 8, 159. [Google Scholar] [CrossRef] [PubMed]
  15. The Weka Workbench. Available online: https://ml.cms.waikato.ac.nz/weka (accessed on 19 May 2025).
  16. Frank, E.; Hall, M.A.; Witten, I.H. The WEKA Workbench. Online Appendix for “Data Mining: Practical Machine Learning Tools and Techniques”, 4th ed.; Morgan Kaufmann: San Francisco, CA, USA, 2016. [Google Scholar]
  17. Java Agent DEvelopment Framework. Available online: https://jade.tilab.com/ (accessed on 19 May 2025).
  18. Muntean, M.; Vălean, H.; Joldeș, R.; Ceuca, E. Feature Selection for Classifier Accuracy Improvement; No. 26/2011; Acta Universitatis Apulensis: Alba Iulia, Romania, 2011; pp. 203–216. [Google Scholar]
  19. Rasa. Available online: https://legacy-docs-oss.rasa.com/docs/rasa/ (accessed on 19 May 2025).
  20. MySQL. Available online: https://www.mysql.com/ (accessed on 19 May 2025).
  21. Tucker, J. “SymbiPredict”, Mendeley Data, V1. 2024. Available online: https://data.mendeley.com/datasets/dv5z3v2xyd/1 (accessed on 19 May 2025).
  22. Kira, K.; Rendell, L.A. A Practical Approach to Feature Selection. In Proceedings of the Ninth International Workshop on Machine Learning, Aberdeen, UK, 1–3 July 1992; pp. 249–256. [Google Scholar]
  23. Robnik-Sikonja, M.; Kononenko, I. An adaptation of Relief for attribute estimation in regression. In Proceedings of the Fourteenth International Conference on Machine Learning, Nashville, TN, USA, 8–12 July 1997; pp. 296–304. [Google Scholar]
  24. Flask. Available online: https://flask.palletsprojects.com/en/stable/ (accessed on 19 May 2025).
  25. Mama, E.; Sheri, L.; Aperstein, Y.; Apartsin, A. From Fuzzy Speech to Medical Insight: Benchmarking LLMs on Noisy Patient Narratives. arXiv 2025, arXiv:2509.11803. [Google Scholar] [CrossRef]
  26. Ferhi, L.A.; Amar, M.B.; Masmoudi, A.; Choubani, F.; Bouallegue, R. Improving Symptom-Based Medical Diagnosis Using Ensemble Learning Approaches. Syst. Res. Behav. Sci. 2025, 42, 1294–1321. [Google Scholar]
Figure 1. Intelligent agents’ architecture.
Figure 1. Intelligent agents’ architecture.
Electronics 14 04419 g001
Figure 2. Sample of initial data.
Figure 2. Sample of initial data.
Electronics 14 04419 g002
Figure 3. The correlation heatmap.
Figure 3. The correlation heatmap.
Electronics 14 04419 g003
Figure 4. The importance of each attribute from the optimum discovered subset in the second stage of feature selection.
Figure 4. The importance of each attribute from the optimum discovered subset in the second stage of feature selection.
Electronics 14 04419 g004
Figure 5. Sample of preprocessed data.
Figure 5. Sample of preprocessed data.
Electronics 14 04419 g005
Figure 6. Accuracy on initial and reduced dataset.
Figure 6. Accuracy on initial and reduced dataset.
Electronics 14 04419 g006
Figure 7. Time taken for initial and reduced dataset.
Figure 7. Time taken for initial and reduced dataset.
Electronics 14 04419 g007
Figure 8. Chatbot for medical diagnosis based on the Naïve Bayes model (part 1).
Figure 8. Chatbot for medical diagnosis based on the Naïve Bayes model (part 1).
Electronics 14 04419 g008
Figure 9. Chatbot for medical diagnosis based on the Naïve Bayes model (part 2).
Figure 9. Chatbot for medical diagnosis based on the Naïve Bayes model (part 2).
Electronics 14 04419 g009
Table 1. First stage of feature selection results, using the proposed method.
Table 1. First stage of feature selection results, using the proposed method.
Class AttributeRelated AttributesAttribute ImportanceAttribute Label
itchingnodal_skin_eruptions100%strong
skin_rashnodal_skin_eruptions, pus_filled_pimples, skin_peeling, blister100%strong
nodal_skin_eruptions-0%weak
coughchills100%strong
chillscough, yellowish_skin, malaise100%strong
joint_painacute_liver_failure, skin_peeling100%strong
stomach_pain-0%weak
muscle_wasting-0%weak
vomitingyellowing_of_eyes, nausea, abdominal_pain100%strong
dark_urinebladder_discomfort100%strong
fatigueweight_gain, weight_loss, acute_liver_failure, malaise, cramps100%strong
weight_gain-0%weak
weight_loss-0%weak
high_feverchills, muscle_wasting, acute_liver_failure, blister100%strong
malaise90%
skin_rash, stomach_pain, fatigue, breathlessness, headache, yellowish_skin, blurred_and_distorted_vision10%
yellowing_of_eyesvomiting100%strong
breathlessness-0%weak
sweatingbreathlessness100%strong
excessive_hungerheadache100%strong
headachechills, blurred_and_distorted_vision, loss_of_balance100%strong
weight_loss70%
breathlessness, neck_pain60%
sweating, excessive_hunger, nausea, diarrhoea, stiff_neck40%
yellowish_skin30%
joint_pain20%
itching10%
yellowish_skinchills, excessive_hunger, abdominal_pain100%strong
nauseajoint_pain, yellowish_skin, loss_of_appetite100%strong
loss_of_appetitejoint_pain, yellowish_skin, nausea, mild_fever, malaise100%strong
abdominal_painyellowish_skin, acute_liver_failure100%strong
diarrhoeayellowing_of_eyes100%strong
mild_fever-0%weak
acute_liver_failure-0%weak
malaisediarrhoea, mild_fever100%strong
blurred_and_distorted_vision-0%weak
chest_painbreathlessness100%strong
neck_pain-0%weak
dizzinessvomiting, weight_gain, nausea, loss_of_balance100%strong
cramps-0%weak
muscle_weakness-0%weak
stiff_neck-0%weak
loss_of_balancefatigue, weight_gain, dizziness100%strong
bladder_discomfort-0%weak
pus_filled_pimples-0%weak
skin_peeling-0%weak
blister-0%weak
Table 2. Feature selection results in the second stage.
Table 2. Feature selection results in the second stage.
Attribute SelectorThresholdAccuracy (%)PrecisionRecallF-Score
CorrelationAttributeEval0.0987.643-0.876-
InfoGainAttributeEval0.0298.5080.9870.9850.985
ReliefFAttributeEval0.0698.5080.9870.9850.985
Table 3. Classification accuracy for different learning models.
Table 3. Classification accuracy for different learning models.
ClassifierAccuracy on Initial Dataset (ID)Accuracy on Reduced Dataset (RD)
J48 (Decision Tree)95%93%
RandomForest95%98%
NaïveBayes98%98%
Dl4MlpClassifier (Deep Learning)95%98%
Table 4. Time taken to build models.
Table 4. Time taken to build models.
ClassifierTime for Initial Dataset (ID)—SecondsTime for Reduced Dataset (RD)—Seconds
J48 (Decision Tree)0.710.08
RandomForest1.130.33
NaïveBayes0.10.03
Dl4MlpClassifier (Deep Learning)28.260.24
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Muntean, M.V.; Hîrceagă, A.F.; Căpîlnaș, M.V. Feature Selection Using Intelligent Agents for Time Improvement in Medical Diagnosis Systems. Electronics 2025, 14, 4419. https://doi.org/10.3390/electronics14224419

AMA Style

Muntean MV, Hîrceagă AF, Căpîlnaș MV. Feature Selection Using Intelligent Agents for Time Improvement in Medical Diagnosis Systems. Electronics. 2025; 14(22):4419. https://doi.org/10.3390/electronics14224419

Chicago/Turabian Style

Muntean, Maria Viorela, Andreea Florina Hîrceagă, and Matei Vasile Căpîlnaș. 2025. "Feature Selection Using Intelligent Agents for Time Improvement in Medical Diagnosis Systems" Electronics 14, no. 22: 4419. https://doi.org/10.3390/electronics14224419

APA Style

Muntean, M. V., Hîrceagă, A. F., & Căpîlnaș, M. V. (2025). Feature Selection Using Intelligent Agents for Time Improvement in Medical Diagnosis Systems. Electronics, 14(22), 4419. https://doi.org/10.3390/electronics14224419

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop