scikit-learn
-
ensemble params모음scikit-learn 2025. 4. 24. 13:48
🌲 1. RandomForest (분류/회귀 공용)다수의 결정 트리를 평균 또는 다수결로 합산RandomForestClassifier / RandomForestRegressor 파라미터설명n_estimators생성할 트리 개수 (기본 100)max_depth트리 최대 깊이 제한min_samples_split내부 노드를 나누기 위한 최소 샘플 수max_features각 노드 분할 시 고려할 최대 특성 수random_state결과 재현을 위한 시드 ⚡ 2. GradientBoosting / HistGradientBoosting이전 오류를 보완하는 방식으로 트리를 연속적으로 학습GradientBoostingClassifier / HistGradientBoostingRegressor 파라미터설명learning..
-
randomforest과 boosting의 차이scikit-learn 2025. 3. 24. 11:00
기본적으로 Decision Tree(의사결정나무)의 뿌리 구조(트리 분할 방식)는 동일하며,그 위에서 어떻게 여러 개의 트리를 활용하느냐에 따라 Random Forest와 Boosting이 나뉩니다.✅ 📌 Random Forest vs Boosting 핵심 개념알고리즘트리 구조학습 방식특징Random Forest여러 개의 독립적인 Decision Tree트리를 개별적으로 학습 후 투표(분류) 또는 평균(회귀)Overfitting 방지, 안정적이지만 Boosting보다는 성능 낮음Boosting (XGBoost, LightGBM 등)여러 개의 연속적인 Decision Tree이전 트리의 오류를 보완하면서 순차적으로 학습높은 정확도, 하지만 학습 속도가 느림✅ 📌 Random Forest (랜덤 포레스트..
-
공통적으로 자주 등장하는 하이퍼파라미터scikit-learn 2025. 3. 24. 10:47
✅ 📌 공통적으로 자주 등장하는 하이퍼파라미터대부분의 모델에서 아래와 같은 하이퍼파라미터가 자주 등장합니다.1️⃣ 모델 복잡도 조절 관련하이퍼파라미터의미n_estimators앙상블 모델에서 개별 모델(트리)의 개수 (RandomForest, XGBoost 등)max_depth트리 기반 모델에서 최대 깊이 (Overfitting 방지)min_samples_split노드를 분할하기 위한 최소 샘플 개수 (작을수록 복잡해짐)min_samples_leaf리프 노드에 필요한 최소 샘플 개수max_features노드 분할 시 고려할 최대 특징 개수2️⃣ 정규화 및 규제 관련 (Overfitting 방지)하이퍼파라미터의미alphaLasso/L1 규제 계수 (값이 클수록 강한 정규화)lambdaRidge/L2 규제 ..
-
GridSearchCV == 하이퍼파라미터 자동화scikit-learn 2025. 3. 24. 10:42
📌 GridSearchCV란?GridSearchCV는 하이퍼파라미터 튜닝을 자동화하는 Scikit-Learn의 도구입니다.즉, 머신러닝 모델의 최적의 하이퍼파라미터 조합을 찾기 위해 여러 값을 조합하여 탐색하는 방식입니다.🚀 왜 필요할까?머신러닝 모델은 learning_rate, n_estimators, max_depth 등 다양한 하이퍼파라미터를 가짐.사람이 하나하나 직접 실험하면서 최적값을 찾기 어려움.GridSearchCV는 모든 조합을 자동으로 탐색하여 최적의 조합을 찾아줌.from sklearn.model_selection import GridSearchCVfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.datasets imp..
-
gridsearch 그리드서치scikit-learn 2025. 3. 21. 15:34
GridSearch는 머신러닝 모델의 하이퍼파라미터를 자동으로 검색하여 최적화하는 방법입니다. 머신러닝 모델은 하이퍼파라미터(예: 학습률, 트리 깊이 등)에 따라 성능이 달라지기 때문에, 여러 하이퍼파라미터 값을 실험하여 가장 성능이 좋은 조합을 찾는 것이 중요합니다.GridSearch는 주어진 하이퍼파라미터들의 모든 조합을 시험하여 최적의 하이퍼파라미터를 찾습니다. 이 방법은 **전체 탐색법(Exhaustive search)**으로, 예를 들어 각 하이퍼파라미터에 대해 여러 값들을 지정해두면, 그 값들의 모든 조합을 실험하여 가장 좋은 성능을 가진 조합을 찾습니다.GridSearch의 작동 방식하이퍼파라미터 공간 정의: 모델의 여러 하이퍼파라미터 값에 대해 여러 후보 값들을 정의합니다. 예를 들어, S..
-
결정 트리 Decision Treescikit-learn 2025. 3. 21. 09:39
🌳 결정 트리(Decision Tree)의 분류 원리**결정 트리(Decision Tree)**는 데이터를 특성(feature)의 조건에 따라 분할하면서 최적의 예측을 수행하는 알고리즘입니다.분류(Classification)와 회귀(Regression) 모두 가능하지만, 여기서는 분류 기준에 집중해서 설명할게요!1️⃣ 결정 트리는 어떻게 작동할까?결정 트리는 트리 구조를 가지고 있으며, 루트 노드에서 시작해서 가지(branch)를 따라가면서 데이터를 나누는 방식입니다.🔥 핵심 개념:각 노드(Node) → 하나의 조건(예: x > 5?)각 분기(Branch) → 조건에 따라 데이터가 분할됨리프 노드(Leaf Node) → 최종적으로 결정된 클래스2️⃣ 결정 트리가 분류를 수행하는 방법(1) 데이터 분할..
-
XGBoost 하이퍼 파라미터scikit-learn 2025. 3. 20. 15:26
booster (부스터 종류)booster는 모델 학습에 사용할 부스터의 종류를 설정합니다.예시 값: 'gbtree', 'gblinear', 'dart'gbtree: 트리 기반의 부스터gblinear: 선형 모델dart: Dropouts meet Multiple Additive Regression Trees (DART)learning_rate (eta) (학습률)모델 학습에서 각 단계에서 업데이트 되는 정도를 설정합니다. 학습률이 낮으면 더 많은 반복이 필요하지만, 더 안정적인 모델을 만들 수 있습니다.예시 값: 0.01 ~ 0.3 (보통 0.05 ~ 0.1이 일반적)n_estimators (추정기 수)모델이 훈련할 트리의 개수입니다. 더 많은 트리가 필요한 경우가 많지만, 과적합을 방지하려면 적당히 설..
-
scikit-learn 주요 모델별 하이퍼파라미터 정리scikit-learn 2025. 3. 20. 09:21
1️⃣ 선형 모델 (Linear Models)🔹 LinearRegression (선형 회귀)fit_intercept : 절편 포함 여부 (기본값=True)normalize : 정규화 여부 (deprecated, 대신 StandardScaler 사용)🔹 Ridge (릿지 회귀, L2 정규화)alpha : 정규화 강도 (값이 클수록 규제가 강해짐)solver : 최적화 방법 (auto, svd, cholesky, sparse_cg, saga 등)🔹 Lasso (라쏘 회귀, L1 정규화)alpha : 정규화 강도 (값이 클수록 가중치 감소, 일부 특성 제거 효과)🔹 LogisticRegression (로지스틱 회귀)C : 규제 강도 (값이 작을수록 강한 정규화)solver : 최적화 알고리즘 (lbfg..