목록ML (5)
개발로그필름

1. 결정트리 회귀란?숫자를 예측하는 모델입분류가 “어떤 카테고리인지” 맞추는 거라면, 회귀는 “숫자 값”을 맞추는 것 ex)어떤 집의 가격은 얼마일까?내일의 기온은 몇 도일까?고객이 평균적으로 얼마나 지출할까? 이런 수치형 값을 예측할 때 결정트리 회귀를 사용 2. 어떻게 작동할까?결정트리는 조건(질문)을 계속 만들어 데이터를 쪼갠다회귀 트리는 리프 노드마다 평균값을 넣어서 예측값을 만든다 작동 과정데이터를 기준으로 나눈다 (예: “X 나뉜 그룹이 숫자 예측값을 비슷하게 가지도록 계속 나눈다더 이상 나눌 수 없거나, 정지 조건에 도달하면 멈춘다마지막 노드(리프 노드)에는 그 구간의 평균값이 들어간다 3. 수학적으로는?분할할 때마다 “오차(불순도)”를 최소화하는 방향으로 분기즉, 각 노드의 M..

1. 모델의 의사결정 과정을 시각적으로 표현할 수 있음결정나무는 “질문하고, 답하고, 또 질문하고…” 이런 과정을 마치 게임처럼 트리 구조로 보여준다ex) “기온이 20도 이상인가요?” → “네”면 오른쪽, “아니오”면 왼쪽이런 분기 구조를 그림(트리 구조) 으로 쉽게 그릴 수 있다→ “모델의 해석 가능성이 높다”, “화이트박스 모델”이라고도 표현됨 2. 수치형 & 범주형 데이터 전처리 거의 필요 없음다른 모델들은 숫자/문자 데이터를 바꾸거나 정규화해야 하는데, 결정나무는 그냥 있는 그대로 사용해도 잘 작동ex) ‘나이’는 그냥 숫자 그대로, ‘성별’은 남자=0, 여자=1처럼 바꿔도 바로 조건 분기로 사용할 수 있다→ “범주형 변수도 별도 인코딩 없이 처리 가능”→ “복잡한 전처리 없이도 모델 학습 ..

과소적합(Underfitting)과 과대적합(Overfitting)은 머신러닝 모델 성능을 평가할 때 아주 중요한 개념쉽게 말하면, 모델이 너무 단순하거나 너무 복잡해서 문제를 잘 풀지 못하는 상태 1. 과소적합 (Underfitting)모델이 너무 단순해서 훈련 데이터도 제대로 학습하지 못한 상태 특징훈련 데이터 정확도 낮음테스트 데이터 성능 낮음데이터의 패턴 잘 포착하지 못함 예시선형 모델이 복잡한 곡선 형태의 데이터를 학습하려 할 때결정트리의 최대 깊이를 너무 작게 설정했을 때 해결 방법더 복잡한 모델 사용 (예: 선형 → 결정트리, 신경망 등)더 많은 피처 사용학습을 더 오래 시킴 2. 과대적합 (Overfitting)모델이 너무 복잡해서 훈련 데이터에만 지나치게 맞춘 상태그래서 새..

범주형 데이터를 컴퓨터가 이해할 수 있는 숫자 형태로 변환하는 가장 기본적인 인코딩 방법 개념예를 들어, 어떤 데이터에 다음과 같은 색상이라는 범주형 컬럼이 있다고 해보자색상빨강파랑초록 이걸 원핫인코딩하면 아래처럼 각각의 범주(고유값)를 0과 1로만 이루어진 벡터로 변환한다빨강파랑초록100010001즉, 각 행은 해당 값에 해당하는 컬럼만 1이고, 나머지는 0이처럼 컴퓨터는 숫자를 잘 처리하니까, 범주형 데이터를 수치형으로 바꾸는 방법이 원핫인코딩 언제 쓰지?머신러닝/딥러닝 모델에서 문자 데이터를 처리해야 할 때특히 선형 회귀, 로지스틱 회귀, 트리 기반 모델 등 대부분의 모델에서 문자 그대로 입력하면 안 되기 때문에 숫자화 필요 import pandas as pddf = pd.DataFra..

머신러닝에서 많이 사용되는 지도학습 알고리즘 중 하나로, 주로 분류(classification)와 회귀(regression) 문제를 해결할 때 사용된다이름처럼 나무(Tree) 구조를 가지며, 조건에 따라 데이터를 분기(split) 해가며 최종적인 예측 결과(클래스 또는 값)를 도출한다 1. 결정나무란?결정나무는 질문을 통해 데이터를 나눠가는 방식ex) “기온이 25도 이상인가요?” → “네”면 오른쪽, “아니오”면 왼쪽으로 나뉘는 식이렇게 질문을 이어가면서 분기점(node) 을 만들고, 마지막 결과에 도달하는 말단 노드(leaf node) 에서 예측값이 나온다 2. 결정나무 구조루트 노드 (Root Node)트리의 맨 위 노드. 첫 번째 조건이 위치내부 노드 (Internal Nodes)..