일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 데이터분석
- 파이썬
- for반복문
- 코딩독학
- 윈도우함수
- 유학생
- 로지스틱회귀
- 오늘도코드잇
- 머신러닝
- 영국석사
- 판다스
- 코딩공부
- 런던
- numpy
- matplotlib
- 코드잇
- 행렬
- Seaborn
- 다항회귀
- SQL
- sql연습문제
- 경사하강법
- 코딩
- HTML
- 결정트리
- 선형회귀
- 코드잇TIL
- CSS
- 코드잇 TIL
- 나혼자코딩
- Today
- Total
목록결정트리 (5)
영국 척척석사 유학생 일기장👩🏻🎓
1. 데이터 셋 저번 글에서 사용한 데이터에다가 중요도라는 열을 추가하겠습니다. 에다 부스트는 전에 있는 스텀프들이 틀리게 예측한 데이터들을 조금 더 잘 맞추려고 하는 알고리즘입니다. 그렇기 때문에 스텀프를 만들 때 전에 예측에 실패했던 데이터들을 조금 더 중요하게 취급을 해야 합니다. 이걸 수치화하고 보기 편하게 열로 추가시켜주는 것입니다. 처음에는 틀리게 예측한 데이터가 없으니까 모든 데이터의 중요도를 같게 설정합니다. 7개의 데이터가 있으니까 각각 1/7씩 입니다. 중요도의 합은 항상 1로 유지시켜 줍니다. 2. 첫 스텀프 만들기 첫 스텀프는 전에 만든 스텀프가 없기 때문에 결정 트리를 만들 때랑 똑같이 root 노드를 고릅니다. 일단 각 질문들의 지니 불순도를 계산합니다. 지니 불순도가 가장 낮은..
1. 스텀프 랜덤 포레스트를 만들 때와 똑같이 에다 부스트에서도 수많은 결정 트리들을 만듭니다. 랜덤 포레스트에서 만드는 트리들은 깊이가 조금 있었는데 에다부스트에서는 깊은 결정 트리들이 아니라 root 노드 하나와 분류 노드 두 개를 갖는 얕은 결정 트리를 만듭니다. 예를 들면 교통사고 데이터를 분류하고 싶다고 합시다. 뿌리 노드의 질문이 속도가 80km를 넘었는지 안 넘었는지, 그리고 넘었으면 사망, 넘지 않았으면 생존 이렇게 예측하는 단순한 트리인 입니다. 이런식으로 하나의 ㅈ리문과 그 질문에 대한 답으로 바로 예측을 하는 결정 트리를 나무의 그루터기를 의미하는 스텀프라고 합니다. 이런 식으로 스텀프를 만들게 되면 성능은 주로 50%보다 조금 나은 성능을 갖게 됩니다. Boosting 기법은 성능이..
랜덤 포레스트는 수많은 트리들을 임의로 만들고, 이 모델들의 결과를 다수결 투표로 종합해서 예측하는 모델입니다. 트리를 많이, 임의로 만들기 때문에 랜덤 포레스트라는 이름을 갖습니다. 랜덤 포레스트에서 임의성을 더하는 요소는 두가지가 있습니다. 그 중 Bootstrapping에 대해 알아보겠습니다. 1. Bootstrapping bootstrapping은 갖고 있는 데이터 셋을 이용해서 조금 다른 데이터 셋을 만들어내는 방법입니다. 예를 들어 독감 환자 데이터를 사용한다고 해봅시다. 총 다섯 개의 열이 있는데 고열, 기침, 몸살, 콧물, 그리고 환자가 독감인지 아닌지에 대한 데이터가 있습니다. 이 데이터 셋을 이용해서 좀 다른 데이터 셋을 만들어야 합니다. 방법은 간단합니다. 그냥 원래 있던 데이터 셋에..
결정 트리는 수많은 머신 러닝 알고리즘들 중 가장 직관적인 것들 중 하나입니다. 결정 트리의 장점은 쉽게 해석할 수 있다는 것입니다. 머신 러닝 모델을 해석한다는 건, 예측을 하는 데 있어서 어떤 속성들이 좀 더 중요하게 사용됐고, 어떤 것들이 좀 덜 중요하게 사용됐는지 알아낸다는 것입니다. 예를 들어서 독감 데이터에서 열, 기침, 몸살 이 속성들 중 어떤 것이 독감을 예측하는 데 가장 영향력이 크고, 어떤 것이 덜 중요하게 사용됐는지 알수 있다는 것입니다. 만들어 놓은 트리를 이용해서 각 속성들의 중요도, feature importance를 계산하는 방법에 대해서 알아보겠습니다. 1. 노드 중요도 (Node Importance) 속성들의 중요도를 계산하기 위해서는 먼저 각 노드 하나하나의 중요도, no..
1. 결정 트리 결정 트리는 예/아니오로 답할 수 있는 어떤 질문들이 있고, 그 질문들의 답을 따라가면서 데이터를 분류하는 알고리즘입니다. 교통사고가 났을 때, 운전자의 생존 여부를 예측하고 싶다고 합시다. 결정 트리는 질문들과 답으로 이루어졌습니다. 여기서 가장 위에 '안전벨트를 했나요?' 이 질문에서 안전벨트를 했으면 여기 왼쪽으로 내려와서 생존, 안했으면 오늘쪽으로 내려와서 사망, 이런 식으로 분류하는 것입니다. 질문에 해당하는 내용이 초록색, 그리고 분류에 해당하는 내용을 보라색이라고 합시다. 지금은 안전벨트의 여부를 물었는데 데이터가 주행 속도, 즉 특정 숫자 값이라면 주행 속오가 시속 100km를 넘었나요? 와 같은 질문을 할 수 있습니다. 이때도 똑같이 예측하려는 데이터에 대한 질문의 답에 ..