>백엔드 개발 >파이썬 튜토리얼 >프로젝트 - Python을 사용한 지도 학습 - 로지스틱 회귀를 사용하여 심장마비 발생 가능성 예측

프로젝트 - Python을 사용한 지도 학습 - 로지스틱 회귀를 사용하여 심장마비 발생 가능성 예측

DDD
DDD원래의
2025-01-18 22:14:11289검색

Project - Supervised Learning with Python - Lets use Logistic Regression for Predicting the chances of having a Heart Attack

이 튜토리얼에서는 Python과 LogisticRegression 알고리즘을 사용하여 심장 마비 가능성을 예측하는 기계 학습 프로젝트를 보여줍니다. Kaggle에서 가져온 데이터 세트를 분석하여 예측 모델을 구축합니다.

주요 개념:

  • 로지스틱 회귀
  • StandardScaler (sklearn.preprocessing)
  • fit_transform()
  • train_test_split()
  • model.predict()
  • model.predict_proba()
  • classification_report()
  • roc_auc_score()

프로젝트 목표:

이 프로젝트의 목적은 환자 데이터를 기반으로 심장 마비 위험을 예측하는 데 로지스틱 회귀 분석을 실제로 적용하는 방법을 보여주는 것입니다. 우리는 Python의 기능을 활용하여 이 예측 모델을 구축하고 평가할 것입니다.

Jupyter Notebook 및 데이터 세트는 여기에서 확인할 수 있습니다.

노트북: https://www.php.cn/link/aa3f874fb850d8908be9af3a69af4289

데이터 세트: https://www.php.cn/link/4223a1d5b9e017dda51515829140e5d2(Kaggle 출처: https://www.php.cn/link/5bb77e5c6d452aee283844d47756dc05)

향후 계획:

향후 튜토리얼에서는 Kaggle 로드맵 https://www.php.cn/link/4bea9e07f447fd088811cc81697a4d4e에 설명된 대로 지도 및 비지도 학습에 초점을 맞춘 추가 기계 학습 개념을 탐구할 것입니다. [#Machine Learning Engineer 2025년 로드맵]

대상:

이 튜토리얼은 기계 학습 학습에 관심이 있는 Python 애호가, 특히 해당 분야에 처음 입문하는 사람들을 위해 제작되었습니다. 선형 회귀를 다루는 이전 튜토리얼을 기반으로 합니다.

노트북을 자유롭게 실험하고 다양한 기계 학습 모델을 탐색해 보세요!

단계별 가이드:

1단계: 데이터 로딩

<code class="language-python">import pandas as pd

data = pd.read_csv('heart-disease-prediction.csv')
print(data.head())</code>

Pandas를 사용하여 데이터세트를 로드합니다.

2단계: 탐색적 데이터 분석(EDA)

<code class="language-python">print(data.info())</code>

데이터세트의 구조와 데이터 유형에 대한 요약을 제공합니다.

3단계: 누락된 데이터 처리

<code class="language-python">print(data.isnull().sum())
data.fillna(data.mean(), inplace=True)
print(data.isnull().sum())</code>

각 열의 평균을 사용하여 누락된 값을 식별하고 채웁니다.

4단계: 데이터 전처리

<code class="language-python">X = data[['age', 'totChol','sysBP','diaBP', 'cigsPerDay','BMI','glucose']]
y = data['TenYearCHD']</code>

관련 특성(X)과 대상 변수(y)를 선택했습니다.

5단계: 데이터 정규화

<code class="language-python">from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X)</code>

모델 성능 향상을 위해 StandardScaler을 사용하여 데이터를 정규화합니다.

6단계: 데이터 분할

<code class="language-python">import pandas as pd

data = pd.read_csv('heart-disease-prediction.csv')
print(data.head())</code>

데이터 세트는 훈련 세트와 테스트 세트로 분할됩니다(80/20 분할).

7단계: 모델 훈련

<code class="language-python">print(data.info())</code>

학습 데이터를 사용하여 로지스틱 회귀 모델을 학습합니다.

8단계: 모델 평가

<code class="language-python">print(data.isnull().sum())
data.fillna(data.mean(), inplace=True)
print(data.isnull().sum())</code>

모델의 성능은 classification_report, roc_auc_score을 이용하여 평가합니다.

9단계: 모델 예측

<code class="language-python">X = data[['age', 'totChol','sysBP','diaBP', 'cigsPerDay','BMI','glucose']]
y = data['TenYearCHD']</code>

훈련된 모델은 새로운 환자의 심장병 위험을 예측하는 데 사용됩니다.

향후 연습을 위해 추가 환자 데이터가 제공됩니다.

<code class="language-python">from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X)</code>

위 내용은 프로젝트 - Python을 사용한 지도 학습 - 로지스틱 회귀를 사용하여 심장마비 발생 가능성 예측의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.