전체 글 285

규제(Regularization)

모델이 훈련데이터에 과하게 맞추는 과대적합을 줄이고, 일반화 성능을 높이기큰 계수에 패널티 줘서 모델 복잡도 낮춤 Lasso(L1) 선형회귀에 “규제항(Regularization term)”을 추가한 모델기본 선형회귀는 MSE(평균제곱오차) 를 최소화하지만, Lasso는 거기에 더해 회귀계수의 절댓값 합(∑|βᵢ|) 도 최소화MSE를 최소화 (예측 잘하게)β들의 절댓값 합도 최소화 (모델 단순하게)규제가 강하면(λ↑), 일부 회귀계수(β)가 정확히 0이 됨 → 즉, 해당 변수는 모델에서 완전히 제외됨불필요한 변수 자동 제거 (Feature Selection) 장점변수 선택이 자동으로 이루어짐모델에서 가장 중요한 특성이 무엇인지 알게 되는 등 모델 해석력이 좋아짐 단점변수간 상관관계가 높으면 성능이 떨어짐..

회귀 분석(Regression Analysis)

독립 변수다른 변수에 영향을 받지 않고 독립적으로 변화하는 수, 설명 변수라고도 함입력 값이나 원인을 나타내는 변수,y = f(x) 에서 x에 해당하는 것종속 변수(target)독립변수의 영향을 받아 값이 변화하는 수, 분석의 대상이 되는 변수결과물이나 효과를 나타내는 변수, y = f(x) 에서 y에 해당하는 것잔차(오차항)계산에 의해 얻어진 이론 값과 실제 관측이나 측정에 의해 얻어진 값의 차이오차(Error)–모집단, 잔차(Residual)–표본집단 단순 선형 회귀하나의 특성(Feature, 독립변수)를 가지고 Target을 예측하기 위한 선형 함수를 찾는 것▪y=ax+b다중 선형 회귀(Multivariate Linear Regression)여러 개의 특성을 활용해서 Target을 예측하는 회귀 ..

Gradient Boosting

여러 개의 “아주 얕은 나무(weak learner)”를 순차적으로 더해가며, 앞선 모델이 틀린 부분을 학습하여 조금씩 고쳐 가는 부스팅 기법잔차(residual): 실제 값과의 차이learning_rate• 한 번에 보정하는 크기. • 작을수록 과적합 위험↓, 대신 더 많은 트리 필요.• 0.05~0.1 근처로 시작(0.2 이상은 주지 않는다)max_iter• 트리(부스팅 단계) 개수. learning_rate와 트레이드오프(500~1000).max_depth / max_leaf_nodes• 각 트리의 복잡도. 너무 크면 과적합↑.min_samples_leaf / L2_regularization• 과적합 방지용 규제.early_stopping=True• 검증 성능이 더 안 오르면 자동 중단 장점구조화..

RandomForest까지의 종합적 예제

0. 데이터 (seaborn : penguins)1. 데이터 전처리 - 수치형/범주형 변수 분리 - 결측치 처리(수치형(median)/범주형(mode)) - 범주형 데이터 인코딩(one-hot-encoding)2. 원시데이터 시각화 - 클래스 불균형 - 수치형 변수들의 분포(히스토그램) - 이상치 및 분포 확인(박스플롯, 바이올린 플롯) - 수치형 변수가의 상관관계(히트맵)3. ColumnTransformer() -수치형 컬럼 스케일링4. pipeline()5. 교차검증객체 생성6. gridsearchCV()7. (학습/테스트)데이터 분리8. 학습9. 테스트 10. 테스트 점수 출력11. 변수 중요도(mdi, mda)12. 변수 중요도 시각화from __future__ im..

랜덤 포레스트(Random Forest)

의사결정나무를 기반으로 하는 앙상블 모형으로 배깅(Bagging)에 랜덤 과정을 추가한 방법의사결정나무 여러(수십~수백)개를 만들어 투표/평균하여 결과 도출무작위 방법▪부트스트랩 샘플: 훈련 데이터를 복원추출로 랜덤하게 뽑아 트리마다 다른 데이터로 학습▪특징 무작위화: 각 노드에서 분할할 때 일부 특성만 후보로 고려(max_features)장점▪단일 트리보다 일반화 성능↑ (과대적합 완화)▪변수 중요도 제공(특히 초반 피처 선정/설명에 유용) 자주 쓰는 하이퍼 파라미터n_estimators #트리 개수 (보통 100~500부터 시작)max_depth, min_samples_leaf #트리 복잡도 제한(과대적합 방지)max_features #노드 분할 시 고려할 특성 수(분산↓)bootstrap=True ..

앙상블 기법

앙상블 학습 기법여러 개의 약간 다른 모델을 묶어 하나의 예측을 만드는 기법서로의 약점을 보완해 일반화 성능(테스트 성능)을 높이는 게 목적핵심 종류배깅 = 여러 명이 독립적으로 푼 답을 평균부스팅 = 한 명이 틀린 걸 다음 사람이 수정스태킹 = 여러 전문가의 답을 모아서, ‘판단 전문가’(메타모델)가 이들을 조합해 최종 답을 내는 것배깅(Bagging)여러 모델을 독립적으로 학습시키고, 그 결과를 평균/투표로 합치자여러 명이 각각 따로 시험 문제 풀고, 다수결로 답 고르는 느낌 하는법원본 데이터를 중복 허용(bootstrap) 으로 여러 번 샘플링→ 예: 100개 데이터로 여러 ‘훈련세트’를 뽑음각각에 같은 모델(예: 결정트리) 을 학습시킴예측할 땐회귀 → 평균분류 → 다수결로 결정 특징과적합(Over..

결정 트리(Decision Tree)

분류(Classification)와 회귀(Regression) 모두 가능한 지도 학습 모델 중 하나스무고개 하듯이 예/아니오 질문을 이어가며 학습 가지 분리 기준• 데이터를 섞여 있지 않게, 가장 깔끔하게 나누는 질문• 불순도가 낮아지고 순수도가 높아지는 방향으로 분리• 불확실성이 낮아지는 방향• 최종 노드가 너무 많으면 Overfitting 가능성이 커짐 불순도 측정 지표• 값이 작을수록 순수도가 높음(분류가 잘 됨): 0~1• 지니(Gini)지수 1 − Σkᵢ₌₁pᵢ² => 1 − Σ(각 범주별 개수/전체개수)²• 엔트로피(Entropy)지수 − Σkᵢ₌₁pᵢ log₂pᵢ 정보 이득 (Information gain)• 부모 노드와 자식 노드간의 불순도 차이 가지치기 규칙 (Pruning rule)• ..

LogisticRegression

데이터가 어떤 범주(class)에 속할 확률을 0에서 1사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에속하는 것으로 분류해주는 지도 학습 알고리즘 이진 분류(스팸/햄, 합격/불합격)나 다중 분류(와인 3종류)할 때 쓰는 선형 모델입력 특징들에 가중치를 곱해서 직선을(또는 초평면) 만든 다음,그 결과를 시그모이드/소프트맥스로 확률로 바꿔서 “이 클래스일 확률이 얼마야”라고 말해주는 모델 이진(sigmod)/다중(softmax) 분류 모두에 사용 시그모이드(Sigmoid) 함수를 사용해 확률을 계산 P = sigmoid(z) z=0이면 0.5, z가 커질수록 1에 가깝고, 작아질수록 0에 가깝다 소프트맥스함수: 다중 분류에 사용입력 데이터가 각 클래스에 속할 확률 계산모든 클래스 확률 더하..

K-Nearest Neighbors(KNN) 최근접 이웃 알고리즘

scikit-learn(sklearn)파이썬 표준 머신러닝 라이브러리로, NumPy/SciPy 위에 구축된 CPU 기반 범용 ML 툴킷conda install -c conda-forge scikit-learn -y KNN 원리: 새로운 데이터가 들어오면, 가장 가까운 데이터 k개를 찾아 그 다수결(분류)이나 평균(회귀)으로 값을 예측하는 가장직관적인 이웃 기반 알고리즘 동작방식거리정의: 각 데이터 간 얼마나 비슷한지 거리로예유클리드 거리: 두 점 사이 거리. 피타고라스 정리로 √((x₁ - x₂)² + (y₁ - y₂)²)맨해튼 거리: 대각선으로 못 갈때. |x₁ - x₂| + |y₁ - y₂|민코프스키 거리: 민코프스키 거리는 유클리드 거리와 맨해튼 거리의 일반화된 형태즉, 하나의 공식으로 둘 다 표현..

머신러닝

AI: 사람의 생각, 판단을 컴퓨터가머신러닝(ML): 데이터로 부터 규칙을 배우도록딥러닝(DL): 머신러닝 안에서 신경망을 쌓아 복잡한거 품. 비정형 데이터에 강함 지도학습: 문제와 정답이 같이 있는 데이터 학습 ex) 가격 예측, 사진 분류비지도학습: 정답 라벨 없이 숨은 구조/패턴 찾기 ex) 고객을 비슷한 그룹으로 묶기, 차원 축소, 연관 분석강화학습: 정답 대신 보상을 받으며 시행착오로 전략 학습 지도학습공통 포맷: 입력 -> 모델 -> 출력 회귀(숫자 예측)선형회귀: 입력과 출력이 직선 관계라고 봄.쉽고 빠름다항회귀: 직선으로 부족할 때 곡선 허용랜덤 포레스트 회귀: 여러 결정 트리의 평균으로 안정적 예측. 비선형에 강함XGBoost/LightGBM: 트리를 단계적으로 고도화(부스팅). 성능과 ..