[데이콘] 제2회 신약개발 AI 경진대회
2024. 9. 17. 18:59ㆍData Science Project
제2회 신약개발 AI 경진대회 - DACON
제2회 신약개발 AI 경진대회 - DACON
분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다.
dacon.io
[배경]
국내 AI 신약개발 생태계를 활성화하고, 신약 연구자들의 연구 의욕을 고취시키며 신약개발에 참여할 젊은 인재를 발굴하기 위해
제2회 신약개발 AI 경진대회 “JUMP AI 2024”를 개최합니다.
[주제]
IRAK4 IC50 활성 예측 모델 개발
[설명]
IRAK4 IC50에 대한 학습용 데이터 1,952종을 이용해 예측모델을 개발
개발한 예측모델로 경진용 평가 데이터를 사용하여 예측한 값을 제출
Dataset Info.
- train.csv [파일]
- ChEMBL IRAK4 IC50에 대한 학습용 데이터 1,952종
- Smiles : 분자구조 데이터
- IC50_nM : 예측 Target
- plC50 : IC50_nM과 동일하지만, 단위가 다름
- test.csv [파일]
- ID : 고유 ID
- Smiles : 분자구조 데이터
데이터 설명
SMILES (Simplified Molecular Input Line Entry System):
- 화합물의 분자 구조를 텍스트로 표현한 형식이다.
IC50_nM (Inhibitory Concentration 50%):
- 화합물의 IC50 값은 화합물이 특정 생물학적 활성을 50% 억제하는 데 필요한 농도를 나타낸다.
Target (예측 대상): IC50_nM은 이 데이터에서 예측해야 하는 값
plC50:
- plC50 값은 IC50 값을 로그 스케일로 변환한 값이다. 이는 일반적으로 값을 더 쉽게 다루고 분포를 안정화하기 위해 사용된다.
데이터 분석 프로세스 설계
0. SQL 과 Python 연동 후 데이터 추출
1. Tableau 를 통한 데이터 이해 및 탐색
- 데이터 구조 파악
- train.csv: 1,952개의 분자에 대한 SMILES 문자열, IC50_nM (예측 대상), pIC50 (IC50_nM과 동일하지만 단위가 다름).
- test.csv: 예측해야 할 분자의 SMILES 문자열과 고유 ID.
- 데이터 탐색
- 기술 통계 분석
- 중앙 경향 측정: 평균, 중앙값, 최빈값 계산.
- 산포 측정: 분산, 표준편차, 사분위수 계산.
- 데이터 시각화
- 히스토그램: 타깃 변수(IC50_nM, pIC50)의 분포를 확인.
- 박스플롯: 이상치(outlier) 확인.
- QQ-플롯: 데이터의 정규성 검정.
- 결측치 확인
- 결측 데이터 확인: 결측치의 존재 여부와 패턴을 파악.
- 결측치 처리 방법 결정: 필요한 경우 결측치를 제거하거나 대체(imputation) 방법 결정.
- 기술 통계 분석
- 상관관계 분석
- 피어슨 상관계수: 연속형 변수 간의 상관관계 파악.
- 스피어만 순위 상관계수: 비선형 관계 및 순위 기반 상관관계 파악.
2. 데이터 전처리
- 타깃 변수 변환
- 단위 통일: IC50_nM과 pIC50의 관계를 이용하여 단위를 통일.
- 일반적으로 pIC50 = -log10(IC50_nM × 10⁻⁹).
- 로그 변환: IC50_nM의 분포를 정규화하기 위해 로그 변환 적용.
- 정규성 검정
- 샤피로-윌크 검정: 타깃 변수의 정규성 확인.
- 변환 필요성 결정: 정규성이 만족되지 않으면 추가적인 변환(예: 박스-콕스 변환) 고려.
- 단위 통일: IC50_nM과 pIC50의 관계를 이용하여 단위를 통일.
- SMILES 문자열 처리
- 분자 구조 파싱: RDKit 등 라이브러리를 사용하여 SMILES 문자열을 분자 객체로 변환.
- 오류 처리: 파싱되지 않는 SMILES 문자열에 대한 오류 처리.
3. 특징 추출 및 선택
- 분자 특성 계산
- 물리화학적 특성
- 분자량(Molecular Weight)
- 로그P (Octanol-Water Partition Coefficient)
- TPSA (Topological Polar Surface Area)
- 수소 결합 수용체 및 공여체 수
- 로토블 본드 수(Rotatable Bonds)
- 구조적 지표
- Ring Count
- Aromatic Proportion
- 물리화학적 특성
- 분자 지문(Fingerprint) 생성
- MACCS Keys
- Morgan Fingerprints (ECFP)
- 반지름 및 비트 수 결정: 모델 성능에 영향을 미치므로 실험적으로 최적화.
- 토폴로지컬 지문
- RDKit Topological Fingerprints
- 특징 선택
- 상관관계 분석
- 다중공선성 확인: 높은 상관관계를 가진 특징들 식별.
- Variance Inflation Factor (VIF): 다중공선성의 정도를 정량화.
- 단변량 통계 검정
- 피어슨 카이제곱 검정: 범주형 변수의 유의성 검정.
- ANOVA: 연속형 특징과 타깃 변수 간의 관계 검정.
- 차원 축소
- 주성분 분석(PCA): 특징 공간의 차원 축소 및 시각화.
- 요인 분석: 잠재 요인 추출.
- 상관관계 분석
4. 데이터 분할
- 훈련 및 검증 세트 분할
- 무작위 분할: 데이터의 70-80%를 훈련 세트로, 나머지를 검증 세트로 분할.
- 계층적 분할(Stratified Splitting): 타깃 변수의 분포를 유지하도록 분할.
- 교차 검증(Cross-validation)
- k-폴드 교차 검증: 데이터의 편향을 줄이기 위해 k 값을 결정(일반적으로 5 또는 10).
- 반복 교차 검증: 교차 검증을 여러 번 반복하여 안정성 확보.
5. 통계적 모델링
- 모델 선택
- 선형 회귀 분석
- 단순 선형 회귀: 타깃 변수와 단일 특징 간의 관계 분석.
- 다중 선형 회귀: 여러 특징을 사용한 회귀 모델 구축.
- 회귀 진단
- 잔차 분석: 잔차의 정규성, 등분산성 확인.
- 오차 독립성 검정: Durbin-Watson 통계량 계산.
- 모델 가정 검토
- 선형성 가정 확인: 특징과 타깃 변수 간의 선형 관계 여부 확인.
- 등분산성(Homoscedasticity) 확인: 잔차의 분산이 일정한지 확인.
- 정규성 가정 확인: 잔차의 분포가 정규분포를 따르는지 확인.
- 선형 회귀 분석
- 비선형 회귀 분석
- 다항 회귀(Polynomial Regression): 비선형 관계 모델링.
- 지수 회귀(Exponential Regression): 지수적 성장 또는 감소 패턴 모델링.
- 정규화 및 변수 선택
- 릿지 회귀(Ridge Regression): L2 정규화를 통한 과적합 방지.
- 라쏘 회귀(Lasso Regression): L1 정규화를 통한 변수 선택 및 과적합 방지.
- 엘라스틱 넷(Elastic Net): L1과 L2 정규화의 조합.
- 로지스틱 회귀(Logistic Regression)
- 분류 문제로의 변환: 타깃 변수를 임계값 기반으로 이진 분류하여 활성/비활성 예측.
- 오즈 비율 계산: 특징의 변화가 활성 확률에 미치는 영향 해석.
6. 모델 평가
- 평가 지표 선택
- 회귀 모델 지표
- R² (결정 계수): 모델이 타깃 변수를 얼마나 설명하는지.
- Adjusted R²: 특징 수에 따른 R²의 보정.
- RMSE (Root Mean Squared Error): 예측 오차의 표준편차.
- MAE (Mean Absolute Error): 예측 오차의 평균 절대값.
- 모델 통계량 검정
- F-검정: 모델의 유의성 검정.
- t-검정: 각 회귀 계수의 유의성 검정.
- 잔차 분석
- 잔차의 정규성 검정: 샤피로-윌크 검정.
- 오차의 독립성 검정: 자기상관 확인.
- 회귀 모델 지표
- 모델 비교
- AIC (Akaike Information Criterion) 및 BIC (Bayesian Information Criterion): 모델의 적합도와 복잡도를 고려한 비교.
- 교차 검증 점수 비교: 각 모델의 평균 성능 및 분산 비교.
7. 모델 개선
- 상호작용 효과 고려
- 상호작용 항 추가: 특징 간의 상호작용 효과를 모델에 포함.
- 비선형 변환: 로그, 제곱근 등 특징의 비선형 변환 적용.
- 잔차의 이분산성 처리
- 가중 회귀 분석(Weighted Regression): 잔차의 분산이 일정하지 않은 경우 가중치를 부여.
- 변환 회귀(Transform Regression): Y 또는 X를 변환하여 등분산성 확보.
- 이상치 및 영향점 처리
- 쿡의 거리(Cook's Distance): 이상치 및 영향력이 큰 데이터 포인트 식별.
- 이상치 제거 또는 조정: 모델에 부정적인 영향을 미치는 데이터 처리.
- 모델 단순화
- 변수 선택 방법
- 전진 선택(Forward Selection)
- 후진 제거(Backward Elimination)
- 단계적 선택(Stepwise Selection)
- 파생 변수 생성: 새로운 특징을 만들어 모델 성능 향상.
- 변수 선택 방법
8. 테스트 데이터 예측
- 테스트 데이터 처리
- 훈련 데이터와 동일한 전처리 적용: 스케일링, 변환, 특징 선택 등.
- 특징 생성 및 선택: 훈련 데이터에서 선택된 특징만 사용.
- 예측 수행
- 최종 모델 사용: 개선된 최적의 통계 모델을 사용하여 예측 수행.
- 예측 값 변환: 로그 변환 등을 사용한 경우 원래 스케일로 역변환.
'Data Science Project' 카테고리의 다른 글
| [캡스톤_최종] 졸업연구 : 기업 클러스터링을 통한 포트폴리오 최적화 논문작성 (3) | 2024.10.25 |
|---|---|
| [Dacon] 제2회 신약개발 AI 경진대회 (2) | 2024.09.30 |
| [데이콘] 제2회 신약개발 AI 경진대회 선행연구 분석 (1) | 2024.09.17 |
| [캡스톤_중간] 경영캡스톤 클러스터링을 통한 포트폴리오 최적화 (0) | 2024.05.24 |
| [공모전] 「2024 날씨 빅데이터 콘테스트」 (1) | 2024.05.14 |