빅데이터 QAQC_3기/빅데이터 QAQC_3기 TIL

TIL_251107

usungusung 2025. 11. 7. 22:18

Today I learned

 

 

1. QAQC 문제풀이

1) Kmeans

from sklearn.cluster import KMeans
import pandas as pd
import numpy as np

# 데이터
df = pd.DataFrame({
'키': [160, 165, 170, 178, 183, 188, 152, 156],
'몸무게': [50, 55, 60, 68, 76, 82, 46, 49]
})

X = df[['키','몸무게']].values

model = KMeans(n_clusters = 2, random_state = 42, n_init = 10)
model.fit(X)

labels = model.predict(X)
print(labels)
[1 1 1 0 0 0 1 1]
 

 

2) PCA

from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
import pandas as pd
import numpy as np

df = pd.DataFrame({
'x': [1, 2, 3, 4],
'y': [2, 4, 6, 8]
})

# standardscaler
scaler = StandardScaler()
scaler.fit(df)

#PCA 접합
pca = PCA(n_components=2)
pca.fit(df)

explaned_variance_ratio= np.round(pca.explained_variance_ratio_, 1).tolist()
print(explaned_variance_ratio)
[1.0, 0.0]
 

 

3) DBSCAN

# DBSCAN

from sklearn.cluster import DBSCAN
import numpy as np
# 데이터 (두 개의 조밀 군집 + 1개 노이즈)
X = np.array([
[0.00, 0.00], [0.00, 0.10], [0.10, 0.00],
[5.00, 5.00], [5.10, 5.00], [5.00, 5.10],
[10.0, 10.0]
])

db = DBSCAN(eps = 0.2, min_samples = 2)
labels = db.fit_predict(X)
print(labels)
[ 0 0 0 1 1 1 -1]

2. 심화프로젝트

✅ Today I Learned (Steel Plate Fault Project)

  • 공정 데이터 / 품질 지표 데이터의 기초 통계 및 분포를 먼저 확인함.
  • 대부분 변수에서 극단적인 이상치가 존재했으며, 특히 Pixel_Areas, X_Perimeter, Y_Perimeter에서 영향이 큼.
  • 정규성 검정 결과 모든 변수 p-value > 0.05정규분포 X, 따라서 평균 기반이 아닌 IQR 기반 이상치 탐지가 적합함.
  • 극단값의 영향 완화를 위해 Winsorizing 적용 → 데이터 손실 없이 분포 왜곡 줄임.
  • 전체 상관계수 분석 결과, 일부 변수들 사이에서 높은 상관관계가 존재 (중복 정보 가능성 시사).
  • 결함 유형별로 공정 변수 영향도 분석:
    • 일부 결함은 특정 변수와의 패턴/분포 차이가 명확히 나타남.
    • 반면 어떤 결함은 변수들과 유의한 관계가 거의 없음.
  • 결함 유형별 위치 분포를 밀도 기반으로 시각화 → 결함이 공정 상 특정 영역에 집중되는지 확인하는 데 도움됨.

'빅데이터 QAQC_3기 > 빅데이터 QAQC_3기 TIL' 카테고리의 다른 글

TIL_251111  (0) 2025.11.11
TIL_251110  (1) 2025.11.10
TIL_251105  (0) 2025.11.05
TIL_251103  (0) 2025.11.03
TIL_251030  (0) 2025.10.30