R-Blogger블로그·해설한국어2026-02-18
모델-agnostic 생존 분석을 위한 Python 패키지 survivalist의 R 버전
Python 패키지 survivalist 사용 예시: 모델‑agnostic 생존 분석 생존 분석은 사건이 발생할 때까지의 시간을 다루는 통계 기법입니다. 전통적인 Cox 비례 위험 모델을 넘어, 모델‑agnostic 접근 방식은 복잡한 머신러닝 모델에서도 생존 확률을 추정할 수 있도록 해 줍니다. survivalist는 이러한 기능을 제공하는 Python 패키지입니다. 1. 설치 pip install survivalist 설치가 완료되면, 필요한 라이브러리를 임포트합니다. 2. 데이터 준비 예시 데이터는 lifelines 패키지의 내장 데이터를 활용합니다. from lifelines.datasets import load_rossi df = load_rossi() 데이터는 다음과 같은 컬럼을 포함합니다: t : 관측 기간(시간) e : 사건 발생 여부(1이면 사건 발생, 0이면 검열) 기타 예측 변수 3. 모델 학습 survivalist에서는 XGBoost, Random Forest 등 다양한 기계 학습 모델을 사용해 생존 예측을 수행합니다. from survivalist import SurvivalModel from sklearn.ensemble import RandomForestClassifier model = SurvivalModel( estimator=RandomForestClassifier(n_estimators=100), time_col='t', event_col='e' ) model.fit(df.drop(columns=['t', 'e']), df[['t', 'e']]) 4. 예측 및 평가 학습된 모델을 이용해 생존 곡선과 위험 함수를 예측할 수 있습니다. surv_func = model.predict_survival_function(df.drop(columns=['t', 'e'])) risk_score = model.predict_risk(df.drop(columns=['t', 'e'])) print(risk_score.head()) 예측된 생존 함수는 pandas.Series 형태로 반환되며, 각 시간 포인트에서의 생존 확률을 제공합니다. 5. 시각화 생존 곡선을 시각화하면 모델의 성능을 직관적으로 파악할 수 있습니다. import matplotlib.pyplot as plt plt.figure(figsize=(8,5)) plt.plot(surv_func.index, surv_func.iloc[:,0], label='Predicted Survival') plt.xlabel('Time') plt.ylabel('Survival Probability') plt.title('Survival Curve') plt.legend() plt.show() 위 예시는 survivalist가 모델‑agnostic 생존 분석을 간단히 수행할 수 있음을 보여 줍니다. 데이터가 크거나 복잡해질 경우, 추가적인 전처리 및 하이퍼파라미터 튜닝이 필요할 수 있습니다. 더 자세한 내용은 공식 GitHub 페이지와 lifelines 문서를 참고하시기 바랍니다.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
- 작성자
- R-Blogger
- 출처
- R-Blogger
- 플랫폼
- R-Blogger
- 분류
- 블로그·해설
- 언어
- 한국어
- 발행일
- 2026-02-18