This project focuses on automated spine abnormality detection, classifying individuals as "normal" or "abnormal" based on physical spine details using Artificial Neural Networks (ANN). It seeks to provide a tool for identifying potential lower back pain risks, helping healthcare professionals in early diagnosis and treatment planning.
Lower back pain is a common condition that can arise from various spinal issues such as nerve irritation, muscle strain, disc degeneration, or damage to bones and ligaments. This project uses a dataset that includes physical spine details to help identify potential causes of lower back pain and classify individuals based on their risk levels.
By utilizing an ANN-based model, this project aims to improve the accuracy of diagnosing spine-related issues and enhance early intervention, supporting healthcare professionals in making informed decisions.
The dataset used for this project is the dataset_spine.csv
dataset, available on Kaggle: Spine Abnormality Detection Dataset. It contains 310 observations along with 13 attributes (12 numeric predictors and 1 non-demographic binary class attribute) to predict whether a person is "Normal" or "Abnormal".
Artificial Neural Networks (ANNs) are a class of machine learning models inspired by the structure and function of the human brain. They are composed of layers of nodes (neurons) that process input data and learn from it through training.
Basic Structure of an ANN:
Input layer: Accepts the features from the dataset (in this case, physical spine data).
Hidden layers: Multiple layers of neurons that apply activation functions (e.g., Softmax, ReLU, Sigmoid) and learn patterns from the input data.
Output layer: Provides the final prediction (in this case, binary classification such as "Normal" vs "Abnormal")
How ANN Works:
- Forward Propagation: The input data is passed through the network, and each neuron in the layers computes a weighted sum of the inputs and applies an activation function to produce an output.
- Loss Calculation: The model's predictions are compared to the actual values (true labels), and a loss function measures the error.
- Backpropagation: The error is propagated backward through the network, adjusting the weights of the neurons to minimize the loss.
- Optimization: This process is repeated iteratively using optimization techniques (like Gradient Descent) to improve the model's accuracy over time.
ANNs are particularly effective for pattern recognition tasks like image recognition, speech processing, and, as in this case, classification tasks based on structured data.
dataset_spine.csv
dataset from this repository and load it.To run this project, ensure you have the following dependencies installed:
Python 3.x
pandas
numpy
scikit-learn
tensorflow
(for ANN model)
matplotlib
(for visualization)