본문 바로가기
머신러닝/개념익히기

머신러닝 랜덤포레스트 / k-NN

by ADELA_J 2023. 7. 19.

<랜덤포레스트>

- 앙상블 학습의 일종

- 결정 트리의 단순 버전을 여러개 만들어 분류 결과를 다수결로 결정하는 방법

- 선형 분리가 불가능한 데이터셋의 분류가 가증한 점.

- 다수의 분류기를 통해 다수결로 결과를 출력하기 때문에 빗나간 값에 의해 예측 결과가 좌우되기 힘든 점.

▼ 기본 예시

▼ 어제했던 결정트리 예시에서 버섯 한번 더 활용하기

기본 데이터는 여기서 보기 ▶ https://dev-adela.tistory.com/169

▷이전에 했던 결정트리랑 정확도가 똑같이 나온다..! 왜지 ▷ 버전이 올라가면서 개선된것이라고 함다 

 

<k-NN, k-nearest neighbors algorithm, k-최근접 이웃 알고리즘>

- 이웃해있는걸로 비교해서 가까운 것으로 판단한다는것.

- 예측할 데이터와 유사한 데이터 몇 개를 찾아내 다수결로 분류 결과를 결정하는 방법.

- 게으른 학습 (lazy learning)이라고 불리기도 함. 

- 학습에 소요되는 계산량은 0 임.

- 데이터로 학습하는 것이 아니라 직접 참조하여 라벨을 예측

- 지도데이터를 예측해 사용될 데이터와의 유사도 정렬 > 분류기에 설정된 k개의 데이터를 유사도가 높은 순으로 참조 > 참조된 데이터가 속한 클래스 중 가장 많았던 것을 결과 예측

- 알고리즘이 비교적 단순, 높은 예측 정확도, 복잡한 모양의 경계선도 표현하기 쉬움.

- 하지만 분류기로 지정한 자연수 k의 수를 많이 늘리면 : 정확도 저하, 데이터 많아지면 : 느린 알고리즘 됨.

▼ 기본 구현

▷ 오 정확도 1나와쒀~~~~

 

▼ 위의 버섯 데이터를 해봤을때 정확도가 다른 모델보다 떨어지는 것을 확인할 수 있다.

 

 

'머신러닝 > 개념익히기' 카테고리의 다른 글

머신러닝 하이퍼파라미터  (0) 2023.07.20
머신러닝 같은 데이터로 scikit-learn 구현해보기  (0) 2023.07.19
결정트리, decision tree  (0) 2023.07.18
기본 선형 SVM  (0) 2023.07.18
로지스틱 회귀  (0) 2023.07.18