AI-driven application for predictive maintenance in manufacturing. The app helps monitor machine performance and predicts potential failures, enabling timely maintenance and minimizing downtime. The application leverages machine learning models to analyze historical data and predict equipment failures.
- Upload Data: Upload historical machine performance data for analysis.
- Train Model: Train the predictive maintenance model using the uploaded data.
- Predict Maintenance: Predict the likelihood of a machine failure based on trained models.
- Show Visualization: Display the failure distribution and success/failure rates with interactive visualizations.
The following Python libraries are required to run the application:
pandas
- for data manipulation and analysis.matplotlib
- for creating plots and visualizations.scikit-learn
- for machine learning model training.customtkinter
- for building the user interface.tkinter
- for the core Tkinter GUI framework.numpy
- for numerical operations.
- Clone the Repository Clone this repository to your local machine:
git clone https://github.com/kayung-developer/AI-Predictive-Maintenance.git
cd AI-Predictive-Maintenance
- Set Up Virtual Environment (Optional but Recommended) It's a good practice to create a virtual environment for managing dependencies:
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install Required Libraries Install the required libraries using pip:
pip install -r requirements.txt
- Run the Application Start the application with the following command:
python main.py
- Upload Data
- Click on the "Upload Data" button to upload historical machine performance data in a CSV format. The dataset should include machine performance metrics like failure indicators, operational hours, etc.
- Train Model
- After uploading the data, click the "Train Model" button to train the predictive maintenance model. The model will analyze the data and create a predictive model for failure predictions.
- Predict Maintenance
- Once the model is trained, click the "Predict Maintenance" button to predict potential maintenance needs. The prediction will tell you whether the machine is likely to fail in the near future or remain operational.
- Show Visualization
- To visualize the failure and success rates, click the "Show Visualization" button. This will display a chart showing the distribution of machine failures, allowing for better insights into failure trends and operational efficiency
ai-predictive-maintenance/
│
├── data/ # Folder for storing uploaded data
│ └── example_data.csv # Example dataset (optional)
│
├── main.py # Main application file
├── requirements.txt # Required Python packages
└── README.md # This README file
To test the application, you can use the following sample dataset:
To test the application, you can use the following sample dataset:
Machine | Failure | Time_to_failure |
---|---|---|
Machine 1 | Failure | 30 |
Machine 2 | Success | 200 |
Machine 3 | Failure | 45 |
Machine 4 | Failure | 50 |
Machine 5 | Success | 100 |
Note: The Failure
column should contain values such as Failure
or Success
indicating the state of the machine.
The "Show Visualization" button generates one of the following charts:
- Failure Distribution (Bar Chart): Displays the number of
Failure
vsSuccess
entries. - Success vs Failure (Pie Chart): Shows the proportion of
Failure
andSuccess
as a pie chart.
We welcome contributions to the project! If you have any improvements, bug fixes, or features to add, feel free to fork the repository and create a pull request.
- Fork the repository.
- Create your branch (git checkout -b feature/your-feature).
- Commit your changes (git commit -am 'Add your feature').
- Push to the branch (git push origin feature/your-feature).
- Create a new pull request.
- This project is licensed under the GNU General Public License - see the LICENSE file for details.
- This application leverages machine learning algorithms from scikit-learn to make predictions.
- The application uses matplotlib for visualizations and customtkinter for the user interface, making it visually appealing and user-friendly.
Here is a screenshot of the AI-powered Predictive Maintenance application: