★ 최종 프로젝트 - FDA 이상반응 데이터 활용한★

[QA/QC_5기] 85일차 - 최종 프로젝트 +12 : ML 관련 회의 | 시각화 · 통계 분석 Ⅲ

qc-standard 2026. 7. 22. 23:21

2026/07/08 WED.

O 오전 중 각자 찾은 ML 노션 작성 및 회의
O 시각화 · 통계 분석 - 심화

 최종 프로젝트 - 각화 · 통계분석

0. 전날 진행 상황

     주의사항/권고사항에 대한 데이터 보완

     각자 ML - train / test 비율 나눠서 실행 중

     └ 내 ML은 정확도 / 예측확률 / recall값이 매우 떨어짐 = ML로써 기능 못하는 중


1. ML 회의 (어제 오늘 문제)

  ● 각자 찾은 모델과 결과를 공유하며 회의

더보기
  • 찾은 모델
    • 심각도 분류 (Serious Classification)
      • 문제 정의: 부작용이 보고됐다는 전제 하에, 그 사건이 심각(serious=Yes)한가? — 이진 분류
      • 타깃: serious (Yes/No)
      • 난점: 85.6% 불균형. "전부 Yes"만 찍어도 정확도 85.6%가 나오므로 정확도는 금지 지표.
      • 심각도 분류 결과


82:8:10

           ① 베이스라인(로지스틱) vs LightGBM

      • ROC-AUC 0.9233 → 0.958
        복잡한 모델 쓸 만하단 판단의 신호
      • Recall 0.7226 → 0.9495
        로지스틱은 실제 심각 건의 72%만 잡았는데,
        LightGBM은 95%를 잡습니다.
      ② PR-AUC 세 줄이 다 0.99대인 건 무시하세요
      • 데이터가 쏠려서 이 열은 변별력이 없어요.
      ③ 튜닝 임계값(0.28)의 효과 — 3행 vs 4행
      • 둘은 같은 모델이고 커트라인만 다릅니다(0.5 → 0.28).
      • 커트라인을 낮추니 Recall 0.9495 → 0.9816로 올랐습니다. 심각 건을 더 많이 잡음.
      • 대신 Precision 0.9886 → 0.9738로 살짝 내렸습니다. Yes라고 한 것 중 오탐이 조금 늘었죠.
      • 이게 전형적인 트레이드오프입니다. "심각한 걸 놓치면 안 된다"가 중요한 의료 맥락이라 Recall을 올린 4행 방향이 합리적입니다. F1(둘의 균형)도 0.9686 → 0.9777로 올랐으니 튜닝이 이득이었습니다.
      한줄 정리
      믿을 열은 ROC-AUC, F1, Recall, Precision이고,
      PR_AUC는 착시
      LightGBM / 임계값 0.28로 낮춰 심각 건을 더 잡아냄
 
  • 반응 유형 다중레이블 (Reaction Multi-label)
    • 문제 정의: 성분·인구통계로 어떤 계통의 이상반응(간·신장·위장관·심혈관·피부·신경)이 함께 보고되는 경향인지 예측
    • 타깃: 158개 원본 반응을 6~10개 장기/계통 버킷으로 묶은 다중레이블 (건당 평균 5.2개 반응 → 단일 레이블 불가)
    • 난점: 레이블 불균형, 라벨 간 상관(간+위장관 동시 발생 등) → 다중레이블 전용 지표 필요
  • 성분/보고 클러스터링 (Unsupervised)
    • 문제 정의: 부작용 프로파일이 비슷한 성분끼리 군집화
    • 타깃: 없음(비지도)
    • 난점: 정답이 없어 평가가 간접적(실루엣 계수 + 도메인 검토 병행)
 
 
  • 연관규칙 마이닝 (Association Rule Mining)
    • 문제 정의: "A가 있으면 B도 함께 나타나는 경향"을 규칙으로 추출. 예) {성분=이부프로펜, 성별=남성, 연령=중년} → {반응=위장관 출혈}
    • 타깃: 없음(비지도, 빈발 패턴 탐색). 트랜잭션 = 한 보고 건, 아이템 = 성분·연령·성별·질환·반응
 
 
  • train/test 방법
    • 시간 기반 분할 (random split 금지)
    • quarter가 2015Q1~2025Q4로 존재 → 과거로 학습, 미래로 검증/평가
    • 근거: 실제 배포 환경은 "미래에 들어올 새 보고"를 다룬다. 무작위 분할은 미래 정보가 학습에 새어 성능을 과대평가한다.
    • 권장: 시간순 70 / 15 / 15 (train / valid / test). 예) ~2022 학습, 2023 검증, 2024~2025 테스트.
  • 부작용 고유반응 3559종 → 30건 이상 265종 : 지도학습 / 연관규칙 ML
    • 지도학습-LightGBM




  • 연관규칙


 

 →  정확도 / Recall 값이 높게 가져갈 수 없음!! (나만 그런게 아니었다)
 →  방식이 잘못되었다,,, 추후 머신러신 모델 사용 및 방식에 대한 논의 예정


2. 심층 - 시각화 · 통계 분석

     기존 코드별 인사이트 제공이 아닌 각 코드를 세부적으로 나눠 보다 세세한 정보 제공을 위한 심층적 시각화 진행

     새로운 canva에 정리 (시각화 + 필요 시 통계 분석 포함)

     WHO ATC 코드 → 용도에 따라 나눈 의약품 그룹 → 개별 의약품

      → 나이, 성별 등 소비자 특성 / 앓고 있던 질환 / 심각도 / 다중 약물 복용수

     └ 이를 통해 사용자 개개인이 원하는 인사이트 제공

 

     A - 소화기계 · 대사

      └ ① PPI 전체, 판토프라졸 포함 - 8,879건

              에소메프라졸, 오메프라졸, 란소프라졸, 판토프라졸 - 압도적 건수 / 신장 신호 확인되는 핵심 그룹

       지사제 : 로페라마이드 - 400건

              단독으로도 표본이 충분

              PPI와 완전히 다른 기전(오피오이드 수용제 작용)으로 예상되는 부작용이 다름

               → 신장이 아닌 심장 부정맥 / 변비 등

       변비약/완하제 전체 - 167건

              마크로골(134건) / 비사코딜(13건) / 센나(12건) / 도큐세이트(6건) / 차전자피(2)

              기전이 삼투성 · 자극성 · 팽창성으로 각기 다르지만 '변비 치료' 목적성은 같음

       위산분지억제+제산제(PPI 제외) - 130건

              파모티딘 · 시메티딘(H2차단제, 79건) / 탄산칼슘 · 수산화마그네슘 · 수산화알루미늄(제산제, 51건)

              PPI와 동일한 목적(속쓰림 · 역류 완화)이나 기전이 다름

              → PPI 대조군 역할 = PPI만 유독 신장 신호가 많은가? 아니면 위산 관련 약물 전체의 문제인가?

       비타민/보충제 - 42건

              Vit D(34건) / Vit C(8건)

 

 

   → A(소화기 · 대사)부터 하나씩 맡아서 시각화 · 통계 분석 진행