앎을 경계하기

DAFIT/906 - 머신러닝으로 당뇨병 예측 7

<DAFIT> 06 머신러닝을 통한 당뇨병 예측 - 07 Feature Importance

지금까지 풀었던 문제를 다시 한 번 정리해볼 수 있는 시간이다. from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split import pandas as pd 지난 번 예측문제에서 사용했던 의사결정트리와 랜덤포레스트를 다시 한 번 사용한다. 데이터를 로드하고, data = pd.read_csv("/content/drive/My Drive/다핏문제/906/dataset_37_diabetes.csv") data 결측치 처리한다. presd = data.replace({'pres':0},..

<DAFIT> 06 머신러닝을 통한 당뇨병 예측 - 06 Random Forest를 이용한 당뇨병 예측

지난번엔 Decision Tree였다면 이번에는 Random Forest이다. 랜덤 포레스트는 앙상블 방법 중 하나로 여러개의 의사결정트리가 모여서 classification이나 regression 문제를 푼다. sklearn.ensemble 내 RandomForestClassifier를 제공하고있다. from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split import pandas as pd data = pd.read_csv("/content/drive/My Drive/다핏문제/906/dataset_37_diabetes.csv") data #데이터 결측치 처리와 ..

<DAFIT> 06 머신러닝을 통한 당뇨병 예측 - 05 Decision Tree를 이용한 당뇨병 예측

의사결정트리(Decision Tree)는 여러 분류 규칙을 적용하여 분류문제 또는 회귀문제에 적용할 수 있는 분류 모형이다. 아래 그림과 같이 트리 구조로 되어있는 분류 규칙을 따라서 classification 할 수 있다. scikit-learn에서 쉽게 decision tree를 사용할 수 있도록 제공하고 있다. from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split import pandas as pd import numpy as np 필요 패키지들 임포트해주고, data = pd.read_csv("/content/drive/My Drive/다핏문제/906/datas..

<DAFIT> 06 머신러닝을 통한 당뇨병 예측 - 04 데이터 분할

이번 문제는 본격적으로 데이터 셋을 만드는 문제이다. 학습데이터셋, 검증데이터셋, 테스트데이터셋으로 나누면 되는 문제. 사실 train validation test ratio만 검색해도 어떤 비율로 데이터를 나눠야하는 지 많이 나온다. 주로 train/test만 사용할때는 70/30 비율로 사용하고 train/validation/test는 60/20/20으로 사용한다. scikit-learn에서 제공하는 메소드를 사용하면 쉽게 데이터셋을 분리할 수 있다. train_test_split(x,y,test_size=0.25,random_state=1) 이런식으로 사용하면 된다. https://scikit-learn.org/stable/modules/generated/sklearn.model_selection...

<DAFIT> 06 머신러닝을 통한 당뇨병 예측 - 03 데이터 시각화

이번에는 data visualization 문제! 대학원 강의 중 visualization 관련 수업을 들은 적이 있어서 그런지 가장 편하게 접근할 수 있었던 문제였다. 1,2번 문제를 푼면서 데이터를 볼 때 불편했던 점들을 추려보니.. 1. 값이 전체적으로 어떤 범위 내에 위치하는지 모른다. 2. 이상치가 한 눈에 보이지 않는다. 3. 피쳐마다의 데이터가 어떻게 분포하고 있는지 보고싶다. 4. 내가 결측치 대체 방안으로 사용했던 median과 mean의 차이가 어느정도 나는지 알고 싶다. 이 정도로 말할 수 있을 것 같다. 그래서 나는 각 feature마다 boxplot을 사용해서 데이터를 시각화하였다. boxplot은 다음과 같이 생겼다. 상자수염그림라고도 하는데 왜 수염상자냐면 저 박스 위아래로 길..

<DAFIT> 06 머신러닝을 통한 당뇨병 예측 - 02 NaN값,NULL 값 처리하기 (+ 삽질연속, 실망스러운 결과..)

이번에는 데이터 결측치를 처리하는 문제였다. 데이터 결측치를 처리하는 방법론들이 대표적인게 있을 것 같아서 찾아보니 역시나 다양한 방법들이 있었다. https://m.blog.naver.com/tjdudwo93/220976082118 데이터 분석 최대의 적! 결측치(NA값)처리하기 이번 시간은 데이터 전처리 과정에서 가장 중요하다고 해도 과언이 아닌(물론 다 중요하지... blog.naver.com 이 블로그를 참고하면서도 잘 모르는 내용들이 있어서 다핏 단톡방에도 질문... 도움이 되는 답변들을 받았다! 일단은 데이터를 받으면 데이터들의 피쳐들간의 상관관계를 파악하라는 조언을 받아 데이터분석 모르지만,,ㅎㅎ 이것저것 찾아서 적용해보았다. 각 피처들에 대한 정보는 다음과 같다. preg: 임신 횟수 pl..

<DAFIT> 06 머신러닝을 통한 당뇨병 예측 - 01 데이터셋 다운로드 및 읽기

데이터셋은 아래 다핏 사이트에서 받을 수 있다. 첫 번째 문제는 굉장히 쉽다. pandas로 csv를 읽으면된다. import pandas as pd filepath = 'dataset_37_diabetes.csv' csv = pd.read_csv(filepath) csv 8개의 features로된 768개의 데이터를 확인할 수 있다. 문제와 데이터는 여기서 확인한다. http://www.dafit.me/question/?q=YToxOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjt9&bmode=view&idx=2682894&t=board [DF906] 머신러닝을 통한 당뇨병 예측 : 다핏, 데이터사이언스 연습문제 🔥 문제 설명당뇨병에 영향을 주는 8가지 특징을 바탕으로, 머신..