앎을 경계하기

Contents 356

<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은 다음과 같이 생겼다. 상자수염그림라고도 하는데 왜 수염상자냐면 저 박스 위아래로 길..

Everyone TF 2.0! - 00 텐서플로우에 정착하자

딥러닝을 처음 접했을 때 여러가지 프레임워크를 사용해서 모델을 구성하고 학습시킬 수 있다는 것을 알게되었고, 대표적인 프레임워크로 TensorFlow, PyTorch, Keras, Caffe, Torch ... 다양한 것들이 있었다. 사실 나는 약 1년정도 강화학습을 공부하면서 딥러닝 프레임워크 정착을 하지 못했다.. 연구하기나 직관적으로 짜기엔 PyTorch가 편한 것 같고.. 뭔가 상용화라던지 나중가서 많이 쓰게 될 프레임워크는 Tensorflow 같고.. 코드나 편리함 따지면 Keras가 텐플 기반이라 더 좋은것같고.. 이런 생각으로 방황을 하면서 그때 그때 튜토리얼과 API를 뒤져보고 사용했다. 그래서인지 깊이있게 이해하고 자유롭게 사용할 수 있는 게 없었다! 슬슬 정착을 위해 고민하던 중 텐서플..

선형(Linear)에 대한 이해

머신러닝 공부를 하다보면 항상 "선형이다.", "선형모델", "리니어해야한다." 이런 말들을 들었는데, 사실 구체적으로 머릿속에 정의가 되지 않았다. 그래서 선형이 무엇인지에 대해 찾아보았다. 위키백과에서는 선형성을 다음과 같이 말한다. linear는 직선처럼 똑바른 도형, 또는 그와 비슷한 성질을 갖는 대상이라는 뜻으로 이러한 성질을 갖고 있는 변환 등에 대하여 쓰는 용어이다. 수학에서 선형성에 대한 정의는 다음과 같다. 함수 f에 대해, Additivity가 항상 성립하고 Homogeneity가 항상 성립한다. Additivity는 아래의 조건을 의미한다. 임의의 수 x,y에 대해 f(x+y) = f(x) + f(y) Homogeneity는 아래의 조건이다. 임의의 수 x, alpha에 대해 f(al..

Machine Learning 2019.11.23

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

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

차근차근 Spinning Up 톺아보기 Key Paper : DRQN

이번에 볼 논문은 DRQN이다. 논문 번역 식으로 포스팅하다보니 양이 많아지기도 해서 내가 읽은 대로 잊지않기 위해 정리한다. 먼저 DRQN 구조를 보자. DRQN은 DQN에서 첫번째 FC layer를 LSTM layer로 변경한 RNN+CNN 구조의 DQN이다. LSTM LSTM에 대해 이해하기 위해서 블로그를 참고하였다. RNN(Recurrent Neural Network)은 스스로 반복해서 이전 단계에 얻은 정보를 계속 기억하는 뉴럴네트워크이다. 이 그림이 RNN을 이해하는데 도움이 되었다. input X가 차례로 들어오면서 A에 누적되는것을 볼 수 있다. LSTM은 아래와 같은 구조로 생겼다. 각 요소들을 gate라고 하는데, 먼저 f는 forget gate, 잊는 것에 대한 게이트이다. sigm..