<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">
    jcc
   </journal-id>
   <journal-title-group>
    <journal-title>
     Journal of Computer and Communications
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    2327-5219
   </issn>
   <issn publication-format="print">
    2327-5227
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/jcc.2025.134015
   </article-id>
   <article-id pub-id-type="publisher-id">
    jcc-142298
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Computer Science 
     </subject>
     <subject>
       Communications
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    Research on Fault Detection and Classification of Industrial Equipment Based on Machine Learning
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Gangying
      </surname>
      <given-names>
       Cai
      </given-names>
     </name>
    </contrib>
   </contrib-group> 
   <aff id="affnull">
    <addr-line>
     aSchool of Mathematics and Statistics, Guilin University of Technology, Guilin, Guangxi, China
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     16
    </day> 
    <month>
     04
    </month>
    <year>
     2025
    </year>
   </pub-date> 
   <volume>
    13
   </volume> 
   <issue>
    04
   </issue>
   <fpage>
    226
   </fpage>
   <lpage>
    243
   </lpage>
   <history>
    <date date-type="received">
     <day>
      2,
     </day>
     <month>
      April
     </month>
     <year>
      2025
     </year>
    </date>
    <date date-type="published">
     <day>
      25,
     </day>
     <month>
      April
     </month>
     <year>
      2025
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      25,
     </day>
     <month>
      April
     </month>
     <year>
      2025
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © Copyright 2014 by authors and Scientific Research Publishing Inc. 
    </copyright-statement>
    <copyright-year>
     2014
    </copyright-year>
    <license>
     <license-p>
      This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
     </license-p>
    </license>
   </permissions>
   <abstract>
    In the context of the rapid development of intelligent manufacturing, the stable operation of mechanical equipment is crucial for maintaining industrial production continuity and achieving economic benefits. Timely identification of potential fault risks based on equipment operation data can facilitate accurate maintenance and enhance production safety and efficiency. This study conducts fault detection and classification modeling using operational data from industrial equipment provided by a manufacturing enterprise. First, the raw data underwent data cleaning, outlier removal, and imputation of missing values. Key influencing factors, including plant temperature, equipment temperature, rotational speed, torque, hours of use, and equipment quality level, were identified through independence tests and ANOVA. For fault detection modeling, support vector machine (SVM) and decision tree (CART) algorithms were employed to determine whether the equipment experienced fault, with model performance evaluated using multiple evaluation metrics. For fault classification, a multi-classification model based on the random forest algorithm was developed to identify specific fault types. Furthermore, feature importance analysis was performed to quantify the impact of different features on various fault types, revealing the potential causes of faults. This study offers practical value for intelligent maintenance and predictive overhaul of manufacturing equipment, providing both data-driven insights and methodological reference for industrial applications.
   </abstract>
   <kwd-group> 
    <kwd>
     Industrial Equipment Fault Detection
    </kwd> 
    <kwd>
      Fault Diagnosis
    </kwd> 
    <kwd>
      Support Vector Machine
    </kwd> 
    <kwd>
      Decision Tree CART
    </kwd> 
    <kwd>
      Random Forest
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>In the context of the global shift toward digital and intelligent manufacturing, the operational status of industrial equipment directly affects production efficiency and product quality. Prolonged operation in high-intensity, complex environments makes equipment prone to wear, aging, and faults. These faults can disrupt production, cause financial losses, and endanger personnel safety, thereby threatening the stability of production systems. Timely fault detection and accurate fault type identification are thus essential to improving production continuity and economic performance in manufacturing. Advances in cloud computing and the Industrial Internet of Things allow enterprises to monitor equipment data in real time, while machine learning is widely used in fault detection for its strong pattern recognition capabilities.</p>
   <p>Qi et al. (2018) developed a fault diagnosis system for reciprocating compressors using big data and support vector machine (SVM)-based machine learning, achieving over 80% accuracy on real-world industrial data <xref ref-type="bibr" rid="scirp.142298-1">
     [1]
    </xref>. Carvalho et al. (2019) conducted a systematic review of machine learning methods in predictive maintenance, summarizing key techniques, performance, and challenges in industrial applications <xref ref-type="bibr" rid="scirp.142298-2">
     [2]
    </xref>. Cohen et al. (2022) proposed a hybrid fault diagnosis framework combining timed Petri nets and machine learning for event synchronization faults in discrete manufacturing systems, achieving 96% precision and recall <xref ref-type="bibr" rid="scirp.142298-3">
     [3]
    </xref>. With the increasing availability of data and computational power, deep learning has gained significant attention in fault diagnosis research. Gao et al. (2020) optimized the parameters of a Deep Belief Network using the Salp Swarm Algorithm to mitigate the impact of manual parameter tuning, thereby improving the accuracy of bearing fault diagnosis <xref ref-type="bibr" rid="scirp.142298-4">
     [4]
    </xref>. Cao et al. (2022) proposed an unsupervised domain-invariant Convolutional Neural Network (CNN) approach that extracts domain-invariant features under time-varying speeds to achieve fault diagnosis of mechanical equipment <xref ref-type="bibr" rid="scirp.142298-5">
     [5]
    </xref>. Ding et al. (2022) employed a Transformer model leveraging the self-attention mechanism to effectively extract fault features from vibration signals for comprehensive fault diagnosis <xref ref-type="bibr" rid="scirp.142298-6">
     [6]
    </xref>. Amin et al. (2023) proposed a fault detection method for wind turbines, combining CNN and spectral analysis to classify faults using two-dimensional feature images, which effectively reduced the cost of operation and maintenance <xref ref-type="bibr" rid="scirp.142298-7">
     [7]
    </xref>.</p>
   <p>Although deep learning methods have made significant progress in fault detection in recent years, traditional machine learning methods still have a strong advantage when dealing with small samples and high dimensional data. Zhang et al. (2022) and Okwuosa et al. (2022) employed an SVM-based binary classification model for fault diagnosis, validating the model’s effectiveness using a data monitoring system <xref ref-type="bibr" rid="scirp.142298-8">
     [8]
    </xref> <xref ref-type="bibr" rid="scirp.142298-9">
     [9]
    </xref>. Purbowaskito et al. (2023) developed an integrated fault diagnosis framework that combines model-based diagnosis and machine learning classifiers, dynamically adapting the model to improve diagnostic accuracy <xref ref-type="bibr" rid="scirp.142298-10">
     [10]
    </xref>. Tao et al. (2024) proposed a machine learning-based method for photovoltaic fault diagnosis and localization using modulated photocurrent, achieving high accuracy and low-cost deployment <xref ref-type="bibr" rid="scirp.142298-11">
     [11]
    </xref>. Vashishtha et al. (2024) comprehensively reviewed recent advancements in machine learning for industrial fault diagnosis, highlighting the transition from traditional ML to deep learning techniques <xref ref-type="bibr" rid="scirp.142298-12">
     [12]
    </xref>. Muzzammel (2025) developed a Gini-index-based ML algorithm for fault diagnosis in HVDC systems and highlighted the importance of preprocessing under resistance variability <xref ref-type="bibr" rid="scirp.142298-13">
     [13]
    </xref>. Wu (2025) proposed a motor fault diagnosis model integrating machine learning with fuzzy control, significantly improving diagnostic accuracy and stability <xref ref-type="bibr" rid="scirp.142298-14">
     [14]
    </xref>.</p>
   <p>Despite the significant progress in machine learning for fault diagnosis, noise, outliers, and class imbalance are often present in industrial data, posing challenges to the performance and stability of models. Duan et al. (2016) proposed a Support Vector Data Description-based method for machinery fault diagnosis, addressing unbalanced datasets by introducing a binary tree structure for multi-class classification <xref ref-type="bibr" rid="scirp.142298-15">
     [15]
    </xref>. Jablon et al. (2021) proposed a machine learning-based approach for diagnosing rotating machine unbalance using vibration orbital features, achieving robust performance even in noisy environments <xref ref-type="bibr" rid="scirp.142298-16">
     [16]
    </xref>. Huang et al. (2022) proposed a multi-scale fractional-order dimensionless metric combined with a random forest approach for fault diagnosis <xref ref-type="bibr" rid="scirp.142298-17">
     [17]
    </xref>. Jin et al. (2022) designed a residual preprocessing module and a multi-scale CNN to mitigate the influence of noise on diagnostic results <xref ref-type="bibr" rid="scirp.142298-18">
     [18]
    </xref>. Han et al. (2022) enhanced diagnostic capability in high-noise environments using the Transformer model to jointly extract global and local information <xref ref-type="bibr" rid="scirp.142298-19">
     [19]
    </xref>. Mian et al. (2023) developed a multi-sensor fault diagnosis system combining IRT and vibration data, using Deep Convolutional Neural Network and SVM to detect misalignment, unbalance, and rotor disk eccentricity faults <xref ref-type="bibr" rid="scirp.142298-20">
     [20]
    </xref>. Prawin (2025) proposed a hybrid 2DCNNLSTM algorithm for bearing fault diagnosis, combining CNN and LSTM to enhance diagnosis by capturing both spatial and temporal features, particularly under imbalanced data conditions <xref ref-type="bibr" rid="scirp.142298-21">
     [21]
    </xref>.</p>
   <p>Despite significant advances in deep learning for fault detection, traditional machine learning methods (e.g., SVM, CART, and random forests) remain effective choices in many industrial environments, particularly in data-limited or high-dimensional scenarios. In contrast, traditional methods are less computationally demanding, making them suitable for resource-constrained environments, and they are easier to deploy. This study addresses the data characteristics and practical needs of industrial equipment fault diagnosis by leveraging real-world data to develop and evaluate machine learning models for fault detection and classification. In addition, it conducts a feature-based analysis of different fault types to investigate their root causes and underlying patterns.</p>
   <p>The structure of the study is as follows: Section 1 provides an introduction to the research background and the significance of fault detection and classification for industrial machinery and equipment. It also reviews the current state of related studies and describes the organization of this study. Section 2 presents the research methodology, including the fault detection model based on Support Vector Machine (SVM) and Decision Tree (CART), as well as the fault classification model based on Random Forest, providing a detailed explanation of the model construction and algorithmic principles. Section 3 analyzes and processes the experimental data, extracts key features through feature screening and correlation analysis, and performs dataset partitioning to support subsequent modeling. Section 4 presents the experimental results and analysis, including the performance evaluation of the fault detection and classification models, as well as an exploration of fault causes based on feature importance analysis, revealing the key influencing factors for different fault types. Finally, this study summarizes the main research findings and suggests directions for future research.</p>
  </sec><sec id="s2">
   <title>2. Fault Detection and Classification Modeling</title>
   <sec id="s2_1">
    <title>2.1. Problem Description and Model Construction</title>
    <p>In industrial production, the fault detection and classification of mechanical equipment are core tasks to ensure production safety and improve equipment management efficiency. Timely detection of equipment faults can help avoid production downtime, reduce maintenance costs, and ensure personnel safety. Furthermore, fault classification helps identify specific fault types and provide precise repair solutions for the maintenance personnel.</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref>In this study, the fault detection task is formulated as a binary classification problem that determines whether a mechanical device has failed. Let 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi mathvariant="script">
         D 
       </mi> 
       <mo>
         = 
       </mo> 
       <msubsup> 
        <mrow> 
         <mrow> 
          <mo>
            { 
          </mo> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                x 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
             <mo>
               , 
             </mo> 
             <msub> 
              <mi>
                y 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mo>
            } 
          </mo> 
         </mrow> 
        </mrow> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mi>
          n 
        </mi> 
       </msubsup> 
      </mrow> 
     </math> represent the operational dataset of the equipment, where 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msup> 
        <mi>
          ℝ 
        </mi> 
        <mi>
          d 
        </mi> 
       </msup> 
      </mrow> 
     </math> denotes the feature vector of the ith sample with a total of d features. The fault state label is represented by 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          y 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mo>
           , 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, with 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          y 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mn>
         0 
       </mn> 
      </mrow> 
     </math> indicating normal operation and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          y 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
      </mrow> 
     </math> indicating a malfunction, where n denotes the total number of samples. For malfunctioning devices, the fault classification task is formulated as a multi-class classification problem, aiming to predict the specific fault category using the input data. Let the set of fault categories be denoted as 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         Ψ 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mn>
           1 
         </mn> 
         <mo>
           , 
         </mo> 
         <mn>
           2 
         </mn> 
         <mi>
           ， 
         </mi> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mi>
           C 
         </mi> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, where C represents the total number of fault categories. The dataset can be expressed as 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi mathvariant="script">
         D 
       </mi> 
       <mo>
         = 
       </mo> 
       <msubsup> 
        <mrow> 
         <mrow> 
          <mo>
            { 
          </mo> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                x 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
             <mo>
               , 
             </mo> 
             <msub> 
              <mi>
                y 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mo>
            } 
          </mo> 
         </mrow> 
        </mrow> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mi>
          n 
        </mi> 
       </msubsup> 
       <mo>
         , 
       </mo> 
       <msub> 
        <mi>
          y 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <mi>
         Ψ 
       </mi> 
      </mrow> 
     </math>. The objective of the fault detection problem is to construct a discriminant function 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         f 
       </mi> 
       <mo>
         : 
       </mo> 
       <msup> 
        <mi>
          R 
        </mi> 
        <mi>
          d 
        </mi> 
       </msup> 
       <mo>
         → 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mo>
           , 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> to predict the fault state of a device by training a classifier. The optimization goal is to minimize the classification error while ensuring robust generalization performance. The loss function 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         Λ 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           f 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              x 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            y 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is applied to evaluate the performance of the classifier, and a regularization term is incorporated to mitigate overfitting:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref> 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <munder> 
        <mrow> 
         <mi>
           min 
         </mi> 
        </mrow> 
        <mi>
          f 
        </mi> 
       </munder> 
       <mfrac> 
        <mn>
          1 
        </mn> 
        <mi>
          n 
        </mi> 
       </mfrac> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </munderover> 
        <mrow> 
         <mi>
           Λ 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             f 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                x 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
           <mo>
             , 
           </mo> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </mstyle> 
       <mo>
         + 
       </mo> 
       <mi>
         λ 
       </mi> 
       <mi>
         Ω 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          f 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         . 
       </mo> 
      </mrow> 
     </math>(1)</p>
    <p>In Equation (1), 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         Ω 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          f 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> represents the regularization term, and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        λ 
      </mi> 
     </math> denotes the regularization parameter. Building on fault detection, fault classification further identifies the specific fault type when a device fails. The goal of fault classification is to construct a classifier 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         g 
       </mi> 
       <mo>
         : 
       </mo> 
       <msup> 
        <mi>
          R 
        </mi> 
        <mi>
          d 
        </mi> 
       </msup> 
       <mo>
         → 
       </mo> 
       <mi>
         Ψ 
       </mi> 
      </mrow> 
     </math>. The optimization goal of the multiclass classification problem is likewise to minimize the classification error:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <munder> 
        <mrow> 
         <mi>
           min 
         </mi> 
        </mrow> 
        <mi>
          g 
        </mi> 
       </munder> 
       <mfrac> 
        <mn>
          1 
        </mn> 
        <mi>
          n 
        </mi> 
       </mfrac> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </munderover> 
        <mrow> 
         <mi>
           Λ 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mi>
             g 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                x 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
           <mo>
             , 
           </mo> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </mstyle> 
       <mo>
         + 
       </mo> 
       <mi>
         λ 
       </mi> 
       <mi>
         Ω 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          g 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         . 
       </mo> 
      </mrow> 
     </math> (2)</p>
    <p>By minimizing the loss function, the accuracy of the classifier can be effectively improved. To achieve this goal, this study employs the support vector machine (SVM), the CART decision tree algorithm, and the random forest model for fault detection and classification.</p>
   </sec>
   <sec id="s2_2">
    <title>2.2. Support Vector Machine-Based Fault Detection Model</title>
    <p>The Support Vector Machine (SVM) distinguishes between normal and faulty devices by constructing an optimal decision boundary. Compared to traditional classification methods, the SVM offers strong generalization ability and robustness, making it suitable for high-dimensional data and small sample scenarios. The core idea is to find the hyperplane that maximizes the interval in the feature space to ensure the generalization ability of the classifier.</p>
    <p>Assume that the training dataset is 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi mathvariant="script">
         D 
       </mi> 
       <mo>
         = 
       </mo> 
       <msubsup> 
        <mrow> 
         <mrow> 
          <mo>
            { 
          </mo> 
          <mrow> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                x 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
             <mo>
               , 
             </mo> 
             <msub> 
              <mi>
                y 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mo>
            } 
          </mo> 
         </mrow> 
        </mrow> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mi>
          n 
        </mi> 
       </msubsup> 
      </mrow> 
     </math>, where 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msup> 
        <mi>
          ℝ 
        </mi> 
        <mi>
          d 
        </mi> 
       </msup> 
      </mrow> 
     </math> denotes the feature vector of the ith sample with a total of d features, and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          y 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mo>
           − 
         </mo> 
         <mn>
           1 
         </mn> 
         <mo>
           , 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is the fault state label. SVM represents the classification hyperplane in the following form:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref> 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         f 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <msup> 
        <mi>
          ω 
        </mi> 
        <mtext>
          T 
        </mtext> 
       </msup> 
       <mi>
         x 
       </mi> 
       <mo>
         + 
       </mo> 
       <mi>
         b 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         0 
       </mn> 
       <mo>
         , 
       </mo> 
      </mrow> 
     </math> (3)</p>
    <p>In Equation (3), 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        ω 
      </mi> 
     </math> is the normal vector, which determines the direction of the hyperplane, and b is the bias term, which determines the position of the hyperplane. In the linearly separable case, the SVM finds the optimal hyperplane by maximizing the classification margin. Its optimization objective is:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mtable columnalign="left"> 
       <mtr> 
        <mtd> 
         <munder> 
          <mrow> 
           <mi>
             min 
           </mi> 
          </mrow> 
          <mrow> 
           <mi>
             ω 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             b 
           </mi> 
          </mrow> 
         </munder> 
         <mfrac> 
          <mn>
            1 
          </mn> 
          <mn>
            2 
          </mn> 
         </mfrac> 
         <msup> 
          <mrow> 
           <mo>
             ‖ 
           </mo> 
           <mi>
             ω 
           </mi> 
           <mo>
             ‖ 
           </mo> 
          </mrow> 
          <mn>
            2 
          </mn> 
         </msup> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mtext>
           s 
         </mtext> 
         <mtext>
           .t 
         </mtext> 
         <mo>
           . 
         </mo> 
         <mtext> 
         </mtext> 
         <msub> 
          <mi>
            y 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msup> 
            <mi>
              ω 
            </mi> 
            <mtext>
              T 
            </mtext> 
           </msup> 
           <msub> 
            <mi>
              x 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
           <mo>
             + 
           </mo> 
           <mi>
             b 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           ≥ 
         </mo> 
         <mn>
           1 
         </mn> 
         <mo>
           , 
         </mo> 
         <mi>
           i 
         </mi> 
         <mo>
           = 
         </mo> 
         <mn>
           1 
         </mn> 
         <mo>
           , 
         </mo> 
         <mn>
           2 
         </mn> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mi>
           n 
         </mi> 
         <mo>
           . 
         </mo> 
        </mtd> 
       </mtr> 
      </mtable> 
     </math> (4)</p>
    <p>In practical applications, data are often non-linearly separable. In such cases, SVM introduces slack variables and employs a soft margin strategy. A penalty term is added to the optimization objective to balance the classification error and the maximization of the margin. The optimization objective is:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref> 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mtable columnalign="left"> 
       <mtr> 
        <mtd> 
         <munder> 
          <mrow> 
           <mi>
             min 
           </mi> 
          </mrow> 
          <mrow> 
           <mi>
             ω 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             b 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             ξ 
           </mi> 
          </mrow> 
         </munder> 
         <mfrac> 
          <mn>
            1 
          </mn> 
          <mn>
            2 
          </mn> 
         </mfrac> 
         <msup> 
          <mrow> 
           <mo>
             ‖ 
           </mo> 
           <mi>
             ω 
           </mi> 
           <mo>
             ‖ 
           </mo> 
          </mrow> 
          <mn>
            2 
          </mn> 
         </msup> 
         <mo>
           + 
         </mo> 
         <mi>
           λ 
         </mi> 
         <mstyle displaystyle="true"> 
          <munderover> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mo>
              = 
            </mo> 
            <mn>
              1 
            </mn> 
           </mrow> 
           <mi>
             n 
           </mi> 
          </munderover> 
          <mrow> 
           <msub> 
            <mi>
              ξ 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
         </mstyle> 
        </mtd> 
       </mtr> 
       <mtr> 
        <mtd> 
         <mtext>
           s 
         </mtext> 
         <mtext>
           .t 
         </mtext> 
         <mo>
           . 
         </mo> 
         <mtext> 
         </mtext> 
         <msub> 
          <mi>
            y 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msup> 
            <mi>
              ω 
            </mi> 
            <mtext>
              T 
            </mtext> 
           </msup> 
           <msub> 
            <mi>
              x 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
           <mo>
             + 
           </mo> 
           <mi>
             b 
           </mi> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           ≥ 
         </mo> 
         <mn>
           1 
         </mn> 
         <mo>
           − 
         </mo> 
         <msub> 
          <mi>
            ξ 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            ξ 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           ≥ 
         </mo> 
         <mn>
           0 
         </mn> 
         <mo>
           , 
         </mo> 
        </mtd> 
       </mtr> 
      </mtable> 
     </math> (5)</p>
    <p>In Equation (5), 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        λ 
      </mi> 
     </math> is the regularization parameter used to balance the trade-off between the classification penalty and margin maximization, and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          ξ 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
      </mrow> 
     </math> is the slack variable representing the penalty for misclassified samples. For linearly non-separable problems, SVM applies a kernel function to map the data into a higher-dimensional space, where it seeks the optimal hyperplane. After training, the classification decision function is:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref> 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         f 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mi>
         s 
       </mi> 
       <mi>
         i 
       </mi> 
       <mi>
         g 
       </mi> 
       <mi>
         n 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <munderover> 
           <mo>
             ∑ 
           </mo> 
           <mrow> 
            <mi>
              i 
            </mi> 
            <mo>
              = 
            </mo> 
            <mn>
              1 
            </mn> 
           </mrow> 
           <mi>
             N 
           </mi> 
          </munderover> 
          <mrow> 
           <msub> 
            <mi>
              α 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
           <mi>
             κ 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                x 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
             <mo>
               , 
             </mo> 
             <msub> 
              <mi>
                x 
              </mi> 
              <mi>
                j 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </mstyle> 
         <mo>
           + 
         </mo> 
         <mi>
           b 
         </mi> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         , 
       </mo> 
      </mrow> 
     </math> (6)</p>
    <p>In Equation (6), 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          α 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
      </mrow> 
     </math> represents the Lagrange multiplier, 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         κ 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> denotes the kernel function, and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         s 
       </mi> 
       <mi>
         i 
       </mi> 
       <mi>
         g 
       </mi> 
       <mi>
         n 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mo>
          ⋅ 
        </mo> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is the sign function. The optimization problem of the SVM is solved using its Lagrangian dual form. By introducing the Lagrange multiplier and applying the Karush-Kuhn-Tucker conditions, the support vectors and hyperplane parameters are determined. These parameters are then substituted into the classification decision function and the hyperplane equation to obtain the model training results, completing the fault detection task.</p>
   </sec>
   <sec id="s2_3">
    <title>2.3. Decision Tree-CART-Based Fault Detection Model</title>
    <p>A decision tree divides data using a tree structure, gradually categorizing samples into different classes. The Classification and Regression Tree (CART) is a classic algorithm commonly used for this purpose. The core idea of CART is to recursively split the dataset and construct a decision tree to distinguish between normal and faulty equipment. During the tree construction process, CART uses the Gini index as a criterion for feature selection. The Gini index measures the impurity of the dataset, representing the degree of uncertainty or misclassification within the categorization.</p>
    <p>Assuming that the dataset at the current node is D, and the proportion of the kth class samples is 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          p 
        </mi> 
        <mi>
          k 
        </mi> 
       </msub> 
      </mrow> 
     </math>, the Gini index is defined as:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref> 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         G 
       </mi> 
       <mi>
         i 
       </mi> 
       <mi>
         n 
       </mi> 
       <mi>
         i 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          D 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            j 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           K 
         </mi> 
        </munderover> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mi>
            k 
          </mi> 
         </msub> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <mn>
             1 
           </mn> 
           <mo>
             − 
           </mo> 
           <msub> 
            <mi>
              p 
            </mi> 
            <mi>
              k 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </mstyle> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         − 
       </mo> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            j 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           K 
         </mi> 
        </munderover> 
        <mrow> 
         <msubsup> 
          <mi>
            p 
          </mi> 
          <mi>
            k 
          </mi> 
          <mn>
            2 
          </mn> 
         </msubsup> 
        </mrow> 
       </mstyle> 
       <mo>
         , 
       </mo> 
      </mrow> 
     </math> (7)</p>
    <p>In Equation (7), 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         G 
       </mi> 
       <mi>
         i 
       </mi> 
       <mi>
         n 
       </mi> 
       <mi>
         i 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          D 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is the Gini index of the dataset D, K is the number of categories, and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          p 
        </mi> 
        <mi>
          k 
        </mi> 
       </msub> 
      </mrow> 
     </math> represents the probability that a sample belongs to the kth category. When all samples within a node belong to the same category, the Gini index is 0; when the sample categories are evenly distributed, the Gini index approaches 1. In fault detection, CART traverses all features and partitioning points to select the partitioning method with the smallest Gini index, ensuring the maximum improvement in node purity. Although the generated decision tree can fit the training data well, an excessively large tree structure often results in overfitting. To address this issue, CART employs a pruning strategy to optimize model performance by reducing the complexity of the tree. The core of the pruning process involves introducing a regularization parameter to α control the tree’s complexity. The loss function after pruning is defined as:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref> 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         L 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          T 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <munderover> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </munderover> 
        <mrow> 
         <mi>
           ℓ 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
           <mo>
             , 
           </mo> 
           <mi>
             f 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                x 
              </mi> 
              <mi>
                i 
              </mi> 
             </msub> 
            </mrow> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
       </mstyle> 
       <mo>
         + 
       </mo> 
       <mi>
         λ 
       </mi> 
       <mrow> 
        <mo>
          | 
        </mo> 
        <mi>
          T 
        </mi> 
        <mo>
          | 
        </mo> 
       </mrow> 
       <mo>
         , 
       </mo> 
      </mrow> 
     </math> (8)</p>
    <p>In Equation (8), 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         L 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          T 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is the loss function of the decision tree, 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         ℓ 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            y 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mi>
           f 
         </mi> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              x 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> represents the classification error of the ith sample, 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mrow> 
        <mo>
          | 
        </mo> 
        <mi>
          T 
        </mi> 
        <mo>
          | 
        </mo> 
       </mrow> 
      </mrow> 
     </math> denotes the number of leaf nodes in the tree, and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        λ 
      </mi> 
     </math> is the regularization parameter used to balance the trade-off between tree complexity and classification accuracy. The optimal 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        λ 
      </mi> 
     </math> value is selected using the cross-validation method to determine the best-pruned subtree 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msup> 
        <mi>
          T 
        </mi> 
        <mo>
          ∗ 
        </mo> 
       </msup> 
      </mrow> 
     </math>. Pruning not only effectively prevents overfitting but also reduces the computational complexity of the model.</p>
   </sec>
   <sec id="s2_4">
    <title>2.4. Random Forest-Based Fault Identification Model</title>
    <p>Random Forest (RF) is an ensemble learning method based on decision trees. It enhances classification accuracy and generalization ability by aggregating the results of multiple decision trees. Compared with a single decision tree, RF demonstrates strong robustness when handling high-dimensional data, outliers, and noisy data. Additionally, it supports feature importance evaluation, providing insights for fault cause analysis. The core idea of RF involves using the Bagging method to resample the training data, generate multiple subsets, and train decision trees on these subsets. The final classification result is determined through a majority voting mechanism, effectively reducing model variance and improving stability. In this study, the RF model is employed for mechanical equipment fault identification.</p>
    <p>Assume a training dataset 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         D 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              x 
            </mi> 
            <mn>
              1 
            </mn> 
           </msub> 
           <mo>
             , 
           </mo> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mn>
              1 
            </mn> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           , 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              x 
            </mi> 
            <mn>
              2 
            </mn> 
           </msub> 
           <mo>
             , 
           </mo> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mn>
              2 
            </mn> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mrow> 
           <msub> 
            <mi>
              x 
            </mi> 
            <mi>
              n 
            </mi> 
           </msub> 
           <mo>
             , 
           </mo> 
           <msub> 
            <mi>
              y 
            </mi> 
            <mi>
              n 
            </mi> 
           </msub> 
          </mrow> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, where 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <msup> 
        <mi>
          ℝ 
        </mi> 
        <mi>
          d 
        </mi> 
       </msup> 
      </mrow> 
     </math> represents the feature vector of the ith sample, with a total of d features, and 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          y 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         ∈ 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <mn>
           0 
         </mn> 
         <mo>
           , 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> is the corresponding fault label. The random forest consists of M decision trees, and the training process is as follows:</p>
    <p>1) Bootstrap sampling. Perform bootstrap sampling from the training data to generate M different training subsets 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mi>
          m 
        </mi> 
       </msub> 
      </mrow> 
     </math>. The number of samples in each training subset is the same as the original dataset.</p>
    <p>2) Construct a decision tree. For each training subset 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          D 
        </mi> 
        <mi>
          m 
        </mi> 
       </msub> 
      </mrow> 
     </math>, construct a CART. At each node split, k features ( 
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         k 
       </mi> 
       <mo>
         &lt; 
       </mo> 
       <mi>
         d 
       </mi> 
      </mrow> 
     </math>) are randomly selected, and the best feature among them is chosen for node splitting. This process reduces the impact of feature correlation on the model.</p>
    <p>3) Model voting. Input the test data into the trained random forest, with each tree independently predicting the result. The majority vote is used to aggregate the detection results from all decision trees, producing the final fault category for the test sample.</p>
    <p>In this study, SVM, CART, and RF models are applied for fault detection and classification, in alignment with the characteristics of real-world industrial data and maintenance practices, offering insights into the practical implementation of fault diagnosis strategies.</p>
   </sec>
  </sec><sec id="s3">
   <title>3 Experimental Data Analysis and Model Evaluation Indicators</title>
   <sec id="s3_1">
    <title>3.1 Dataset Description and Preprocessing</title>
    <p>The dataset used in this study consists of 9000 records of operational and fault status data from industrial machinery of an enterprise. It is utilized for fault detection and fault classification analysis. The dataset includes key variables that reflect the equipment’s operating environment, working status, and fault information. This dataset, sourced from a real-world industrial environment, provides a relevant basis for evaluating the performance of the proposed models in a practical context. Continuous variables include Factory temperature (K), equipment temperature (K), rotation speed (rpm), torque (Nm), and usage time (min), which describe the operating conditions of the equipment. Additionally, categorical variables such as machine number, unified specification code, and machine quality level are provided. The machine quality level is categorized into three classes: high (H), medium (M), and low (L), indicating the equipment’s performance level.</p>
    <p>In terms of fault information, the data set contains two variables: “whether a fault has occurred” and “specific fault category”. “whether a fault has occurred” takes a value of 0 or 1, 0 indicates that the equipment is operating normally, and 1 indicates that the equipment has failed. The “specific fault categories” include six types: NORMAL, TWF, HDF, PWF, OSF, and RNF. Among these, NORMAL indicates that the equipment is operating normally and corresponds to a value of 0 in the “fault occurrence” variable. TWF, HDF, PWF, OSF, and RNF represent wear faults, heat dissipation faults, power faults, overload faults, and other faults, respectively. In order to ensure the reliability and scientificity of the data, necessary judgments were made on the data.</p>
    <p>For the fault category variable, the category label is digitized. Specifically, the label encoding method is used to assign “Normal” to 1, “PWF” to 2, “OSF” to 3, “RNF” to 4, “HDF” to 5, and “TWF” to 6. This method maintains the category information while facilitating the training and evaluation of subsequent models. For the discrete variable of machine quality level (L level, M level, H level), since it does not have a numerical relationship, the direct use of numerical encoding may cause the model to misjudge. Therefore, the paper adopts the one-hot encoding method to convert the quality level operation into binary data. Specifically, an independent binary feature column is created for each category, such as “machine quality level_H” and “machine quality level_M”, whose values are 0 or 1, indicating whether the equipment belongs to the corresponding quality level. In this way, incorrect relationships caused by categorical data are avoided.</p>
    <p>During the cleaning process, to ensure data consistency, feature markers that have no practical significance and do not contribute significantly to fault detection, such as machine numbers and unified specification codes, are deleted. In order to eliminate the impact of noise on model performance, abnormal data with fault markers marked as “1” but fault categories marked as “normal” are excluded. Some of the converted data are shown in <xref ref-type="table" rid="table1">
      Table 1
     </xref>.</p>
    <table-wrap id="table1">
     <label>
      <xref ref-type="table" rid="table1">
       Table 1
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.142298-"></xref>Table 1. Example of feature transformation after data preprocessing.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="14.16%"><p style="text-align:center">Factory floor</p><p style="text-align:center">temperature</p></td> 
       <td class="custom-bottom-td acenter" width="13.56%"><p style="text-align:center">Equipment</p><p style="text-align:center">temperature</p></td> 
       <td class="custom-bottom-td acenter" width="10.37%"><p style="text-align:center">Rotation</p><p style="text-align:center">speed</p></td> 
       <td class="custom-bottom-td acenter" width="6.65%"><p style="text-align:center">Tor</p><p style="text-align:center">-que</p></td> 
       <td class="custom-bottom-td acenter" width="7.56%"><p style="text-align:center">usage</p><p style="text-align:center">time</p></td> 
       <td class="custom-bottom-td acenter" width="12.47%"><p style="text-align:center">Fault</p><p style="text-align:center">occurrence</p></td> 
       <td class="custom-bottom-td acenter" width="7.18%"><p style="text-align:center">Fault</p><p style="text-align:center">type</p></td> 
       <td class="custom-bottom-td acenter" width="9.42%"><p style="text-align:center">quality </p><p style="text-align:center">level_H</p></td> 
       <td class="custom-bottom-td acenter" width="8.92%"><p style="text-align:center">quality </p><p style="text-align:center">level_L</p></td> 
       <td class="custom-bottom-td acenter" width="9.70%"><p style="text-align:center">quality </p><p style="text-align:center">level_M</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="14.16%"><p style="text-align:center">295.8</p></td> 
       <td class="custom-top-td acenter" width="13.56%"><p style="text-align:center">306.3</p></td> 
       <td class="custom-top-td acenter" width="10.37%"><p style="text-align:center">1235</p></td> 
       <td class="custom-top-td acenter" width="6.65%"><p style="text-align:center">76.2</p></td> 
       <td class="custom-top-td acenter" width="7.56%"><p style="text-align:center">89</p></td> 
       <td class="custom-top-td acenter" width="12.47%"><p style="text-align:center">1</p></td> 
       <td class="custom-top-td acenter" width="7.18%"><p style="text-align:center">2</p></td> 
       <td class="custom-top-td acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="custom-top-td acenter" width="8.92%"><p style="text-align:center">0</p></td> 
       <td class="custom-top-td acenter" width="9.70%"><p style="text-align:center">1</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">295.7</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">306.2</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">2270</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">14.6</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">149</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">2</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.3</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307.1</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1534</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">33.8</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">151</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">1</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.3</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307.1</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1774</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">25.9</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">154</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.2</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">2119</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">18.3</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">159</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">1</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.2</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1414</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">48.3</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">162</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.1</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1523</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">42</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">164</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">1</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.1</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307.1</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1651</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">35.7</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">167</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.1</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307.1</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1485</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">36</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">169</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">1</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.2</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307.2</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1168</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">63.4</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">172</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">1</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.3</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307.3</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1566</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">35.8</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">175</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="14.16%"><p style="text-align:center">296.3</p></td> 
       <td class="acenter" width="13.56%"><p style="text-align:center">307.2</p></td> 
       <td class="acenter" width="10.37%"><p style="text-align:center">1286</p></td> 
       <td class="acenter" width="6.65%"><p style="text-align:center">51.1</p></td> 
       <td class="acenter" width="7.56%"><p style="text-align:center">177</p></td> 
       <td class="acenter" width="12.47%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="7.18%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="9.42%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="8.92%"><p style="text-align:center">0</p></td> 
       <td class="acenter" width="9.70%"><p style="text-align:center">1</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>In addition, a visual analysis using the local outlier factor (LOF) algorithm was conducted on the factory temperature, equipment temperature, rotational speed, and torque to visualize the distribution characteristics and detect anomalies. The detection results are shown in <xref ref-type="fig" rid="fig1">
      Figure 1
     </xref>.</p>
    <fig id="fig1" position="float">
     <label>Figure 1</label>
     <caption>
      <title>Figure 1. Data distribution and anomaly detection results.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733144-rId102.jpeg?20250428113552" />
    </fig>
    <p>The abnormal points are mainly concentrated in the rotational speed and torque features. Considering the differences in operating status and workload of different mechanical equipment, these anomalies may result from variations in equipment performance or actual working conditions. To ensure the integrity and authenticity of the data, this study retains these anomalies to allow the model to more accurately reflect actual operating conditions.</p>
   </sec>
   <sec id="s3_2">
    <title>3.2. Evaluation Metrics and Feature Analysis</title>
    <p>To evaluate the performance of the fault detection and classification models, this study uses the following common classification evaluation metrics: accuracy, precision, recall, the F1 score, and AUC.</p>
    <p>Accuracy measures the overall correctness of the model’s detections and is defined as</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref> 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mtext>
         Accuracy 
       </mtext> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mi>
           T 
         </mi> 
         <mi>
           P 
         </mi> 
         <mo>
           + 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           N 
         </mi> 
        </mrow> 
        <mrow> 
         <mi>
           T 
         </mi> 
         <mi>
           P 
         </mi> 
         <mo>
           + 
         </mo> 
         <mi>
           T 
         </mi> 
         <mi>
           N 
         </mi> 
         <mo>
           + 
         </mo> 
         <mi>
           F 
         </mi> 
         <mi>
           P 
         </mi> 
         <mo>
           + 
         </mo> 
         <mi>
           F 
         </mi> 
         <mi>
           N 
         </mi> 
        </mrow> 
       </mfrac> 
       <mo>
         , 
       </mo> 
       <mi> 
       </mi> 
      </mrow> 
     </math> (9)</p>
    <p>in Equation (9), TP denotes the number of samples correctly classified as positive, FN denotes the number of positive samples incorrectly classified as negative, FP denotes the number of negative samples incorrectly classified as positive, and TN denotes the number of samples correctly classified as negative.</p>
    <p>Precision focuses on the model’s false alarm rate, measuring the proportion of samples predicted as positive that are actually positive, as</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mi>
           T 
         </mi> 
         <mi>
           P 
         </mi> 
        </mrow> 
        <mrow> 
         <mi>
           T 
         </mi> 
         <mi>
           P 
         </mi> 
         <mo>
           + 
         </mo> 
         <mi>
           F 
         </mi> 
         <mi>
           P 
         </mi> 
        </mrow> 
       </mfrac> 
       <mo>
         , 
       </mo> 
      </mrow> 
     </math>(10)</p>
    <p>recall measures the model’s ability to identify actual positive samples and is defined as</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         R 
       </mi> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mi>
           T 
         </mi> 
         <mi>
           P 
         </mi> 
        </mrow> 
        <mrow> 
         <mi>
           T 
         </mi> 
         <mi>
           P 
         </mi> 
         <mo>
           + 
         </mo> 
         <mi>
           F 
         </mi> 
         <mi>
           N 
         </mi> 
        </mrow> 
       </mfrac> 
       <mo>
         , 
       </mo> 
      </mrow> 
     </math>(11)</p>
    <p>when the dataset exhibits class imbalance, the F1 score provides a more balanced measure of model performance. It is calculated as the harmonic mean of precision and recall, as follows</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mfrac> 
        <mn>
          2 
        </mn> 
        <mrow> 
         <msub> 
          <mi>
            F 
          </mi> 
          <mn>
            1 
          </mn> 
         </msub> 
        </mrow> 
       </mfrac> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mn>
          1 
        </mn> 
        <mi>
          P 
        </mi> 
       </mfrac> 
       <mo>
         + 
       </mo> 
       <mfrac> 
        <mn>
          1 
        </mn> 
        <mi>
          R 
        </mi> 
       </mfrac> 
       <mo>
         , 
       </mo> 
       <mi> 
       </mi> 
       <msub> 
        <mi>
          F 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mn>
           2 
         </mn> 
         <mi>
           T 
         </mi> 
         <mi>
           P 
         </mi> 
        </mrow> 
        <mrow> 
         <mn>
           2 
         </mn> 
         <mi>
           T 
         </mi> 
         <mi>
           P 
         </mi> 
         <mo>
           + 
         </mo> 
         <mi>
           F 
         </mi> 
         <mi>
           P 
         </mi> 
         <mo>
           + 
         </mo> 
         <mi>
           F 
         </mi> 
         <mi>
           N 
         </mi> 
        </mrow> 
       </mfrac> 
       <mo>
         . 
       </mo> 
      </mrow> 
     </math>(12)</p>
    <p>In addition, the AUC (Area Under the ROC Curve) represents the model’s overall performance across different classification thresholds. The AUC value closer to 1 indicates better model performance. By comprehensively evaluating the above indicators, the reliability and effectiveness of the model in fault detection and fault identification tasks are demonstrated.</p>
    <p>To identify relevant features, a statistical analysis was conducted. Both machine quality grade and fault occurrence are categorical variables; their association was examined using a chi-square test of independence. The results yielded a Pearson chi-square value of 13.018 with a p-value of 0.001, indicating a significant relationship.</p>
    <p>For the continuous variables—plant room temperature, equipment temperature, rotation speed, torque, and operating time—one-way ANOVA was applied to assess their correlation with fault occurrence. As presented in <xref ref-type="table" rid="table2">
      Table 2
     </xref>, all variables showed p-values less than 0.05, suggesting significant group differences and relevance to fault behavior.</p>
    <table-wrap id="table2">
     <label>
      <xref ref-type="table" rid="table2">
       Table 2
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.142298-"></xref>Table 2. ANOVA table of each indicator and fault occurrence.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Features Variables</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Mean Squared Between (MS)</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Mean Squared Error (MSE)</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">F</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">P-value</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter"><p style="text-align:center">Factory Temperature</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">217.303</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">3.572</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">60.832</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">Equipment Temperature</p></td> 
       <td class="acenter"><p style="text-align:center">20.913</p></td> 
       <td class="acenter"><p style="text-align:center">2.01</p></td> 
       <td class="acenter"><p style="text-align:center">10.407</p></td> 
       <td class="acenter"><p style="text-align:center">0.001</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">Rotation Speed</p></td> 
       <td class="acenter"><p style="text-align:center">747294.546</p></td> 
       <td class="acenter"><p style="text-align:center">32193.695</p></td> 
       <td class="acenter"><p style="text-align:center">23.212</p></td> 
       <td class="acenter"><p style="text-align:center">0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">Torque</p></td> 
       <td class="acenter"><p style="text-align:center">34100.022</p></td> 
       <td class="acenter"><p style="text-align:center">96.453</p></td> 
       <td class="acenter"><p style="text-align:center">353.541</p></td> 
       <td class="acenter"><p style="text-align:center">0</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">Usage Time</p></td> 
       <td class="acenter"><p style="text-align:center">408749.27</p></td> 
       <td class="acenter"><p style="text-align:center">4003.179</p></td> 
       <td class="acenter"><p style="text-align:center">102.106</p></td> 
       <td class="acenter"><p style="text-align:center">0</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref></p>
    <p>Based on these findings, six key features were selected for modeling: machine quality grade, plant temperature, equipment temperature, rotation speed, torque, and operating time.</p>
   </sec>
  </sec><sec id="s4">
   <title>4 Experimental Results Analysis</title>
   <sec id="s4_1">
    <title>4.1 Model Performance Evaluation and Comparative Analysis</title>
    <p>The initial feature selection was guided by both domain expertise and statistical significance, using chi-square tests for categorical variables and ANOVA for continuous variables. Before constructing the fault detection and classification models, we examined potential multicollinearity among the selected features. Pearson correlation coefficients were computed, and a heatmap was generated to visualize variable relationships. As shown in <xref ref-type="fig" rid="fig2">
      Figure 2
     </xref>, the results indicate a strong positive correlation between equipment temperature and factory temperature, with a correlation coefficient of 0.86. Additionally, a strong negative correlation is observed</p>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref></p>
    <fig id="fig2" position="float">
     <label>Figure 2</label>
     <caption>
      <title>Figure 2. Heatmap of feature variable correlations.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733144-rId111.jpeg?20250428113555" />
    </fig>
    <p>
     <xref ref-type="bibr" rid="scirp.142298-"></xref>between speed and torque, with a correlation coefficient of −0.88. To reduce the potential adverse effects of multicollinearity—such as instability in parameter estimation and reduced predictive performance—plant temperature and torque were excluded from model training. The remaining variables, equipment temperature and rotation speed, were retained along with the other non-redundant features to ensure model robustness.</p>
    <p>Further analysis revealed a significant class imbalance in the sample data. In the binary variable representing “whether a fault occurred,” normal operation data accounted for 96.65%, while fault data constituted only 3.35%. Regarding specific fault categories, “Normal” represented 96.65%, while the proportions of other fault categories were: TWF (0.46%), HDF (1.06%), PWF (0.82%), OSF (0.94%), and RNF (0.07%). Class imbalance can lead the model to favor the majority class during training, resulting in the neglect of minority class samples, which negatively impacts model robustness and classification performance. To address this issue, this study applied a class weight adjustment strategy when using the SVM and CART models, assigning higher weights to the minority class to mitigate the effects of data imbalance on model performance. During model training, the dataset was divided into a 70% training set and a 30% test set. Fault detection and classification models were established using the SVM and CART algorithms, respectively. Model performance was comprehensively evaluated based on indicators including F1 score, AUC, accuracy, recall, and precision. After training, the evaluation metrics were calculated using the test set, and the results are presented in <xref ref-type="table" rid="table3">
      Table 3
     </xref>.</p>
    <table-wrap id="table3">
     <label>
      <xref ref-type="table" rid="table3">
       Table 3
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.142298-"></xref>Table 3. Model evaluation metrics.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Fault Classification Model</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">F1</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">AUC</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Accuracy</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Recall</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Precision</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter"><p style="text-align:center">SVM Model</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">0.86</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">0.9258</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">0.79</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">0.79</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">0.97</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">CART Model</p></td> 
       <td class="acenter"><p style="text-align:center">0.90</p></td> 
       <td class="acenter"><p style="text-align:center">0.9158</p></td> 
       <td class="acenter"><p style="text-align:center">0.86</p></td> 
       <td class="acenter"><p style="text-align:center">0.86</p></td> 
       <td class="acenter"><p style="text-align:center">0.97</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>From the results in <xref ref-type="table" rid="table3">
      Table 3
     </xref>, it can be observed that the SVM model slightly outperforms the CART model in terms of AUC, indicating a marginally stronger ability to distinguish between positive and negative samples. However, the CART model demonstrates superior performance in terms of F1 score, accuracy, and recall, particularly excelling in the fault detection task by achieving higher accuracy and robustness. Specifically, the F1 score of the CART model reaches 0.90, representing a significant improvement compared to the SVM model’s score of 0.86. Both the recall and accuracy of the CART model are also 0.86, further validating its effectiveness in fault detection. Additionally, although the precision of the SVM model is comparable to that of the CART model, its lower recall results in a reduced overall F1 score. In fault detection scenarios, timely and accurate identification of fault samples is critical. A higher recall rate plays a key role in reducing the false negative rate, making it particularly important. Considering this, the CART model was ultimately chosen as the primary model for fault classification in this study to ensure more reliable fault detection in practical applications. <xref ref-type="fig" rid="fig3">
      Figure 3
     </xref> further illustrates the ROC curves of the SVM and CART models, providing a visual comparison of their classification performance.</p>
    <p>However, in the identification of specific fault categories, the CART model may suffer from model complexity and overfitting in multi-class classification scenarios. To address this, this study further employs the random forest model for detailed fault classification. As an ensemble learning method, the random forest model enhances the stability and generalization ability of the model by training multiple decision trees and applying a voting mechanism. Additionally, it offers robust feature importance analysis capabilities, which aid in identifying the key factors contributing to faults. Therefore, this study conducts detailed fault classification and feature importance analysis using the random forest model.</p>
    <fig id="fig3" position="float">
     <label>Figure 3</label>
     <caption>
      <title>Figure 3. ROC curve Comparison of SVM and cart models.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733144-rId112.jpeg?20250428113555" />
    </fig>
   </sec>
   <sec id="s4_2">
    <title>
     <xref ref-type="bibr" rid="scirp.142298-"></xref>4.2. Feature Importance Analysis and Fault Cause Exploration</title>
    <p>Considering that the random forest model is insensitive to multicollinearity, all selected feature variables were input into the model for training to maximize the use of sample information. The model’s performance was then evaluated using the test set. The results indicate that the random forest model performed well in fault detection and classification tasks. Specifically, the model achieved an F1 score of 0.88, an accuracy of 0.82, a precision of 0.97, and a recall of 0.82, demonstrating a well-balanced trade-off between precision and recall.</p>
    <p>To further investigate the main causes of different fault types, this study analyzed the mean values of feature attributes corresponding to each fault category to identify variations in feature variables across different fault types. The main feature means for each fault category are presented in <xref ref-type="table" rid="table4">
      Table 4
     </xref>.</p>
    <p>The following patterns can be observed from <xref ref-type="table" rid="table4">
      Table 4
     </xref>: (1) Correlation between speed and fault type: The average speed of power faults (PWF) is higher, whereas</p>
    <table-wrap id="table4">
     <label>
      <xref ref-type="table" rid="table4">
       Table 4
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.142298-"></xref>Table 4. Mean values of key features for different fault types.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Features Variables</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">Normal</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">PWF</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">OSF</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">TWF</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">RNF</p></td> 
       <td class="custom-bottom-td acenter"><p style="text-align:center">HDF</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter"><p style="text-align:center">Factory Temperature</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">300.2</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">300.4</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">300.3</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">300.6</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">301.4</p></td> 
       <td class="custom-top-td acenter"><p style="text-align:center">302.6</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">Equipment Temperature</p></td> 
       <td class="acenter"><p style="text-align:center">310.2</p></td> 
       <td class="acenter"><p style="text-align:center">310.1</p></td> 
       <td class="acenter"><p style="text-align:center">310.3</p></td> 
       <td class="acenter"><p style="text-align:center">310.4</p></td> 
       <td class="acenter"><p style="text-align:center">310.7</p></td> 
       <td class="acenter"><p style="text-align:center">310.8</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">Rotation Speed</p></td> 
       <td class="acenter"><p style="text-align:center">1540.9</p></td> 
       <td class="acenter"><p style="text-align:center">1802.8</p></td> 
       <td class="acenter"><p style="text-align:center">1346.3</p></td> 
       <td class="acenter"><p style="text-align:center">1573.1</p></td> 
       <td class="acenter"><p style="text-align:center">1498.2</p></td> 
       <td class="acenter"><p style="text-align:center">1339.2</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">Torque</p></td> 
       <td class="acenter"><p style="text-align:center">39.6</p></td> 
       <td class="acenter"><p style="text-align:center">46.6</p></td> 
       <td class="acenter"><p style="text-align:center">58.4</p></td> 
       <td class="acenter"><p style="text-align:center">38</p></td> 
       <td class="acenter"><p style="text-align:center">42.2</p></td> 
       <td class="acenter"><p style="text-align:center">52.2</p></td> 
      </tr> 
      <tr> 
       <td class="acenter"><p style="text-align:center">Usage Time</p></td> 
       <td class="acenter"><p style="text-align:center">106.6</p></td> 
       <td class="acenter"><p style="text-align:center">89.1</p></td> 
       <td class="acenter"><p style="text-align:center">206.9</p></td> 
       <td class="acenter"><p style="text-align:center">216.7</p></td> 
       <td class="acenter"><p style="text-align:center">107</p></td> 
       <td class="acenter"><p style="text-align:center">101.7</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>the average speed of heat dissipation faults (HDF) is significantly lower. (2) Impact of torque: Overload faults (OSF) exhibit the highest average torque, reaching 58.4 Nm, while normal equipment has the lowest average torque at only 39.6 Nm. (3) Effect of usage time: Wear faults (TWF) and overload faults (OSF) are generally associated with longer usage times, further confirming the significant correlation between equipment aging or excessive use and fault occurrence.</p>
    <p>
     <xref ref-type="fig" rid="fig4">
      Figure 4
     </xref> illustrates the distribution of various types of faults across different machine quality levels. As shown in the figure, regardless of the fault type, equipment with quality level L exhibits a significantly higher probability of fault compared to equipment with quality levels M and H. Notably, in the case of TWF faults, although higher-quality equipment experiences fewer faults, the risk of fault increases with longer usage time. Even for equipment with higher quality levels, the likelihood of fault becomes substantial as operational time extends.</p>
    <fig id="fig4" position="float">
     <label>Figure 4</label>
     <caption>
      <title>Figure 4. Distribution of fault types across different machine quality levels.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733144-rId113.jpeg?20250428113555" />
    </fig>
    <p>To further quantify the impact of each feature variable on fault occurrence, this study calculated feature importance using the random forest model. <xref ref-type="fig" rid="fig5">
      Figure 5
     </xref>. presents the feature importance rankings, revealing the following insights: 1) Usage time is the most important feature variable, with an impact on fault occurrence reaching 34.86%. This indicates that the likelihood of fault increases significantly as the equipment’s usage time extends. 2) Torque and rotation speed have importance scores of 30.23% and 14.06%, respectively, suggesting that these two variables are closely associated with the equipment’s load and operating status. 3) Factory temperature and equipment temperature contribute to fault occurrence with importance scores of 8.84% and 7.45%, respectively, indicating that temperature has a moderate influence on equipment faults. 4) Machine quality grade has the lowest importance score, suggesting that in the same working environment, its impact on fault occurrence is relatively minor.</p>
    <fig id="fig5" position="float">
     <label>Figure 5</label>
     <caption>
      <title>Figure 5. Feature importance ranking.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733144-rId114.jpeg?20250428113555" />
    </fig>
    <p>To further identify differentiated features, the feature distributions of different fault categories were analyzed. <xref ref-type="fig" rid="fig6">
      Figure 6
     </xref>. presents the box plots of factory temperature, equipment temperature, rotation speed, torque, and usage time.</p>
    <p>The following insights can be drawn from <xref ref-type="fig" rid="fig6">
      Figure 6
     </xref>: 1) HDF: The temperature distribution of heat dissipation faults is relatively concentrated, with the minimum temperature significantly higher than the median of other fault types. Notably, the probability of heat dissipation fault increases sharply when the equipment temperature exceeds 310K. 2) PWF: PWF also exhibit a concentrated temperature distribution and typically occur in high-temperature environments. Special attention should be paid to the risk of power faults when the equipment temperature is elevated. 3) Relationship Between Rotation Speed and Torque: HDF and OSF are more likely to occur when the speed falls below 1500 rpm or the torque exceeds 40 Nm. In contrast, PWF are more common at extremely high speeds or exceptionally low torque levels. 4) Impact of Usage Time: OSF and TWF predominantly occur during extended usage periods. Therefore, regular maintenance and monitoring of long-running equipment can effectively reduce fault rates. This chapter analyzed the model’s performance and fault causes, identifying key factors influencing faults and providing support for equipment maintenance and detection.</p>
    <fig id="fig6" position="float">
     <label>Figure 6</label>
     <caption>
      <title>Figure 6. Box plot of feature distributions for different fault types.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/1733144-rId115.jpeg?20250428113555" />
    </fig>
   </sec>
  </sec><sec id="s5">
   <title>5. Conclusion</title>
   <p>This study investigates the fault detection and classification of industrial mechanical equipment using machine learning methods. Fault detection and multi-class classification models were developed based on SVM, CART, and Random Forest, and their performance was evaluated through comprehensive experiments. The results indicate that the models exhibit reasonable accuracy and robustness, and offer practical reference value for fault diagnosis and maintenance decisions in industrial scenarios. Feature importance analysis further reveals the contribution of key variables such as equipment temperature, rotation speed, and torque to various fault types. To further enhance the adaptability and scalability of the proposed approach, subsequent research will consider evaluation across more diverse and heterogeneous datasets, enabling broader applicability in varied industrial settings. This may also provide a foundation for comparing traditional machine learning methods with deep learning models, offering deeper insights into their relative strengths under different data conditions.</p>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.142298-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Qi, G., Zhu, Z., Erqinhu, K., Chen, Y., Chai, Y. and Sun, J. (2018) Fault-Diagnosis for Reciprocating Compressors Using Big Data and Machine Learning. Simulation Modelling Practice and Theory, 80, 104-127. &gt;https://doi.org/10.1016/j.simpat.2017.10.005
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Carvalho, T.P., Soares, F.A.A.M.N., Vita, R., Francisco, R.D.P., Basto, J.P. and Alcalá, S.G.S. (2019) A Systematic Literature Review of Machine Learning Methods Applied to Predictive Maintenance. Computers&amp;Industrial Engineering, 137, Article ID: 106024. &gt;https://doi.org/10.1016/j.cie.2019.106024
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cohen, J., Jiang, B. and Ni, J. (2021) Machine Learning for Diagnosis of Event Synchronization Faults in Discrete Manufacturing Systems. Journal of Manufacturing Science and Engineering, 144, Article ID: 071006. &gt;https://doi.org/10.1115/1.4052762
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gao, S., Xu, L., Zhang, Y. and Pei, Z. (2020) Rolling Bearing Fault Diagnosis Based on Intelligent Optimized Self-Adaptive Deep Belief Network. Measurement Science and Technology, 31, Article ID: 055009. &gt;https://doi.org/10.1088/1361-6501/ab50f0
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cao, H., Shao, H., Zhong, X., Deng, Q., Yang, X. and Xuan, J. (2022) Unsupervised Domain-Share CNN for Machine Fault Transfer Diagnosis from Steady Speeds to Time-Varying Speeds. Journal of Manufacturing Systems, 62, 186-198. &gt;https://doi.org/10.1016/j.jmsy.2021.11.016
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ding, Y., Jia, M., Miao, Q. and Cao, Y. (2022) A Novel Time-Frequency Transformer Based on Self-Attention Mechanism and Its Application in Fault Diagnosis of Rolling Bearings. Mechanical Systems and Signal Processing, 168, Article ID: 108616. &gt;https://doi.org/10.1016/j.ymssp.2021.108616
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Amin, A., Bibo, A., Panyam, M. and Tallapragada, P. (2022) Vibration Based Fault Diagnostics in a Wind Turbine Planetary Gearbox Using Machine Learning. Wind Engineering, 47, 175-189. &gt;https://doi.org/10.1177/0309524x221123968
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zhang, H., Pan, C., Wang, Y., Xu, M., Zhou, F., Yang, X., et al. (2022) Fault Diagnosis of Coal Mill Based on Kernel Extreme Learning Machine with Variational Model Feature Extraction. Energies, 15, Article 5385. &gt;https://doi.org/10.3390/en15155385
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Okwuosa, C.N. and Hur, J. (2022) A Filter-Based Feature-Engineering-Assisted SVC Fault Classification for SCIM at Minor-Load Conditions. Energies, 15, Article 7597. &gt;https://doi.org/10.3390/en15207597
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Purbowaskito, W., Lan, C. and Fuh, K. (2024) The Potentiality of Integrating Model-Based Residuals and Machine-Learning Classifiers: An Induction Motor Fault Diagnosis Case. IEEE Transactions on Industrial Informatics, 20, 2822-2832. &gt;https://doi.org/10.1109/tii.2023.3299111
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Tao, Y., Yu, T. and Yang, J. (2024) Photovoltaic Array Fault Diagnosis and Localization Method Based on Modulated Photocurrent and Machine Learning. Sensors, 25, Article 136. &gt;https://doi.org/10.3390/s25010136
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Vashishtha, G., Chauhan, S., Sehri, M., Zimroz, R., Dumond, P., Kumar, R., et al. (2025) A Roadmap to Fault Diagnosis of Industrial Machines via Machine Learning: A Brief Review. Measurement, 242, Article ID: 116216. &gt;https://doi.org/10.1016/j.measurement.2024.116216
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref13">
    <label>13</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Muzzammel, R. (2025) Comprehensive Exploration of Limitations of Simplified Machine Learning Algorithm for Fault Diagnosis under Fault and Ground Resistances of Multiterminal High-Voltage Direct Current System. Journal of Sensor and Actuator Networks, 14, Article 29. &gt;https://doi.org/10.3390/jsan14020029
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref14">
    <label>14</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Wu, W. (2025) Automotive Motor Fault Diagnosis Model Integrating Machine Learning Algorithm and Fuzzy Control Theory. International Journal of Fuzzy Systems.
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref15">
    <label>15</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Duan, L., Xie, M., Bai, T. and Wang, J. (2016) A New Support Vector Data Description Method for Machinery Fault Diagnosis with Unbalanced Datasets. Expert Systems with Applications, 64, 239-246. &gt;https://doi.org/10.1016/j.eswa.2016.07.039
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref16">
    <label>16</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Jablon, L.S., Avila, S.L., Borba, B., Mourão, G.L., Freitas, F.L. and Penz, C.A. (2020) Diagnosis of Rotating Machine Unbalance Using Machine Learning Algorithms on Vibration Orbital Features. Journal of Vibration and Control, 27, 468-476. &gt;https://doi.org/10.1177/1077546320929830
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref17">
    <label>17</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Huang, Y., Xu, Z., Cao, L., Hu, H. and Tang, G. (2022) Fractional Dimensionless Indicator with Random Forest for Bearing Fault Diagnosis under Variable Speed Conditions. Shock and Vibration, 2022, Article ID: 1781340. &gt;https://doi.org/10.1155/2022/1781340
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref18">
    <label>18</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Jin, Y., Qin, C., Zhang, Z., Tao, J. and Liu, C. (2022) A Multi-Scale Convolutional Neural Network for Bearing Compound Fault Diagnosis under Various Noise Conditions. Science China Technological Sciences, 65, 2551-2563. &gt;https://doi.org/10.1007/s11431-022-2109-4
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref19">
    <label>19</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Han, S., Shao, H., Cheng, J., Yang, X. and Cai, B. (2023) Convformer-NSE: A Novel End-To-End Gearbox Fault Diagnosis Framework under Heavy Noise Using Joint Global and Local Information. IEEE/ASME Transactions on Mechatronics, 28, 340-349. &gt;https://doi.org/10.1109/tmech.2022.3199985
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref20">
    <label>20</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Mian, T., Choudhary, A. and Fatima, S. (2023) Multi-Sensor Fault Diagnosis for Misalignment and Unbalance Detection Using Machine Learning. IEEE Transactions on Industry Applications, 59, 5749-5759. &gt;https://doi.org/10.1109/tia.2023.3286833
    </mixed-citation>
   </ref>
   <ref id="scirp.142298-ref21">
    <label>21</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Prawin, J. (2024) Deep Learning Neural Networks with Input Processing for Vibration-Based Bearing Fault Diagnosis under Imbalanced Data Conditions. Structural Health Monitoring, 24, 883-908. &gt;https://doi.org/10.1177/14759217241246508
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>