This project leverages Machine Learning techniques to detect and classify asteroids based on their trajectory, size, and velocity. The goal is to identify Potentially Hazardous Asteroids (PHAs) that could pose a threat to Earth, thereby aiding in Near-Earth Object (NEO) detection and planetary defense.
- Introduction
- Dataset
- Data Preprocessing
- Exploratory Data Analysis (EDA)
- Machine Learning Models
- Model Evaluation
- Usage
Asteroids that come close to Earth, known as Near-Earth Objects (NEOs), can pose significant threats depending on their size and trajectory. This project aims to classify such asteroids as "Threat" or "No Threat" using supervised Machine Learning models. By analyzing various features of asteroids, we can predict their potential hazard level and take necessary precautions.
The dataset used in this project is obtained from Kaggle and contains information about various asteroids, including their orbital parameters and physical characteristics.
- Source: Asteroid Dataset on Kaggle
Data preprocessing steps include:
- Handling missing values
- Encoding categorical variables
- Normalizing numerical features
- Splitting the data into training and testing sets
EDA involves visualizing and understanding the distribution of data features, relationships between variables, and identifying any anomalies or patterns that could influence the model's performance.
Several supervised learning algorithms were employed:
- Logistic Regression: A linear model for binary classification.
- Decision Tree Classifier: A non-linear model that splits data based on feature values.
- Random Forest Classifier: An ensemble of decision trees to improve accuracy and control over-fitting.
- K-Nearest Neighbors (KNN): A non-parametric method that classifies based on the majority class among the k-nearest neighbors.
Hyperparameter tuning was performed using Grid Search Cross-Validation to optimize model performance.
Models were evaluated based on metrics such as accuracy, precision, recall, and F1-score. The Random Forest Classifier emerged as the best-performing model with the highest accuracy and balanced precision-recall scores.
To run the project locally:
- Clone the repository:
git clone https://github.com/TALAPANENIVARSHITHCHOWDARY/Asteroid-Detection-ML.git
- Navigate to the project directory:
cd Asteroid-Detection-ML
- Run the Jupyter Notebook:
jupyter notebook Asteroid_Threat_Detection.ipynb