심혈관질환 16

🫀 심혈관질환 데이터 분석 15. 랜덤포레스트

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🩸 저번 글에서는 우리가 연관관계 분석을 통해 얻은 attribute set 5와 전처리만을 수행한 데이터, PCA 결과 만들어진 주성분 3가지 경우에 대해 결정 트리 모델을 만들었습니다. 이번 글에서는 결정 트리들이 모여 만들어지는 랜덤 포레스트를 통해 모델의 예측력을 시험해보도록 합시다. 🩸 만든 랜덤 포레스트에 대해 ROC Curve와 Confusion Matrix를 만들어 각 모델의 성능이 어떤지 비교해볼 생각입니다. 🫀 1. Attribute Set 5 : age, aphi, aplo, cholesterol, gluc, BMI, active 랜덤포레스트 📌 사용할 라이브러리는 아래와 같습니..

🫀 심혈관질환 데이터 분석 14. 결정트리 시각화

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🩸 저번 글에서는 결정 트리를 통해 Classification을 진행했습니다. correlation 분석으로 얻어진 4개의 attribute set과 PCA dataframe에 대해 예측력을 평가했습니다. 이번 글에서는 앞서 얻은 결정 트리 모델을 시각화해볼 것입니다. 🫀 1. 라이브러리 📌 결정트리를 위한 graphviz 라이브러리 를 사용합니다. 처음 설치할 때 바이너리 코드의 경로를 잘 설정해줘야합니다. 데이터의 크기가 크지 않은 경우에는 만들어진 결정 트리를 살펴보기 어렵지 않지만, 본 프로젝트에 사용한 데이터는 column이 많기에 한번에 파악하기 어렵습니다. 따라서 이렇게 만들어진 결정 ..

🫀 심혈관질환 데이터 분석 13. 결정트리 구현

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🩸 저번 글에 이어 이번 글에서는 Decisioin Tree를 통해 각 데이터프레임의 accuracy를 비교해봅시다. 🩸 먼저 사용할 데이터를 확인하겠습니다. 📌 전처리한 데이터 📌 PCA 데이터프레임 🫀 1. Original Data 🩸 먼저 가져온 데이터의 target을 범주형으로 변경해봅시다. cardio.target_rand = cardio['cardio'].copy() cardio.target_rand[cardio.target_rand==0] = 'N' cardio.target_rand[cardio.target_rand==1] = 'Y' 🩸 이제 앞선 연관관계 분석에서 추출한 attribu..

🫀 심혈관질환 데이터 분석 12. 라이브러리 임포트

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🩸 저번 글까지 해서 데이터에서 서로 연관이 있는 몇 가지 attribute들을 추출해냈습니다. 🩸 이번 글부터는 Decision Tree와 Random Forest를 통해서 우리가 찾아낸 attribute들이 target을 얼마나 잘 예측할 수 있는지 알아보도록 하겠습니다. 전처리한 데이터에서 추출한 attribute를 통해 예측하는 방법과 PCA 데이터를 통해 예측하는 방법 중 어떤 것이 보다 효율적이라고 할 수 있을지 알아보는 것이 본 프로젝트에서 classification의 목적입니다. 🩸 이번 글에서는 필요한 라이브러리와 데이터들을 알아보고 가져올 것입니다. 🫀 1. 필요한 라이브러리 임포..

🫀 심혈관질환 데이터 분석 11. plotly 차트보드

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 📌 기존에 제가 블로그나 깃허브에 plotly그래프를 호출하는 방식은 plotly 계정의 API key 값을 사용해서 그래프에 대한 링크를 임베딩하는 방식입니다. 그런데 저의 plotly Home 대쉬보드에 더 이상의 여유공간이 없어서,,,!! (몇 개 올린 것 같지도 않은데 말이죠...😥😥) 더 이상 그래프를 호출을 못하더라구요,,, 그래서 다른 방법을 찾는 중이었습니다. 📌 다른 그래프도 그렇지만, 특히 주성분 분석 PCA는 plotly를 사용했을 때 그 효과가 굉장히 큽니다. 그래서 어떡해야 할까 정말 많은 고민을 했는데 찾은 방법은 plotly에 업로드 하는 것이었습니다. 제가 주피터로 작성..

🫀 심혈관질환 데이터 분석 10. 주성분분석

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🩸 이번 글에서는 PCA (Principal Component Analysis), 즉 주성분 분석을 통한 attribute 간의 연관관계를 살펴봅시다. 🫀 1. PCA 코드 구현 🩸 PCA를 위해 sklearn.decomposition 모듈의 PCA 라이브러리 를 사용했고, 시각화를 위해 plotly 공식 홈페이지를 참고했습니다. 🚩 1.1. 데이터 확인 앞서 전처리한 데이터를 가지고 PCA를 진행하겠습니다. 🚩 1.2. PCA 구현 및 시각화_Princiapl Component 1~3 📌 먼저 코드부터 확인해보겠습니다🙄. # target과 feature data 설정 # cardio가 0인 obj..

🫀 심혈관질환 데이터 분석 09. Kulczynski

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🩸 저번 글에 이어 여러 가지 Null invariant measure들을 통해 attribute 간의 관계를 알아보도록 하겠습니다. 🫀 1. Null Invariant Measure 데이터프레임 생성 📌 chi-square, p-value 계산 # chi-square 계산(transaction dataframe 기준 : 각 attribute의 category) # scipy.stats의 chi2_contingency를 통해서 contingency table 생성. # contingency table을 바탕으로 chi-square와 p-value 계산. chi_list = pd.DataFrame()..

🫀 심혈관질환 데이터 분석 08. 카이제곱검정

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🩸 저번 글에서는 support, confidence, lift를 가지고 함께 등장하는 attribute 들을 알아보았습니다. 이번 글에서는 이 수치들이 가질 수 있는 문제들을 해결하기 위한 Null-Invariant Measures 를 사용하여 패턴을 분석할 것입니다. 🩸 코드 진행의 이해를 위해 이번 글에서 사용할 데이터프레임을 먼저 살펴보겠습니다. 📌 1. pre_tran : 수치형/범주형 attribute가 섞여있던 원래 데이터를 범주형 데이터로 만든 것 📌 2. transaction : pre_tran을 사용하여 만든 최종 트랜잭션 데이터 - Boolean 표현형 🫀 1. Null-Inva..

🫀 심혈관질환 데이터 분석 07. 패턴분석

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🩸 앞선 글에서 만든 transaction data로부터 각 column 들의 여러가지 패턴들을 구해봅시다. 🩸 코드 진행의 이해를 위해 이번 글에서 사용할 데이터프레임을 먼저 보도록 합시다. 📝 1. pre_tran : 수치형/범주형 attribute가 섞여있던 원래 데이터를 범주형 데이터로 만든 것 📝 2. transaction : pre_tran을 사용하여 만든 최종 트랜잭션 데이터 - Boolean 표현형 🫀 1. support / confidence / lift 구하기 🩸 패턴을 분석해서 어떤 attribute가 cardio label과 자주 등장하는지 알아보는 것이 패턴 분석의 목적입니다..