This project develops a machine learning pipeline for classifying seismic waveforms as either earthquake events or noise using the STEAD (Stanford Earthquake Dataset).
The workflow includes:
- Reading seismic waveforms from HDF5 files
- Feature extraction from 3-component seismic traces
- Dataset generation
- Machine learning classification
- Model evaluation and interpretation
STEAD Dataset
Classes Used:
- Noise Traces (Chunk 1)
- Earthquake Traces (Chunk 4)
Dataset Size Used:
- 5000 Noise Traces
- 5000 Earthquake Traces
Total: 10,000 Traces
- Mean
- Standard Deviation
- Maximum Amplitude
- Minimum Amplitude
- Peak-to-Peak Amplitude
- RMS Amplitude
- Signal Energy
- Zero Crossing Rate
- Skewness
- Kurtosis
- Dominant Frequency
- Spectral Centroid
Random Forest Classifier
Training/Test Split:
- 80% Training
- 20% Testing
Accuracy: 98.8%
Evaluation Metrics:
- Precision
- Recall
- F1 Score
- Confusion Matrix
- rf_stead.pkl
- confusion_matrix.png
- feature_importance.png
- Python
- NumPy
- Pandas
- SciPy
- Scikit-Learn
- ObsPy
- H5Py
- Matplotlib
- XGBoost Benchmarking
- Deep Learning (1D CNN)
- Real-Time Seismic Event Detection
- Spectrogram-Based Classification