Skip to content

JackLaiplus/Project_SECOM-PatternMining

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 

Repository files navigation

Project_SECOM-PatternMining

本專案源自 BDSE37 Data Mining 課堂上的資料集(Dataset)分析作業,此資料集來源於 SECOM。SECOM 是一組由 UCI Machine Learning Repository 提供的工業製程資料集,完整名稱是 SECOM Manufacturing Data Set。而資料集來源於一家半導體製造公司(實際公司名稱未公開),主要應用場景用來進行製程品質監控與瑕疵預測(如早期故障偵測、品質異常檢測等),

  • 本專案欲探討用 機器學習(Machine Learning, ML) 技術在面對這份半導體產線的感測器大量數據資料集(欄位多、缺值多、分布不均)時,如何將這份資料集做二元分類,進而發掘隱藏的規律與模式(如:群組間差異、潛在關聯、異常感測器行為)

故本專案旨在以最直觀的方式,來找出最可能導致不良的感測器與異常模式,並把發現轉化為可以落地的製程監控與改善建議。專案目的是從這些大量感測器數據中找出與產品瑕疵(y=1)有關的潛在模式與異常。

專案目標

  1. 群組分析

    • 以目標變數 y(0 = 正常產品,1 = 有缺陷)進行群組分群。
    • 分析各感測器在不同群組下的統計特徵(平均值、標準差、極值等)。
  2. 視覺化分析

    • 使用圖表工具(箱型圖、熱圖、SVM 等)呈現感測器在不同群組中的分布與變異。
    • 協助發現可能關鍵的異常感測器。

資料集說明

本專案使用來自 UCI Machine Learning Repository 的 SECOM 製造感測器資料集(2008),其來源為一家半導體製造公司,用感測器監控製程品質並預測產品是否不良。該資料集為高維感測器資料,常用於資料探勘中的特徵選取、維度縮減、分類建模與異常偵測任務。

  • 資料集概覽
項目 數量
資料筆數 1567
總欄位數 592
感測器欄位 590 個(欄位名稱為 0589
時間欄位 Time(1567筆時間戳)
目標變數 Pass/Fail1 = 通過檢測,-1 = 不合格)
  • 目標變數y - Pass/Fail

    • 類別型變數,用來表示每一筆樣本是否為瑕疵產品
  • 資料特性

    • 多數感測器變數存在不同程度的缺失值,部分欄位缺失超過 90%
    • 各感測器變數為連續型資料,但未提供具體單位或感測器名稱(為匿名特徵)
    • 存在大量共線性、零變異或極端值變數,適合進行資料清洗與降維處理

使用技術

建模與資料分析工具

  • 語言與環境:Python 3.x、Jupyter Notebook
  • 資料處理:Pandas、NumPy
  • 視覺化:Matplotlib、Seaborn
  • 機器學習:scikit-learn

分析與結論

分析步驟 主要觀察 關鍵發現與建議
資料探索 - 資料:1567 筆、592 欄(590 個感測器)
- 缺失值:部分感測器缺失率超過 90%
- 目標分布:Fail 樣本比例低
- 變異檢查:是否存在零變異與高度共線
- 缺失值需填補或刪除
- 移除零變異與高共線特徵
- 處理類別不平衡(重抽樣/加權)
群組分析 - 統計摘要:比較 Pass/Fail 群組的感測器均值、標準差、缺失率
- 效果量 (SMD):篩選與瑕疵高度相關的感測器
- 顯著性檢定:Welch t-test + BH 校正
- 高 SMD 感測器可能與瑕疵高度相關
- 建議驗證並優先監控這些感測器
視覺化分析 - 混淆矩陣熱圖 & ROC 曲線:顯示感測器間相關性
- 建議用 PCA 減少冗餘特徵
綜合結論 - 品質異常關鍵特徵來自高 SMD 與顯著性檢定結果
- 完整的特徵工程與降維處理可大幅提升模型效率與可解釋性

參考資料

資料來源: UCI SECOM 資料集 https://www.kaggle.com/datasets/paresh2047/uci-semcom

About

【Data Mining】UCI SECOM Dataset

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published