  Refactoring enhances software quality without altering its functional
behaviors. Understanding the refactoring activities of developers is crucial to
improving software maintainability. With the increasing use of machine learning
(ML) libraries and frameworks, maximizing their maintainability is crucial. Due
to the data-driven nature of ML projects, they often undergo different
refactoring operations (e.g., data manipulation), for which existing
refactoring tools lack ML-specific detection capabilities. Furthermore, a large
number of ML libraries are written in Python, which has limited tools for
refactoring detection. PyRef, a rule-based and state-of-the-art tool for Python
refactoring detection, can identify 11 types of refactoring operations. In
comparison, Rminer can detect 99 types of refactoring for Java projects. We
introduce MLRefScanner, a prototype tool that applies machine-learning
techniques to detect refactoring commits in ML Python projects. MLRefScanner
identifies commits with both ML-specific and general refactoring operations.
Evaluating MLRefScanner on 199 ML projects demonstrates its superior
performance compared to state-of-the-art approaches, achieving an overall 94%
precision and 82% recall. Combining it with PyRef further boosts performance to
95% precision and 99% recall. Our study highlights the potential of ML-driven
approaches in detecting refactoring across diverse programming languages and
technical domains, addressing the limitations of rule-based detection methods.
