scikit-learn 8

모델평가와 검증

교차검증 (Cross-Validation) 데이터를 반복적으로 나누어 모델의 일반화 성능을 평가하는 기법과적합을 방지하고 새로운 데이터에 대한 예측 능력을 검증 가능 과적합 방지: 모델이 특정 데이터셋에 의존하는 것을 막음일반화 성능 측정: 새 데이터에 대한 예측 능력 평가데이터 효율성: 적은 데이터로도 학습과 평가가 가능*과적합(Overfitting): 학습 데이터에는 성능이 좋지만, 새로운 데이터에는 성능이 낮은 경우   K-Fold 교차검증전체 데이터를 K개의 폴드(fold)로 나눔각 Fold가 한번씩 검증용으로 사용되고 나머지는 학습용으로 사용총 K번 학습 및 평가를 수행 후, 그 평균을 최종 성능으로 평가 K-Fold 교차검증의 평균 정확도 𝔄 = (A₁ + A₂ + … + Aₖ) / K 𝔄..

⊢ DeepLearning 2025.03.22

앙상블 학습 : 배깅(Bagging)과 부스팅(Boosting)

앙상블 학습(Ensemble Learning) 여러 개의 개별 학습 모델을 조합하여 단일 모델보다 더 높은 예측 성능을 얻는 기법 개별 모델의 예측을 평균 또는 다수결 방식으로 결합하여 일반화 성능을 향상주요 기법 : 배깅(Bagging)과 부스팅(Boosting)  배깅(Bagging: Bootstrap Aggregating) 여러 개의 모델을 병렬로 학습하여 예측을 평균 또는 다수결로 결합하는 방식 원본 데이터셋에서 중복을 허용한 샘플링(부트스트래핑, Bootstrap)기법을 사용하여 다수의 학습 데이터를 생성각 모델이 서로 다른 샘플을 학습하여 모델 간 상관성을 줄임 과적합 방지 : 다수의 모델을 결합함으로써 개별 모델의 과적합을 줄일 수 있음안정성 향상 : 데이터 변동에 대한 민감도가 낮아짐병렬 ..

⊢MachineLearning 2025.03.17

비지도학습 : 차원축소 - LDA(Linear Discriminant Analysis)

LDA (Linear Discriminant Analysis, 선형 판별 분석) 차원 축소와 분류를 동시에 수행하는 기법 클래스 간 분산을 최대화하고, 클래스 내 분산을 최소화하여 데이터를 변환저차원 공간에서 데이터의 구조를 유지하면서 분류 성능 향상 가능  작동 원리클래스별 평균 벡터 계산 : 각 클래스의 평균 벡터를 구함클래스 내 분산 행렬 계산 : 각 클래스 내부의 데이터 분산 계산클래스 간 분산 행렬 계산 : 클래스 평균 벡터 간의 분산을 구함고유값 및 고유벡터 계산 : 클래스 내 분산 행렬의 역행렬과 클래스 간 분산 행렬의 곱을 사용하여 고유값과 고유벡터 계산선형 판별 축 선택 : 고유값이 큰 순서대로 고유벡터를 정렬하여 주요한 선형 판별 축을 선택데이터 변환 : 선택된 판별 축을 사용하여 데이..

⊢MachineLearning 2025.03.17

비지도학습 : 군집화 모델 - DBSCAN

DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 밀도 기반 군집화 알고리즘데이터 밀도가 높은 영역을 군집으로 간주하고, 밀도가 낮은 영역을 노이즈로 처리 비구형 군집 탐지 가능 : 원형이 아닌 군집도 효과적으로 탐색 가능노이즈 처리 가능 : 밀도가 낮은 데이터 포인트를 자동으로 노이즈로 분류군집 수 자동 결정 : 군집 개수를 미리 설정할 필요 없음 주요 매개변수eps : 두 데이터 포인트가 같은 군집에 속하기 위한 최대 거리min_samples : 한 군집을 형성하기 위해 필요한 최소 데이터 포인트 수 작동원리임의의 데이터 포인트 선택선택한 데이터 포인트의 eps 반경 내에 있는 모든 데이터 포인트를 찾음eps 반경 내 데이터 수가..

⊢MachineLearning 2025.03.17

Iris 데이터셋과 결정 트리(Decision Tree) 모델 : 평가 방법 비교 및 교차 검증 실습

Iris 데이터셋을 사용하여 결정 트리(Decision Tree) 모델의 성능을 다양한 방법을 평가각각의 방법론에 따라 과적합 여부를 판단, 교차 검증 등을 통해 일반화 성능을 측정 from sklearn.datasets import load_irisfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.metrics import accuracy_scorefrom sklearn.model_selection import train_test_split, KFold, StratifiedKFold, cross_val_scoreimport numpy as npdataset = load_iris()model = DecisionTreeClassifier() #결정 ..

⊢MachineLearning 2025.01.24

Scikit-Learn과 Estimator

Estimator데이터 모델링을 위한 기본 인터페이스를 제공하는 객체머신러닝 워크플로우의 중심이 되는 객체머신러닝 알고리즘을 캡슐화한 툴→ 데이터를 학습하여 모델을 생성, 학습된 모델을 사용해 새로운 데이터에 대해 예측을 수행할 수 있음  알고리즘 : 데이터를 학습하고 처리하는 방법Estimator : 알고리즘을 사용가능하게 만든 도구(객체), 데이터를 학습해서 예측을 수행할 수 있도록 도와주는 도구메서드(fit, predict, score) : Estimator가 제공하는 기능   dir()함수로 Estimator가 제공하는 기능(메서드와 속성)목록 확인from sklearn.tree import DecisionTreeClassifiermodel = DecisionTreeClassifier()print..

⊢MachineLearning 2025.01.21

Scikit-learn

Scikit-learn Python 기반의 강력한 머신러닝 라이브러리 Python으로 작성되었으며, NumPy, SciPy, Matplotlib와 같은 라이브러리와 잘 통합되어 있음설치와 사용이 간단, 사용자 친화적인 API를 제공해 초보자도 쉽게 접근 가능   Scikit-learn이 지원하는 다양한 머신러닝 알고리즘회귀 분석 : 선형 회귀, 리지 회귀, 라쏘 회귀 등분류 : 로지스틱 회귀, SVM, 랜덤 포레스트, KNN 등군집화 : K-means, DBSCAN, 계층적 군집화 등차원 축소 : PCA, t-SNE, LDA 등효율성과 확장성Scikit-learn 대규모 데이터셋 처리와 효율적인 모델 학습을 위해 C와 Cython으로 최적화된 코드를 사용해 속도가 빠름병렬 처리를 지원하는 알고리즘(예: ..

⊢MachineLearning 2024.12.26

Python - Pandas, Scikit-learn, SciPy(데이터 전처리 : 데이터 정규화와 표준화)

데이터 정규화(Normalization) 데이터의 범위를 0과 1사이로 변환하는 과정서로 다른 범위를 가진 데이터를 동일한 스케일로 맞추어 비교하기 쉽게 만듦   Min-Max 정규화가장 일반적인 정규화 방법각 데이터의 최소값을 0, 최대값을 1로 변환 pip install scikit-learnimport pandas as pdfrom sklearn.preprocessing import MinMaxScaler#예시 데이터프레임 생성data = { '특성1' : [10,20,30,40,50], '특성2' : [1,2,3,4,5] }df = pd.DataFrame(data)#Min-Max 정규화scaler = MinMaxScaler()normalized_df = pd.DataFrame(sc..

Python to AI 2024.12.11
728x90