Loading...
2022. 6. 19. 19:55

연속형 변수를 전처리하는 방법은 무엇이 있고 왜 전처리를 해야하는가?

1. 데이터 전처리란? 머신러닝 모델에 데이터를 입력할 수 있도록 적절하게 처리하는 과정 EDA를 위해 데이터 구조를 바꿔서 처리하는 것도 하나의 전처리 과정 EDA 목적이나 모델에 입력데이터를 어떻게 넣어줄 것인가에 따라 달라진다 EDA에서 어떤 부분을 찾고싶은가에 따라서도 달라짐 선형모델이냐 트리모델이냐 딥러닝모델이냐에 따라서도 달라짐 데이터 전처리도 정답이 없지만 어느정도 기본은 있다 머신러닝 모델에 데이터를 입력하기 위한 과정이라는 것을 염두에 두고 연속형, 범주형을 처리 & 결측치 처리 & 이상치 처리 2. 예시로 이해하는 연속형 변수 전처리 sklearn에 있는 boston data 506개의 데이터 포인트, 13개의 변수 CHAS만 범주형이고 나머지는 연속형 target은 집값의 중위수라는데..

2022. 5. 26. 02:22

범주형 변수를 전처리하는 방법의 모든 것

1. introduction 범주형 변수는 일종의 category를 가진다. 식물의 종이나 자동차 종류나 연속형보다 주의해서 다뤄야 할 수도 있음 보통 문자열로 나타나는데 머신러닝에 입력하기 어려워서 수치형으로 변환해줘야 한다. 2. one hot encoding 해당 변수의 값이 어떤 category에 속하면 1, 아니면 0으로 두는 방법 '그냥 0 아니면 1' 이런게 아니라.. '해당 변수의 VALUE가 어떤 category에 속한다면 1, 그렇지 않으면 0' 위의 그림에서 id 1은 개에 속하므로 개에 1을 주고 고양이에 0을 주어 (1,0)으로 encoding하고 id 2는 고양이에 속하므로 개에 0을 주고 고양이에 1을 주어 (0,1)로 encoding한다 특히 개와 고양이 모두에 속하는 id ..

회귀문제에서 사용하는 decision tree

분류 문제에만 사용하는 것처럼 보이지만 decision tree는 regression 문제에도 사용이 가능합니다. 불순도를 측정하는 기준으로 분산을 사용할 수 있습니다. 분산이라는 것이 연속형 데이터 같은 경우 분산이 크면 넓게 퍼져 있어 그만큼 불순하다? 불확실하다?라는 느낌을 받을 수 있다고 생각합니다. 분산의 감소량이 최대가 되는 feature를 선택하여 tree를 생성해나갑니다. 예를 들어서 다음과 같은 data set이 주어졌다고 합시다. 현재 상태에서 target의 표준편차는 얼마일까요? 계산하면 9.32가 나온다고 합니다. 이제 구분하고자하는 feature를 선택하는데 예를 들어 outlook을 먼저 선택합시다. outlook을 선택하면서 표준편차가 얼마나 감소하는지 계산하려면 outlook..

2021. 12. 14. 23:41

연속형 변수를 사용한 decision tree

보통 범주형 변수만 사용가능한 것처럼 decision tree를 설명하지만 decision tree의 구분 feature로 연속형 변수도 사용가능합니다. 방법은 여러 가지가 있는데 하나를 예로 들어 설명하자면 예시 데이터가 위와 같다고 합시다. 구분하고자하는 feature 여기서는 예를 들어 income을 정렬합니다. 그러면 label이 바뀌는 지점이 생기는데 label이 바뀌는 지점의 평균점을 기준값으로 잡습니다. 각각 59.7, 64.9, 84.9 세 지점이 생기는데 각 지점에서 information gain이 최대가 되는 기준지점을 찾습니다. gini 계수를 이용해 계산하면 income이 59.7보다 클때와 작을때로 구분하는 것이 최대라고 합니다. lotsize도 똑같은 방식으로 기준값을 잡고 각 ..

decision tree의 불순도를 측정하는 기준

불순도를 측정하는 기준으로 entropy를 사용했지만 gini 계수라는 것도 있습니다. 그 외에도 카이제곱 통계량이나 분산의 감소량같은 것도 사용하며 이에 따라 C4.5, CART, CHAID 등 다양한 decision tree 알고리즘이 있습니다. 지금까지 설명한 알고리즘은 ID3라는 기본적인 알고리즘이었습니다. gini 계수는 다음과 같이 정의합니다. $$1- \sum _{i=1} ^{c} p _{i}^{2} =G(U)$$ 이 식을 그림1을 예로 들어 설명하면 빨간색 데이터는 6개이고 파란색 데이터는 4개인데 $p _{1} = \frac{6}{10} ,p _{2} = \frac{4}{10}$으로 $G(U)=0.48$ 반면 entropy로 계산한 불순도는 $H(U)=0.972$

2021. 12. 13. 00:16

decision tree의 가지치기(pruning)

위와 같이 decision tree는 recursive partitioning을 통해 각 node에서 information gain이 순간 순간 최대가 되는 방향으로 feature를 선택하고 최종 node의 entropy가 0이 될 때까지 구분을 진행합니다. 그런데 딥러닝을 많이 하신 혹시나 이 글을 읽고 계신 분은 짐작하셨겠지만 주어진 training data에 너무나 fitting된다는 단점이 있습니다. 그러니까 새로운 data가 들어올 때 사실 정확한 분류를 해줄지는 미지수라는 점입니다. 그래서 pruning이라는 방법을 수행하여 일반화 능력(generalization performance)을 올려줍니다. 일반화 능력은 딥러닝에서 모델이 train중 한 번도 보지 못한 test data에 대해서도 ..