Steel Plate Defect Prediction

1. Problem Statement

Envision you're an analyst at a steel manufacturing plant where quality control is a top priority. The plant produces steel plates for various industries, but defects occasionally occur, leading to production delays, increased material waste, and compromised product quality. Identifying these defects early in the manufacturing process is critical to maintaining customer satisfaction and reducing costs. The plant manager is seeking a data-driven solution to enhance their defect detection capabilities.

You have been given a dataset with features related to the shape, size, and other characteristics of steel plates, along with labels indicating the presence and type of defect. Your task is to build a multi-label classification model that can accurately predict the presence of each defect type. By leveraging machine learning techniques, you will help streamline the manufacturing process, reduce material waste, and improve overall product quality, leading to increased customer satisfaction and cost savings. Your model will play a key role in ensuring that only high-quality steel plates are shipped to customers, reinforcing the plant's reputation for excellence.

Goal: The goal of this project is to build a classification model that can accurately predict the presence of various defects in steel plates.

2. Data Description

The dataset for this competition (both train and test) was generated from a deep learning model trained on the Steel Plates Faults dataset from UCI. Feature distributions are close to, but not exactly the same, as the original.

Data Source: Kaggle Playground Series S4E3

Download Data

3. Your Task

Your task is to build a multi-label classification model to predict the presence of each defect type.

  1. Data Exploration and Preprocessing:
    • Load the dataset using Pandas.
    • Explore the data to understand the distribution of features.
    • Handle missing values, if any.
    • Scale numerical features to ensure fair treatment in the model.
  2. Feature Engineering (Optional):
    • Create new features that may improve model performance.
  3. Model Building:
    • Split the data into training and validation sets.
    • Choose a suitable multi-label classification algorithm (e.g., Random Forest, Gradient Boosting).
    • Train the model on the training data.
  4. Model Evaluation:
    • Evaluate the model's performance on the validation data.
    • Use metrics such as accuracy, precision, recall, F1-score, and AUC-ROC.
  5. Prediction and Submission:
    • Make predictions on the test data.

Python Libraries: Pandas, NumPy, scikit-learn, Matplotlib/Seaborn.