☆ To Do List ☆
- AI 진단퀴즈
- 데이터 코드카타
- 프로젝트 진행 내용 정리
- TIL 작성 및 제출
🤖 에이타니
어제와 동일하게 AI진단퀴즈 대신 리뷰노트를 통해 이전에 틀렸던 개념들에 대해 복습하는 시간을 가졌다. 통계를 배우기까지는 틀렸던 문제 위주로 복습하는 시간을 가질 것 같다.

- 막대그래프는 시간 변화를 보여주는 경우에 사용하는 것은 적합하지 않다. 시간 변화는 선 그래프가 더 적합하다.
- & : AND
- | : OR
- 이상치를 평균값으로 대체하는 경우 분산이 인위적으로 감소한다.
🔐 CodeKata
● 하샤드 수

def solution(n):
n_str = str(n) # 숫자를 문자열로 반환
# 숫자 각 자리의 합
sum_n = 0
for n_char in n_str:
sum_n += int(n_char)
# 하샤드 수인지 판별하기
if n % sum_n == 0:
return True
else:
return False
print(solution(12))
'''
결과
True
'''
📊프로젝트
오늘은 데이터 분석 인사이트 도출과 시각화를 마무리했다.
분석을 진행하면서 생각보다 유의미한 결과가 나오지 않아 가설을 세우고 방향성을 수정해 나가는 것에 오랜 시간 투자한 것 같다.
데이터 분석 진행 순서로는
전체 데이터에서의 히트맵을 통한 상관관계 분석 → 각 공정별에서의 상관관계 분석 → 각 변수들 간의 관계 파악을 위한 다중회귀분석 → 각 변수끼리의 상관관계 분석 → 위험도에 영향을 미치는 변수들의 조합 확인 → 상관계수로 가중치를 주어 임계값 설정 → 위험지수 설정 → 성능평가 순으로 진행했다.
지금까지 배운 기술 통계만으로는 유의미한 값을 도출하기 힘들 것이라고 생각하여, 회귀분석, 다중 회귀분석까지 찾아보며 유의미한 인사이트를 도출하기 위해 노력했던 것 같다.
마지막에 임계값 설정하고, 위험 지수를 설정하고 지금까지 한 내용을 정리하다가, 내가 지금 설정한 기준이 정말 맞는 건지 확인해보고 싶어졌다. 그래서 내 기준이 올바르게 설정된 것인지 확인해 보기 위해서 성능평가를 진행했다.
● 상관계수로 가중치를 두어 임계값 설정
- 각 변수의 범위가 다르므로 표준화를 진행한 뒤 임계값 설정
- 3개의 변수 조합에서도 위험도에 가장 영향을 크게 미치는 순서대로 가중치를 줌.
→ CO_z = (CO값 - CO평균) / CO표준편차
→ H₂_z = (H₂값 - H₂평균) / H₂표준편차
→ CH₄_z = (CH₄값 - CH₄평균) / CH₄표준편차
- 각 변수의 평균 & 표준편차
| 변수 | 평균 | 표준편차 | |
| 0 | CO | 12.1630 | 4.326797 |
| 1 | H2 | 6.7812 | 2.851355 |
| 2 | CH4 | 2.0198 | 0.949627 |
- 표준화
표준화 값 = (현재값 - 특정 변수 평균) / 특정 변수 표준편차
- 가중치
→ 해석의 용이함을 위해 상관계수의 비율을 활용함.
→ 만약 합을 1로 만들지 않아도 변수의 중요도 순서는 같지만, 위험지수 값의 크기가 달라지기 때문에 임계값도 같이 달라진다.
상관계수 합 = 0.65 + 0.57 + 0.35 = 1.57
→ CO 가중치 = 0.65 / 1.57 = 0.414 (약 41.1%)
→ H₂ 가중치 = 0.57 / 1.57 = 0.363 (약 36.3%)
→ CH₄ 가중치 = 0.35 / 1.57 = 0.223 (약 22.3%)
● 위험지수(Risk Index) 설정
Risk Index = 0.414COz + 0.363H2z + 0.223CH4z
○ 공정별 임계값 설정
- 복합 위험지수를 기반으로 공정별 관리 기준을 도출하였다.
- 위험도(Risk Score)는 0~1 범위로 정규화되어 있었으며, 운영 관리 기준을 위해 안정(0~0.60), 주의(0.60~0.75), 심각(0.75~1.00)으로 구분하였다. 반면 심각 구간은 즉각적인 조치가 필요한 고위험 상태만 포함하도록 상위 위험 영역(0.75 이상)으로 제한하였다.
- 공정 운영 시 대부분의 상태는 정상 상태여야 하므로 안정 구간을 상대적으로 넓게 설정하였다.
- 위험지수(Risk Index) 범위를 공정별 임계값(LSL, USL)으로 설정하였다.
| 공정 | 안정(LSL) | 주의(SL) | 심각(USL) |
| 절단 | -1.871 이하 | -1.871 ~ 0.560 | 0.560 이상 |
| 주조 | -1.357 이하 | -1.357 ~ 0.477 | 0.477 이상 |
| 압출 | -1.172 이하 | -1.172 ~ 0.265 | 0.265 이상 |
- LSL : max(Risk Index안정)
- USL : min(Risk Index심각)
+ 성능평가
- 기준 설정은 분석가마다 다르게 나올 것임. 현재 내가 도출해 낸 임계값 설정이 위험도를 잘 판정하는지를 확인하기 위해 성능평가 진행
- 실제 위험등급
| Risk Score | 실제 위험등급 |
| 0.00 ~ 0.60 | 안정 |
| 0.60 ~ 0.75 | 주의 |
| 0.75 ~ 1.00 | 심각 |
- 예측 위험등급
| 공정 | 안정(LSL) | 주의(SL) | 심각(USL) |
| 절단 | -1.871 이하 | -1.871 ~ 0.560 | 0.560 이상 |
| 주조 | -1.357 이하 | -1.357 ~ 0.477 | 0.477 이상 |
| 압출 | -1.172 이하 | -1.172 ~ 0.265 | 0.265 이상 |
- 실제 등급과 예측 등급이 얼마나 일치했는지
| 실제 \ 예측 | 예측 안정 | 예측 주의 | 예측 심각 |
| 실제 안정 | 4 | 3 | 0 |
| 실제 주의 | 2 | 55 | 8 |
| 실제 심각 | 0 | 0 | 28 |
→ 해석
- 실제 안정 7개 중 4개를 안정으로 맞춤, 3개는 주의로 판단
- 실제 주의 65개 중 55개를 주의로 맞춤, 8개는 심각으로 더 보수적으로 판단
- 실제 심각 28개는 전부 심각으로 맞춤
☆ 전체 정확도(Accuracy) ☆
- Accuracy = 맞게 예측한 개수 / 전체 데이터 개수
- 전제 데이터 수 : 100
- 맞게 예측한 데이터 수 : 4 + 55 + 28 = 87
—> Accuracy : 87 / 100 = 87%
☞ 전체 분류 정확도는 87%로 나타났으며, 심각 위험군은 100% 검출
첫 데이터 분석 프로젝트를 진행하면서, 내가 잘할 수 있을까 걱정이 됐었다. 사실 욕심을 내서 데이터 시각화랑 인사이트 도출을 해보겠다고 하긴 했는데, 처음에 분석을 시작하면서 후회하기도 했다,,
그래도 최대한 인사이트를 도출해 내려, 여러 방면으로 분석하려고 노력했던 것 같다.
다행히 결과는 좋게 나와서 팀원분들도 좋다고 해주시고,, ㅎㅎ 뿌듯했다.
발표자료 깔끔하게 정리해서 같이 만들고 잘 마무리했으면 좋겠다!
'내일배움 본캠프' 카테고리의 다른 글
| [내일배움 본캠프] 프로젝트 끝! (0) | 2026.06.12 |
|---|---|
| [내일배움 본캠프] 발표자료 만들기 (0) | 2026.06.11 |
| [내일배움 본캠프] 데이터 분석 시작! (1) | 2026.06.09 |
| [내일배움 본캠프] 프로젝트 시작! (1) | 2026.06.08 |
| [내일배움 본캠프]데이터 전처리&시각화 Last day.. (0) | 2026.06.05 |