Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Predictive Maintenance of Equipment #691

Merged
merged 38 commits into from
Jul 6, 2024

Conversation

siddhant4ds
Copy link
Contributor

Pull Request for ML-Crate 💡

Issue Title: Predictive Maintenance Equipment Instruments

  • Info about the related issue (Aim of the project) : Detecting machine failure based on different operational parameters for predictive maintenance of equipment. The dataset is modeled after an existing milling machine and consists of 10,000 data points stored as rows with 14 features in columns. Only 339 out of 10000 data points represent machine failure, making it an extremely imbalanced classification problem.

  • Name: Siddhant Tiwari

  • Email ID for further communication: siddhant.tiwari.ds@gmail.com

  • GitHub ID: siddhant4ds

  • Identify yourself: SSOC-3 (2024) Contributor

Closes: #633

Describe the add-ons or changes you've made 📃

  1. Exploratory analysis of features along with preprocessing.
  2. Feature engineering based on domain knowledge of different types of machine failures.
  3. Feature selection based on statistical tests.
  4. Created a holdout set for testing all the models using Stratified sampling to maintain imbalance ratio.
  5. Training and validation of multiple types and configurations of: linear models, support vector machines, tree models, tree ensembles, gradient-boosting trees and neural networks.
  6. Models were tuned and evaluated based on F2-score, which is a harmonic, weighted mean of precision and recall, with recall having twice the importance of precision. This is because identifying all instances of machine failure correctly is critical to us.
  7. Created a Streamlit web app to provide an interface for testing new data points with appropriate input methods. For inference, the best model is chosen i.e., AdaBoostClassifier trained on full feature set.

(Also renamed the project due to incorrect issue title)

Type of change ☑️

What sort of change have you made:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, local variables)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested? ⚙️

Reproducibility: multiple runs of machine learning models to produce same results.
Dependencies: running on local environment as well as cloud-hosted notebooks (Kaggle & Colab)
Web app: user-testing

Checklist: ☑️

  • My code follows the guidelines of this project.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly wherever it was hard to understand.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • I have added things that prove my fix is effective or that my feature works.
  • Any dependent changes have been merged and published in downstream modules.

Copy link

github-actions bot commented Jul 4, 2024

Our team will soon review your PR. Thanks @siddhant4ds :)

@abhisheks008
Copy link
Owner

image

Please add the demo video inside the README and check the images are not visible. Just copy the video and paste it inside the README, don't try to hyperlink the video.

@siddhant4ds

@abhisheks008 abhisheks008 added Requested Changes ⚙️ Some changes have been requested in this PR. SSOC labels Jul 6, 2024
@siddhant4ds
Copy link
Contributor Author

@abhisheks008 there was some issue with the relative path for images. I have fixed that and they should be visible. Also added the video using the method you suggested. Let me know if any other changes are required. Thanks

@abhisheks008 abhisheks008 added Approved ✅ This PR is approved by the PR or, Mentors. Advanced Points 40 - SSOC 2024 and removed Requested Changes ⚙️ Some changes have been requested in this PR. labels Jul 6, 2024
Copy link
Owner

@abhisheks008 abhisheks008 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved @siddhant4ds

@abhisheks008 abhisheks008 merged commit b6c2408 into abhisheks008:main Jul 6, 2024
@abhisheks008 abhisheks008 added the Points Added 🎉 This issue's points has been added to the leaderboard. label Jul 6, 2024
@siddhant4ds siddhant4ds deleted the predictive-maintenance branch July 6, 2024 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Advanced Points 40 - SSOC 2024 Approved ✅ This PR is approved by the PR or, Mentors. Points Added 🎉 This issue's points has been added to the leaderboard. SSOC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Predictive Maintenance Equipment Instruments
2 participants