This project focuses on predicting welding quality based on time-series data of electrical current and voltage measurements. The analysis employs various machine learning techniques to extract meaningful features from welding process data, identify patterns through clustering, and build predictive models for quality classification.
- Source: Zenodo Welding Dataset
- Content: Current and voltage time series data from welding processes
- Sampling: Synchronously sampled at 100 kHz frequency with maximum permissible error of 0.5%
- Size: Approximately 362,034 samples
- Structure: Each sample contains 200 time steps of both current and voltage measurements (shape: [samples, 200, 2])
-
Data Loading and Preprocessing (ex_01) In this exercise, you will implement functions to load, preprocess, and prepare time-series welding data for machine learning analysis. You'll build the foundation for the entire project by creating data handling functions that will be used in subsequent exercises.
-
Data Visualization and Analysis (ex_02)
- Creating plots to understand data distribution
- Generating tables of statistical properties
- Visualizing time series characteristics
-
- Extracting meaningful features from time series
- Statistical features (mean, std, min, max, median)
- Frequency domain features (dominant frequencies)
- Power-related features
-
- Custom K-means implementation with multiple distance metrics
- Euclidean, Manhattan, and DTW (Dynamic Time Warping)
- Dimension reduction with PCA for visualization
- Cluster analysis to identify patterns in welding data
- Custom K-means implementation with multiple distance metrics
-
- Implementation of Random Forest classifier
- Feature importance analysis for quality prediction
- Hyperparameter tuning
-
- Evaluating different machine learning algorithms
- Performance metrics analysis
- Model selection based on accuracy and robustness
- Programming Language: Python
- Key Libraries: NumPy, Pandas, Scikit-learn, Matplotlib, Plotly, Seaborn
- Custom Implementation: K-means algorithm with multiple distance metrics
- Interactive Visualization: Web-based visualization for exploring welding data
-
Install uv
# On macOS/Linux curl -sSf https://astral.sh/uv/install.sh | bash # On Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
-
Setup virtual environment and install dependencies
uv sync
-
Activate the virtual environment
source .venv/bin/activate # On Linux/macOS .venv\Scripts\activate # On Windows
- Go to the repository settings
- Enable Github Pages
- Click on Build and Deployment -> Source
- Select Github Actions
- The page will be published at https://{username}.github.io/{repository-name}