Today I Learned

[내일배움캠프 QA/QC 6기] TIL #027

JiJi0406 2026. 6. 18. 21:31

001

오늘의 코드카타

37. 행렬의 덧셈

 

문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

 

제한조건

  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

입출력 예

arr1 arr2 return
[[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]]
[[1],[2]] [[3],[4]] [[4],[6]]

 

 

더보기
def solution(arr1, arr2):
    return [[x + y for x, y in zip(z, w)] for z, w in zip(arr1, arr2)]
# 예전에 코드카타 풀면서 배웠던 zip 함수 오랜만에 다시 씀

 

☆ 작동 원리

1. 바깥쪽 zip: z에 arr1의 [1, 2] / w에 arr2의 [3, 4] / ...(반복) 

2. 안쪽 zip: x에 [1, 2]의 1 / y에 [3, 4]의 3 → x + y / ...(반복)

3. 대괄호 2개([[ ]]): 안쪽 대괄호가 [4, 6]을 만들고, 바깥쪽 대괄호가 그걸 감싸쥼 → [[4, 6], [7, 9]]

 

 

 


 


002

오늘 학습한 내용

데이터 분석 심화 주차 D+2

 

[ 머신 러닝 기초 ]

어제 라이브 세션 들었던 거 다시 정리

 

1. 머신러닝?

  • 정의: 컴퓨터가 데이터를 학습해서 스스로 패턴과 의미를 찾아내도록 하는 연구 분야
  • 제조업에서의 역할: 품질 데이터 자동 분석, 공정 이상 탐지 및 예측, 결함률 감소 → 생산성 향상

 

2. 머신러닝 학습의 종류

1) 지도학습

정답(Label)이 있는 데이터를 사용해 학습하는 방법

입력 데이터(X)와 정답 데이터(Y)를 함께 학습

 

(1) 분류(Classification)

정해진 카테고리 중 하나를 예측하는 문제

  • 이진 분류 : 정상/비정상처럼 두 가지 결과
  • 다중 분류 : A/B/C 등 여러 결과

- 대표 모델

  • 로지스틱 회귀 : 선형 결합을 이용해 사건 발생 확률을 ~ 1 사이로 예측
  • 의사결정트리 ⭐(Like 스무고개) : 데이터를 여러 조건으로 반복 분할해 예측 or 의사결정 과정을 트리 구조로 표현
  • SVM(서포트 벡터 머신) : 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만든다.

(2) 회귀(Regression)

연속적인 숫자 값을 예측하는 문제

- 대표 모델

선형 회귀 / 다항 회귀 / 랜덤 포레스트 회귀

  • 선형 회귀 : y = ax + b
  • 다항 회귀 : 독립변수 x와 종속변수 y 간의 관계가 x의 다항식
  • 릿지 회귀 / 라쏘 회귀 (자세히 몰라도 됨)
  • 랜덤 포레스트 회귀 : 훈련 과정에서 구성한 다수의 결정 트리로부터 부류(분류) 또는 평균 예측치(회귀 분석)를 출력함으로써 동작
  • SVR

2) 비지도학습

정답(Label)이 없는 데이터를 활용하여 데이터 속 패턴이나 구조를 찾는 방법 

데이터 간의 유사성차이를 파악

 

(1) 클러스터링 (군집 분석)

비슷한 특성을 가진 데이터끼리 그룹으로 묶는 방법

학부 시절 유세포분석 배울 때 들어봤음

(2) 차원 축소(Dimensionality Reduction)

많은 변수 중 중요한 정보만 남기고 데이터를 압축하는 방법

(ex. 공정 센서 데이터가 수천 개 존재할 때, 핵심 정보만 추출하여 분석 효율 ↑)

 

 

3. Scikit-learn

: 파이썬 머신러닝 라이브러리

pip install scikit-learn

 

- 주요 기능

  • 분류 및 회귀 모델
  • 클러스터링 및 차원 축소
  • 데이터 전처리
  • 모델 평가
  • 데이터 분할

 

4. 머신러닝 모델링 과정

1) 문제 정의
:지도학습? 비지도학습? 분류/회귀? 

2) 데이터 전처리
결측치 처리 / 이상치 제거 / 데이터 타입 확인 / 정규화 / 피처 엔지니어링 (변수 선택 및 새로운 변수 생성 과정)

3) 데이터 분할
학습 데이터와 평가 데이터 분리
Train : 80% / Test : 20% 비율을 많이 사용

4) 모델 학습 및 평가
모델을 선택한 뒤 학습 데이터를 이용해 학습하고, 테스트 데이터로 성능을 확인

5) 하이퍼파라미터 튜닝
모델 성능 향상을 위해 사용자가 직접 설정하는 값을 조정하는 과정
같은 모델이라도 하이퍼파라미터 설정에 따라 성능이 크게 달라질 수 있다!

 

 


 

 

[ 기초 통계 ]

 * 데이터 탐색 전 확인할 것 3가지

df.head()
df.describe()
df.info()

 

1. 확률변수 & 확률분포

1) 확률변수

: 어떤 시행의 결과를 숫자로 표현한 변수

 

(1) 이산형 확률변수 : 셀 수 있는 값을 가지는 변수

(2) 연속형 확률변수 : 실수 범위 내 무한한 값을 가지는 변수

import numpy as np
# 이산형: 하루 불량 개수
discrete = np.random.choice([0,1,2,3,4,5], size=100, p=[0.1,0.2,0.3,0.2,0.1,0.1])
# 연속형: 제품 길이 (정규분포 가정)
continuous = np.random.normal(loc=100, scale=5, size=100)

 

 

2) 확률분포

: 확률변수가 어떤 값을 가질 확률을 나타낸 규칙, 모든 확률의 합 = 1

 

2. PMF & PDF

 

1) PMF (확률질량함수)

이산형 데이터의 확률, "특정 값이 나올 확률"

 

2) PDF (확률밀도함수)

연속형 데이터의 확률, "구간의 확률" / PDF 그래프의 면적 = 확률

- 길이가 정확히 10.0000mm일 확률 (X)

- 길이가 9.8mm ~ 10.2mm 사이일 확률 (O)

 

 

3) KDE (커널 밀도 추정)

: 데이터만 가지고 PDF를 추정하는 방법

sns.kdeplot()

 

 

3. 대표적인 확률분포

 

1) 이항분포

: 성공 or 실패처럼 결과가 두 개뿐인 상황에서 사용 (베르누이 시행)

 

2) 포아송분포

: 특정 시간 또는 공간에서 발생하는 사건의 횟수

 

 

4. 정규분포 ★

: 품질관리에서 가장 많이 사용하는 분포

- 실제 제조업 품질 데이터도 정규분포를 따른다고 가정하는 경우가 많다!

- SPC 관리도 / Z-점수 해석 / 3시그마 개념

 

1) 68-95-99.7 법칙

- in 정규분포

  • ±1σ → 약 68%
  • ±2σ → 약 95%
  • ±3σ → 약 99.7%

 

대부분의 데이터는 평균 근처에 몰려 있고 극단적인 값은 매우 적다.

 

2) 식스시그마

  • ±6σ 범위 안에 거의 모든 데이터 포함
  • 불량률 약 3.4ppm 수준

- 100만 개를 생산했을 때 불량품이 3~4개 정도만 발생하는 수준의 매우 우수한 공정을 의미!

 

5. Cp와 Cpk

1) Cp (공정능력지수)

공정이 허용 범위 안에서 얼마나 안정적으로 생산되는지 평가 (관리상한선 - 관리하한선 / 6시그마)

  • Cp > 1.33 : 양호
  • Cp < 1 : 개선 필요

Cp는 공정의 퍼짐(산포)만 평가

 

2) Cpk (공정성능지수)

Cp에 공정 중심 위치까지 고려한 지표

  • Cpk > 1.33 : 안정적인 공정
  • Cp는 높은데 Cpk가 낮음 → 정밀 but 중심 어긋
- Cp : 얼마나 정밀?
- Cpk : 얼마나 정밀하고 중심도 잘 맞는지?

요것도 정도관리랑 공중보건학 배울 때 봤음

 

실무에서는 Cpk를 더 중요하게 보는 경우가 많다고 한다!

 

6. 표준화 & 정규화

머신러닝에서 자주 등장하는 개념!

데이터마다 단위와 범위가 다르면 모델이 특정 변수만 중요하게 판단할 수 있기 때문에, 스케일을 맞춰줘야 한다.

 

1) 정규화 

: 데이터를 0~1 범위로 압축

(x - min) / (max - min)

 

- 특징

  • 값 범위 통일
  • 이상치에 민감

2) 표준화 

: 평균 0, 표준편차 1로 변환

(x - mean) / std

Z-score

 

- 특징

  • 이상치 영향이 상대적으로 적음
  • 데이터 분포 정보 유지

- 사용 예시: 선형회귀, 로지스틱 회귀, 머신러닝 모델 전반...

 

3) 정규화 vs 표준화

정규화 표준화
범위를 맞춤 (0~1) 평균 기준으로 변환
0~1로 압축 평균 0, 표준편차 1
이상치에 민감 이상치에 (비교적) 강함
MinMaxScaler StandardScaler

 

 

7. 이상치 탐지

이상치는 분석 결과를 왜곡할 수 있기 때문에 반드시 확인해야 한다.

 

1) Z-score 방식

: 평균에서 몇 표준편차 떨어져 있는지 계산

- 일반적으로 |Z| > 3 이면 이상치로 판단

 

 

8. 분포 시각화

 

- 히스토그램(데이터 분포 확인), 박스플롯(중앙값 / 사분위수 / 이상치 확인), 바이올린플롯(분포 형태 + 밀도 확인)

 

프로젝트 때 만들었던 거...