🐍 파이썬 데이터 분석 프로젝트 25

🧠 EEG 뇌전증 분석 LSTM 05. Inference

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 새로운 데이터에 학습시킨 모델을 적용하기 위해서는 모델이 학습한 파라미터들을 기억하고 있어야 합니다. 이렇게 기억한 파라미터를 모델에 적용시켜 새로운 데이터의 calss를 예측하는 과정을 inference 라고 하는데, 이번 포스팅에서는 파이토치에서 이를 구현하는 과정을 다루도록 하겠습니다. 🏆 01. Inference를 위한 파라미터 파일 생성 🚩 파이토치 홈페이지의 공식 튜토리얼을 참고했습니다. 🚩 파이토치 Inference 튜토리얼 # 파라미터 저장 경로 설정 PATH_param = "C:\\Users\\mingu\\Desktop\\state_dict_model.pt" # 파라미터 저장 tor..

🧠 EEG 뇌전증 분석 LSTM 04. 결과 해석

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🚩 학습된 모델의 성능을 바탕으로 confusion matrix를 그리고, 결과를 해석해보고자 합니다. 🏆Confusion Matrix 해석 from sklearn.metrics import roc_curve, auc from sklearn.metrics import ( classification_report, confusion_matrix, ConfusionMatrixDisplay ) from enum import Enum input_size = 15 y_hat_vd = np.array([]) # test set의 feature만 정규화. np.array 형태. dlist = test_x_st y..

🧠 EEG 뇌전증 분석 LSTM 03. 모델 정의 학습

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🚩 저번 포스팅에서는 데이터를 전처리하는 과정을 다루었습니다. 예측할 label은 0,1,2 의 3가지 종류입니다. 🚩 이번 포스팅에서는 필요한 부분을 가져오는 data_iter 함수 와 LSTM 모델 을 정의하고 학습하는 부분까지 다루겠습니다. 만들고자 하는 모델은 사용자의 EEG sequence를 넣었을때 그 사람이 어떤 상태(간질발작-0, 종양-1, 건강-2)에 놓여있는지를 파악하는 모델입니다. 측정을 위한 전극의 위치나 개수를 고려하여 이미 한번 셔플한 데이터였지만, 보다 랜덤한 표본을 통해 모델을 학습시키기 위해서 임의의 랜덤한 부분에서 120개의 신호를 가져올 수 있도록 data_iter..

🧠 EEG 뇌전증 분석 LSTM 02. 데이터 전처리

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🚩 원본 데이터를 인공지능 모델이 인식할 수 있는 방향으로 데이터 전처리를 해주었습니다. 🚩 이번 포스팅에서는 그 데이터 전처리 과정을 다루겠습니다. 🏆 1. 라이브러리 임포트 import torch import numpy as np import random import matplotlib.pyplot as plt import pandas as pd from torch import nn from torch.utils.data import Dataset, DataLoader import torch, gc gc.collect() torch.cuda.empty_cache() 🚩 GPU 사용 확인 devi..

🧠 EEG 뇌전증 분석 LSTM 01. readme

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!! 🏆 LSTM을 사용한 EEG 데이터 딥러닝 프로젝트 EEG란 두피에 전극을 부착해 뇌의 미세한 전기활동을 증폭해 파동을 기록하는 검사입니다. 흔히 말하는 뇌파가 이 검사로부터 나오는 결과를 의미합니다. 뇌파검사는 현재 질병진단, 의학교육, 치료목적 등으로 연구 중입니다. 특히 ADHD, 자폐증, 우울증, 뇌종양 등 여러가지 정신질환과 중추신경계질환 진단에 도움을 줄 수 있습니다. 이러한 배경을 바탕으로 EEG 결과를 분석해 간단한 검사만으로 질환을 예측하는 모델을 만듦으로써 많은 사람들이 가질 수 있는 위험성을 사전에 방지하고자 합니다. 🏆 주제 선정 배경 📌 간질(epilepsy, 뇌전증)은 두통..

🫀 심혈관질환 데이터 분석 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. 필요한 라이브러리 임포..