ASAC 빅데이터 분석가 7기/ML(Machine Learning) 14

[ML] XGBoostAScalableTreeBoostingSystem 논문 요약

XGBoost는 확장 가능한 트리 부스팅 시스템으로, 많은 머신러닝 문제에서 뛰어난 성능을 보여주는 알고리즘입니다. 이 논문에서는 희소 데이터와 효율적인 캐시 접근 방식을 포함한 XGBoost의 독창적인 알고리즘을 제안합니다. XGBoost는 대규모 데이터 처리에서 빠른 성능을 자랑하며, 엔드 투 엔드 시스템으로의 가능성을 보여줍니다. 또한, 이를 통해 데이터 과학자들은 더욱 강력한 모델을 구축할 수 있는 여건을 마련할 수 있습니다. XGBoost는 실제 세계의 여러 문제에서 가장 효과적인 기계 학습 방법 중 하나로 자리잡고 있습니다.핵심 용어XGBoost: XGBoost는 확장 가능한 트리 부스팅 시스템으로, 데이터를 분석하고 예측하는 데 매우 효율적이에요. 마치 여러 나무를 한꺼번에 사용해 숲을 만드..

ML 실습 예제 - 타이타닉

1. 데이터 전처리import pandas as pd import numpy as np from sklearn.preprocessing import LabelEncoder # 전처리 함수 정의 def check_fillna(df):     df["Age"].fillna(df["Age"].mean(), inplace=True)     df["Cabin"].fillna("N", inplace=True)     df["Embarked"].fillna("N", inplace=True)     df["Fare"].fillna(0, inplace=True)     return df def drop_feature(df):     df.drop(["PassengerId", "Name", "Ticket"], axis=1..

SVM [ML 분류&회귀 모델의 지도 학습 알고리즘]

SVM (Support Vector Machine)SVM(서포트 벡터 머신)은 지도 학습(supervised learning) 알고리즘의 한 종류로,주로 분류(classification)와 회귀(regression) 문제를 해결하기 위해 사용된다.SVM의 핵심 개념최적의 초평면 찾기SVM은 데이터를 분류하기 위한 결정 경계(decision boundary), 즉 초평면(hyperplane)을 찾습니다. 이 초평면은 클래스 간의 간격(마진, margin)을 최대화하도록 선택되며, 마진에 인접하는 데이터 포인트들을 서포트 벡터(support vectors)라고 부릅니다.마진 극대화최적의 초평면을 선택하는 이유는 두 클래스 사이의 마진을 최대화함으로써, 일반화 성능을 높이고 노이즈나 약간의 오류가 있는 데이터..

KNN [ML 분류&회귀 모델의 지도 학습 알고리즘]

KNN (K-Nearest Neighbor)KNN은 주어진 데이터 포인트와 가장 근접한 이웃들(K개)을 참조하여 분류 또는 회귀 예측을 수행하는 지도학습 알고리즘데이터의 패턴을 학습하기보다는, 새로운 데이터가 들어왔을 때 기존 데이터 포인트들과의 거리 계산을 통해 유사도를 판단하는 방식주요 원리거리 측정:데이터 간의 유사도를 평가하기 위해 L1 Norm, L2 Norm, Infinite Norm 등 다양한 거리 측정 방법을 활용합니다. 가장 많이 사용되는 것은 유클리드 거리(L2 Norm)입니다.K값 선택:분류나 회귀 예측 시 참조할 이웃의 수인 K의 값은 모델 성능에 큰 영향을 줍니다.K가 작을 경우: 모델이 데이터에 너무 민감하게 반응해 과적합(Overfitting) 문제가 발생할 수 있습니다.K가 ..

Linear Regression [ML 회귀 모델의 지도 학습 알고리즘]

선형회귀(Linear Regression)회귀분석(regression) 기법의 가장 기본적이고 대표적인 형태독립 변수(설명 변수) x가 종속 변수(목표 변수) y에 미치는 영향을 선형적(직선적)으로 설명하는 모델이다.선형회귀의 목표는 주어진 학습 데이터에서 상수항을 추정하여, 실제 관측값 종속변수과 모델이 예측한 값의 차이가 최소가 되도록 하는 것이다.가장 전통적이면서도 흔히 사용되는 방법은 최소제곱법(Ordinary Least Squares, OLS)으로, 잔차(residual)의 제곱합을 최소화하는 방향으로 계수를 찾는다.핵심적인 논리적 설명선형성 가정(Linearity Assumption)모델이 “독립 변수와 종속 변수의 관계를 직선(혹은 초평면)으로 묘사한다”고 가정한다. 즉, 각 독립 변수의 영..

Ensemble [ML 모델의 성능 평가&과적합 방지]

Ensemble(앙상블)머신러닝에서 여러 개의 모델(또는 예측기)를 결합하여 더 나은 성능을 얻고자 하는 방법론개별 모델의 예측 결과를 조합함으로써 단일 모델보다 일반화 성능을 개선하고, 과적합(overfiting)과 같은 문제를 완화하는 데 사용한다.개별 모델은 데이터의 일부 패턴만 학습할 수 있지만, 여러 모델을 결합하면 더 넓은 패턴을 포착할 수 있다.서로 다른 모델의 결과를 합치면 편향(bias)과 분산(variance)를 줄일 수 있다.Diversity : 모델 간의 결정 경로와 결과의 차이- 모델의 다양성을 확보하여 앙상블 성능을 높이는 핵심 전략장점- 모델의 일반화 성능 향상.- 과적합 감소: 다양한 모델의 조합으로 특정 데이터에 치우치는 것을 방지.- 유연성: 서로 다른 알고리즘을 결합 가..

Decision Tree [ML 분류 및 회귀 모델의 지도 학습 알고리즘]

Decision Tree분류(Classification) 및 회귀(Regression) 작업에 널리 사용되는 지도 학습(Supervised Learning) 알고리즘Decision Tree - Classification의 작동 방식 데이터 분할 - 데이터는 속성(Feature)에 따라 분리된다- 분할 기준은 정보 획득(Information Gain), 지니 불순도(Gini Impurity), 또는 엔트로피(Entropy)를 기반으로 한다- 분할 과정은 데이터를 최대한 동질적인 그룹으로 나누는 방향으로 진행노드 구성 - 루트 노드(Root Node): 트리의 최상단 노드이며, 전체 데이터셋을 포함- 내부 노드(Internal Node): 특정 속성의 조건을 기반으로 데이터를 분리하는 노드- 단말 노드(Le..

Scikit-Learn [ML모델 오픈 소스 라이브러리]

Scikit-Learnscikit-learn: 파이썬에서 머신 러닝 모델을 쉽게 구축하고 평가할 수 있도록 돕는 오픈 소스 라이브러리주요 특징- 간단하고 일관된 API- 풍부한 기능 - 다른 파이썬 라이브러리와의 연계 - 광범위한 커뮤니티와 문서화주요 구성 요소- 데이터셋 모듈 - 전처리 모듈 - 모델 선택 및 검증 - 알고리즘 모듈짧은 코드로 효율적이고 신뢰성 있는 머신 러닝 모델을 빠르게 구축Scikit-learn 기본 모듈데이터 관련 모듈- sklearn.datasets: 내장된 예제 데이터 불러와서 사용 - sklearn.preprocessing: 데이터 전처리(인코딩, 정규화 스케일링) - sklearn.feature_selection/extraction: 특징 선택 및 추출 알고리즘 모듈- s..

K-Fold Cross Validation [ML 모델의 성능 평가&과적합 방지]

K-Fold Cross Validation데이터를 K개의 부분(폴드, fold)으로 나누어 모델을 반복적으로 훈련 및 테스트함으로써, 모델의 일반화 성능을 보다 안정적으로 평가할 수 있다여러 번 시행을 통한 보다 General한 결과 추출 가능- 1번만 학습하면 그 부분에만 맞춰지는 OverFit으로 학습된다K-fold를 수행하면, train/test 모두 가변적으로 변하는 상태에서 전반적으로 성능을 체크K-Fold Cross Validation의 과정데이터(Traning Data Set)를 K개의 균등한 부분으로 분할- 전체 데이터를 K개의 하위 데이터셋(폴드)으로 나눈다- 각 폴드는 가능한 한 크기가 같게 나뉘며, 데이터의 클래스 분포를 유지하도록 나누기도 한다(Stratified K-Fold)반복적..

Bias-Variance Trade-off [ML 모델의 성능 이해&최적화]

Bias-Variance Trade-off모델의 편향(Bias)과 분산(Variance) 사이의 균형을 설명이 두 요소는 모델의 예측 성능에 영향을 미치는 상반된 특성을 나타내며,이를 잘 조율하는 것이 좋은 모델을 만드는 핵심1. Bias와 Variance의 정의Bias (편향) 모델이 실제 데이터의 패턴을 얼마나 잘 학습했는지- 높은 편향모델이 데이터의 복잡한 패턴을 잘 학습하지 못하는 상태(Underfitting)단순한 모델(예: 선형 회귀)이 복잡한 데이터를 다룰 때 발생- 낮은 편향모델이 데이터의 복잡한 패턴을 잘 학습한 상태Variance (분산) 모델이 학습한 데이터에 얼마나 민감하게 반응하는지- 높은 분산모델이 학습 데이터에 지나치게 민감하여 새로운 데이터에 일반화되지 않는 상태(Overfi..