AI VIDEO BRIEFING

랜덤 포레스트 결측치 처리와 근접도 행렬 — 군집화까지 정리

랜덤 포레스트에서 학습 데이터와 새 샘플의 결측치를 반복 추정으로 채우는 방법, 그리고 근접도 행렬을 거리 행렬로 바꿔 히트맵·MDS로 군집을 보는 원리를 사례로 설명한다.

랜덤 포레스트 2편: 결측치 처리와 근접도 행렬로 샘플 군집화하기 영상 대표 이미지

핵심 메시지

  • 랜덤 포레스트는 학습 데이터의 결측치와 분류하려는 새 샘플의 결측치를 서로 다른 방식으로 다룬다.
  • 학습 데이터 결측치는 초기 추정값(범주형은 최빈값, 수치형은 중앙값)으로 채운 뒤 근접도를 이용해 반복적으로 정교하게 보정한다.
  • 근접도 행렬은 모든 샘플을 모든 트리에 통과시켜 같은 잎 노드에 도달한 횟수를 세어 만들며, 1에서 빼면 거리 행렬이 되어 히트맵이나 MDS 플롯으로 군집을 시각화할 수 있다.
  • 새 샘플의 결측치는 분류 후보별로 복사본을 만들어 값을 추정한 뒤, 트리에서 더 자주 올바르게 분류되는 쪽을 채택한다.

쉽게 이해하기

영상은 랜덤 포레스트가 다루는 두 종류의 결측치를 구분하며 시작한다. 하나는 포레스트를 만드는 데 쓰는 원본 학습 데이터의 결측치이고, 다른 하나는 새로 분류하려는 샘플의 결측치다.

학습 데이터의 결측치는 우선 거칠게라도 초기 추정값으로 채운다. 범주형 값(예: 동맥 막힘 여부)은 같은 결과(심장병 없음)를 가진 다른 샘플들에서 가장 흔한 값으로, 수치형 값(예: 몸무게)은 그 집단의 중앙값으로 채운다. 그다음 이 추정을 점차 정교하게 다듬는다.

추정을 다듬는 핵심은 "어떤 샘플들이 서로 비슷한가"를 정하는 것이다. 랜덤 포레스트를 만들고 모든 데이터를 모든 트리에 통과시켜, 같은 잎 노드에 도달한 샘플 쌍을 근접도 행렬에 1씩 더해 기록한다. 모든 트리를 거친 뒤 각 값을 트리 개수로 나누면 근접도가 된다. 이 근접도로 범주형은 후보별 평균 근접도가 큰 쪽을 고르고, 수치형은 근접도를 가중치로 한 가중 평균을 구한다. 이 과정을 값이 더 이상 변하지 않을 때까지 보통 예닐곱 번 반복한다.

근접도 행렬에는 멋진 응용이 있다. 근접도 1은 두 샘플이 가장 가깝다는 뜻이므로, 1에서 근접도를 빼면 거리 행렬이 된다. 이 거리 행렬로 히트맵을 그리거나 MDS 플롯을 그려 샘플들이 서로 어떻게 묶이는지 볼 수 있다. 순위형, 객관식, 수치형 등 데이터 종류에 상관없이 트리만 만들 수 있으면 이 시각화가 가능하다는 점이 강력하다.

새 샘플의 결측치는 다르게 처리한다. 분류 후보(심장병 있음/없음)별로 데이터 복사본을 두 개 만들고, 앞서의 반복 방법으로 각 복사본의 결측값을 추정한다. 그런 다음 두 샘플을 트리에 통과시켜 어느 쪽이 더 자주 올바르게 분류되는지 비교하고, 더 많이 맞은 쪽을 최종 분류로 선택한다.

주요 인사이트

  • 랜덤 포레스트에서 "유사도"는 추상적 개념이 아니라 두 샘플이 같은 잎 노드에 얼마나 자주 함께 도달하는가로 구체적으로 정의된다.
  • 근접도(1에 가까울수록 가까움)를 1에서 빼 거리로 바꾸는 단순한 변환만으로 트리 기반 모델을 군집·시각화 도구로 확장할 수 있다.
  • 데이터 종류가 섞여 있어도 트리만 만들 수 있으면 히트맵·MDS로 표현할 수 있어, 근접도 행렬은 범용적인 유사도 측정 수단이 된다.
  • 결측치 보정은 한 번에 끝나지 않고 값이 수렴할 때까지 반복하는 점진적 과정이라는 점이 핵심이다.

자주 묻는 질문

랜덤 포레스트는 학습 데이터의 결측치를 어떻게 채우나요?

먼저 거친 초기 추정값으로 채웁니다. 범주형은 같은 결과를 가진 다른 샘플들의 최빈값, 수치형은 그 집단의 중앙값을 씁니다. 이후 근접도 행렬을 이용해 비슷한 샘플들의 값을 반영한 가중 평균·최빈값으로 추정을 반복 보정하며, 값이 수렴할 때까지 보통 예닐곱 번 반복합니다.

근접도 행렬은 어떻게 만드나요?

랜덤 포레스트를 만든 뒤 모든 데이터를 모든 트리에 통과시킵니다. 두 샘플이 같은 잎 노드에 도달하면 그 쌍에 1을 더하고, 모든 트리를 거친 뒤 각 값을 트리 개수로 나눕니다. 값이 1에 가까울수록 두 샘플이 비슷하다는 뜻입니다.

근접도 행렬로 군집을 어떻게 시각화하나요?

근접도 1은 가장 가깝다는 의미이므로 1에서 근접도를 빼면 거리 행렬이 됩니다. 이 거리 행렬로 히트맵이나 MDS 플롯을 그리면 샘플들이 어떻게 묶이는지 볼 수 있고, 순위·객관식·수치형 등 데이터 종류와 무관하게 트리만 만들 수 있으면 적용됩니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식

#랜덤포레스트#머신러닝#결측치처리#근접도행렬#군집화