Sunday, July 23, 2023

DATA SCIENCE WORKSHOP: Parkinson CLASSIFICATION AND PREDICTION Using Machine Learning and Deep Learning with Python GUI --- SECOND EDITION (VIVIAN SIAHAAN)

 Dataset

Google Play Book

Amazon KDP

Amazon Paperback

Kobo Store


In this data science workshop focused on Parkinson's disease classification and prediction, we begin by exploring the dataset containing features relevant to the disease. We perform data exploration to understand the structure of the dataset, check for missing values, and gain insights into the distribution of features. Visualizations are used to analyze the distribution of features and their relationship with the target variable, which is whether an individual has Parkinson's disease or not.


After data exploration, we preprocess the dataset to prepare it for machine learning models. This involves handling missing values, scaling numerical features, and encoding categorical variables if necessary. We ensure that the dataset is split into training and testing sets to evaluate model performance effectively.


With the preprocessed dataset, we move on to the classification task. Using various machine learning algorithms such as Logistic Regression, K-Nearest Neighbors, Decision Trees, Random Forests, Gradient Boosting, Naive Bayes, Adaboost, Extreme Gradient Boosting, Light Gradient Boosting, and Multi-Layer Perceptron (MLP), we train multiple models on the training data. To optimize the hyperparameters of these models, we utilize Grid Search, a technique to exhaustively search for the best combination of hyperparameters.


For each machine learning model, we evaluate their performance on the test set using various metrics such as accuracy, precision, recall, and F1-score. These metrics help us understand the model's ability to correctly classify individuals with and without Parkinson's disease.


Next, we delve into building an Artificial Neural Network (ANN) for Parkinson's disease prediction. The ANN architecture is designed with input, hidden, and output layers. We utilize the TensorFlow library to construct the neural network with appropriate activation functions, dropout layers, and optimizers. The ANN is trained on the preprocessed data for a fixed number of epochs, and we monitor its training and validation loss and accuracy to ensure proper training. After training the ANN, we evaluate its performance using the same metrics as the machine learning models, comparing its accuracy, precision, recall, and F1-score against the previous models. This comparison helps us understand the benefits and limitations of using deep learning for Parkinson's disease prediction.


To provide a user-friendly interface for the classification and prediction process, we design a Python GUI using PyQt. The GUI allows users to load their own dataset, choose data preprocessing options, select machine learning classifiers, train models, and predict using the ANN. The GUI provides visualizations of the data distribution, model performance, and prediction results for better understanding and decision-making.


In the GUI, users have the option to choose different data preprocessing techniques, such as raw data, normalization, and standardization, to observe how these techniques impact model performance. The choice of classifiers is also available, allowing users to compare different models and select the one that suits their needs best. Throughout the workshop, we emphasize the importance of proper evaluation metrics and the significance of choosing the right model for Parkinson's disease classification and prediction. We highlight the strengths and weaknesses of each model, enabling users to make informed decisions based on their specific requirements and data characteristics.


Overall, this data science workshop provides participants with a comprehensive understanding of Parkinson's disease classification and prediction using machine learning and deep learning techniques. Participants gain hands-on experience in data preprocessing, model training, hyperparameter tuning, and designing a user-friendly GUI for efficient and effective data analysis and prediction.































No comments:

Post a Comment