목록전체 글 (236)
개발로그필름

머신러닝의 핵심 개념 중 하나인 앙상블(Ensemble) 기법 1. 앙상블이란?여러 개의 모델(약한 모델)을 결합하여 더 강력한 예측 모델을 만드는 방법단일 모델은 편향(bias) 또는 분산(variance)에 문제가 있을 수 있다앙상블은 이런 약점을 다양한 관점에서 보완해서 정확도와 안정성을 높여준다 2. 왜 앙상블이 필요할까?단일 모델은 한계가 있다예를 들어, 결정트리는 과적합되기 쉬움선형 회귀는 너무 단순해서 복잡한 관계를 놓침하지만 여러 모델을 적절히 결합하면,정확도 향상일반화 성능 개선과적합 방지 3. 앙상블의 대표적인 유형 앙상블은 대표적으로 네 가지 방식으로 나눌 수 있다1) 보팅(Voting) – 모델 다수결 또는 평균서로 다른 여러 개의 모델을 학습시킨 후, 예측 결과를 결합..

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

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

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

https://school.programmers.co.kr/learn/courses/30/lessons/276035 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr -- 코드를 작성해주세요SELECT DISTINCT ID,EMAIL,FIRST_NAME,LAST_NAMEFROM DEVELOPERS d JOIN SKILLCODES sWHERE d.SKILL_CODE & s.CODE = s.CODE AND s.CATEGORY = 'Front End'ORDER BY ID; 중복없이 해당 컬럼을 가진 개발자 목록 조회개발자 테이블과 스킬코드 테이블 join비트 연산으로 해당 스킬을 보유하고 있는지 확인 fron..

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

https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr SELECT i.NAME, i.DATETIMEFROM ANIMAL_INS iLEFT JOIN ANIMAL_OUTS o ON i.ANIMAL_ID = o.ANIMAL_IDWHERE o.ANIMAL_ID IS NULLORDER BY i.DATETIME ASCLIMIT 3; 입양 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리 이름, 보호 시작일 조회. 보호 시작일 순으로 조회입양 못 간 동물을 조회해야하니까보호소 들어온 동물 테이블 기준으로 ..

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