📌 Created by: @Akash Kharita (PhD Candidate, University of Washington)
This repository provides a framework for automated seismic event classification in the Pacific Northwest. We train multiple machine learning (ML) and deep learning (DL) models on a dataset spanning 2001–2023, containing 200K+ events across four classes:
- Earthquakes
- Explosions
- Noise
- Surface Events
More information about these events can be found in this paper
The primary objective is to evaluate and compare various ML and DL approaches to improve surface event classification while balancing accuracy, interpretability, and efficiency. The key differences between ML and DL techniques are illustrated below:
For cloud-based execution, refer to HPSBook.
sudo yum install -y git
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda
./miniconda/bin/conda init bash
bash
sudo yum groupinstall -y "Development Tools"git clone https://github.com/Akashkharita/PNW_Seismic_Event_Classification.git
cd PNW_Seismic_Event_Classification
conda create -y -n surface python=3.9.5
conda activate surface
pip install -r requirements.txt
pip install jupyter
conda install -y ipykernel
python -m ipykernel install --user --name=surface
-
Cloud
bash jupyter notebook --ip 0.0.0.0 --allow-root -
Local
bash jupyter notebook
Feature extraction is a critical step in ML-based seismic classification. This repository includes various approaches:
- Physical Features: Notebook
- TSFEL Features: Notebook
- ScatNet Features: Notebook
- Combined Feature Sets( Physical + Tsfel): Notebook
- Algorithm Comparison: Notebook
- Sampling Rate & Window Size Study: Notebook
- Full ML Workflow for SCOPED: Notebook
Scripts for extracting different types of features:
-
Physical Features: Feature extraction and Feature calculation script
-
TSFEL Features: Feature extraction
-
ScatNet Features: Feature extraction
Deep learning models enable automatic feature extraction:
- Neural Network Architectures: Script
- Training & Validation: Notebook
- Testing on Common Dataset: Notebook
Contributions to code, visualization, and methodology are welcome! Contact me at ak287@uw.edu for collaborations.
This repository is licensed under the MIT License.
