motor_fault_detection_brb
Motor fault detection with ML using SVM, GBM, and ANN.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.5%) to scientific vocabulary
Keywords
Repository
Motor fault detection with ML using SVM, GBM, and ANN.
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Machine Learning Methods for Induction Motor Fault Detection

Master's Thesis
Author Semen Koveshnikov
Programme Automation and Electrical Engineering
Thesis supervisor Prof. Anouar Belahcen
Thesis advisor Billah Md, MSc
Abstract
This is the code for the master's thesis, written for Aalto University. The thesis aimed to find the best suitable ML model for induction motor broken rotor bar fault classification task. Three ML algorithms were compared, namely, SVM, GBM, and MLP to identify the most accurate one. The classic ML models were built with Scikit-learn, while the NN was developed using TensorFlow. The pipelines for the experiments were implemented via DVC by iterative.ai.
The repository contains the source code in /src folder, where the pipeline stage files are placed. The functions are well explained with doc strings. The pipeline includes 4 stages: Features, Data, Training, and Evaluation. The first stage loads data from .mat files and creates features. The second stage deletes specified load levels from the training set, placing them in the test set. Next, a chosen model is trained, which is evaluated in the fourth stage on F1 and log-loss scores. Also, confusion matrices are created.
Instructions
Clone the repository to your local machine. Install DVC extension to MS VSCode from the extensions store. Then follow the instructions in the extension to enable DVC experiments, creating a virtual environment for running the tests. The requirements.txt contains the necessary libraries needed for the project. They will be automatically installed by DVC during the setup, or install them yourself using pip:
cmd
pip install -r requirements.txt
Functionality
The ML pipeline parameters are placed in params.yaml file, in which it is possible, for example, to choose the type of ML algorithm you want to explore or FFT windowing parameters. The pipeline comprises four stages defined in dvc.yaml file.
```mermaid
title: DVC Pipeline
flowchart LR A[Features] --> B[Data] B --> C[Training] C --> D[Evaluation] ```
With the current version the influence of FFT windowing function and cycle number per FFT window can be explored. The motor phase current frequency spectrum visibility changes with different windowing functions, as shown below, which might be used for improvements in ML accuracy predictions
⠀|⠀
:---------:|:-------------:
|
Also, the visibility of side-bands differs with different number of cyces per window, as presented in figure below.
⠀|⠀
:---------:|:-------------:
|
Owner
- Login: KoveshnikovS
- Kind: user
- Location: Helsinki
- Repositories: 2
- Profile: https://github.com/KoveshnikovS
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Koveshnikov" given-names: "Semen" orcid: "https://orcid.org/0009-0008-8291-4434" title: "Motor fault detection using machine learning: broken rotor bar case." version: 1.0.0 date-released: 2023-11-23 url: "https://github.com/KoveshnikovS/Motor_fault_detection_BRB"