Skip to content

Anil-45/Faulty_wafer_detection

Repository files navigation

Faulty Wafer Detection

Detect the faulty wafers using sensor data to get them replaced.

Table of Contents

General Information

In electronics, a wafer (also called a slice or substrate) is a thin slice of semiconductor used for the fabrication of integrated circuits. The goal is to build a machine learning model which predicts whether a wafer needs to be replaced or not (i.e., whether it is working or not) based on the inputs from various sensors. There are two classes: +1 and -1.

  • +1 means that the wafer is in a working condition and it doesn’t need to be replaced.
  • -1 means that the wafer is faulty and it needs to be replaced.

Data Description

Data is available as multiple sets of files. Each file will contain wafer names and 590 columns of different sensor values for each wafer and a column to indicate whether it is faulty [1] or not [-1]. Apart from data files, schema files are provided as a part of Data Sharing Agreement which contains all the relevant information about both train and test data such as:

  • File name convention
  • No of columns in each file
  • Data type of each column
  • Name of the columns

Libraries

  • Application Framework - flask, wsgiref
  • Database operations - sqlite3
  • Data processing and ML - numpy, pandas, matplotlib, sklearn, xgboost, kneed, pickle
  • General operations - os, shutil, csv, json, re, datetime, time

Screenshots

Example screenshot

Setup

Clone this repo using

git clone https://github.com/Anil-45/Faulty_wafer_detection.git

Install the required modules using

pip install -r requirements.txt

You can download data from here and place in data/raw/train and data/raw/test

Usage

Run the following command to start the application

python app.py

Open the application

  • Upload Train CSV use this option to upload custom training files
  • Train trains the model the using uploaded training files
  • Default Train trains the model using default files. Make sure the data files are present in data/raw/train to train the model. Trained models are saved to models folder
  • Default Predict predicts the output using saved models. Make sure the data files are present in data/raw/test for prediction
  • Upload Test CSV use this option to upload custom test files
  • Predict predicts the outcome of custom files using saved models

You can find the logs in logs folder

Contact

Created by @Anil_Reddy

License

This project is available under the MIT.