motor_fault_detection_brb

Motor fault detection with ML using SVM, GBM, and ANN.

https://github.com/koveshnikovs/motor_fault_detection_brb

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

brb dl ml motor-fault-detection python
Last synced: 6 months ago · JSON representation ·

Repository

Motor fault detection with ML using SVM, GBM, and ANN.

Basic Info
  • Host: GitHub
  • Owner: KoveshnikovS
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 2.08 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
brb dl ml motor-fault-detection python
Created over 2 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

Machine Learning Methods for Induction Motor Fault Detection

Aalto logo
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

⠀|⠀ :---------:|:-------------: Rectangular window |Hanning window

Also, the visibility of side-bands differs with different number of cyces per window, as presented in figure below.

⠀|⠀ :---------:|:-------------: Hanning window, 20 cycles |Hanning window, 70 cycles

Owner

  • Login: KoveshnikovS
  • Kind: user
  • Location: Helsinki

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"

GitHub Events

Total
Last Year