This project focuses on the identification of lensed and unlensed gravitational waves, aiming to extract comprehensive source information. Developed in collaboration with a PhD researcher from the University of Glasgow, the project explores cutting-edge techniques in astrophysics and machine learning to classify gravitational waveforms. Despite hardware limitations, the model achieved 98% accuracy, providing valuable insights into source characteristics.
The project is ongoing, with plans to enhance the accuracy further and integrate additional features.
- Classify gravitational waves into lensed and unlensed categories.
- Generate gravitational waveforms using the PyCBC Python library.
- Extract and forecast source characteristics from classified waves.
- 98% classification accuracy using a custom machine learning model.
- Successfully generated gravitational waveforms to simulate real-world conditions.
- Developed a robust methodology for feature extraction and source prediction.
- Leveraged the PyCBC library to generate realistic gravitational waveforms.
- Simulated lensed and unlensed waves for model training and testing.
- Designed a machine learning model to classify waveforms with high accuracy.
- Employed innovative techniques to overcome hardware limitations.
- Forecasted source characteristics based on classified waveforms.
- Provided insights into the origin and nature of gravitational waves.
Technology | Description |
---|---|
Python | Core programming language for development. |
PyCBC | Used for generating gravitational waveforms. |
Scikit-Learn | Machine learning model development and evaluation. |
NumPy/Pandas | Data manipulation and analysis. |
Matplotlib | Visualization of waveforms and model performance. |
Follow these steps to set up the project locally:
-
Clone the repository:
git clone https://github.com/Nancyjikadra/lensGW.git cd lensGW
-
Create a virtual environment (optional):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the project:
python main.py
- The script uses PyCBC to generate both lensed and unlensed gravitational waveforms.
- Configuration can be adjusted in the
waveform_generator.py
file.
- The training script uses the generated waveforms to build the classification model.
- Run the training process with:
python train_model.py
- Test the model's accuracy using real-world or simulated data.
- Results, including classification metrics and confusion matrices, will be saved in the
results/
directory.
- Accuracy: 98%
- Recall: High recall ensures most gravitational waves are correctly classified.
- Insights: Predicted source characteristics from the classified waveforms.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new feature branch.
git checkout -b feature/your-feature-name
- Commit your changes.
git commit -m "Add your message here"
- Push your branch.
git push origin feature/your-feature-name
- Open a pull request on GitHub.
This project is licensed under the MIT License.