Machine Learning 12

[sklearn] 데이터 인코딩

# 데이터 인코딩 데이터를 모델이 이해할 수 있는 형태로 변환하는 과정 주로 범주형 데이터를 수치형 데이터로 변환하는 과정을 말한다. # 레이블 인코딩(Label Encoding) 범주형 데이터를 숫자형으로 변환하는 가장 간단한 방법 중 하나 LabelEncoder 클래스를 사용하여 수행할 수 있다. from sklearn.preprocessing import LabelEncoder items=['TV','냉장고','전자레인지','컴퓨터','선풍기','선풍기','믹서','믹서'] # LabelEncoder를 객체로 생성한 후, fit()과 transfrom()으로 label 인코딩 수행 # 종속변수에 적용 # 수치 예측 할 때, LabelEncoder 사용 X # 범주 예측: 예시) 양성 / 음성 / 잘..

Machine Learning 2024.03.05

[ML] Feature Engineering

# Feature Engineering 머신러닝 모델의 성능을 향상시키기 위해 데이터셋에서 새로운 피처를 생성하거나 기존의 피처를 변형하는 과정 사용되는 알고리즘에 적합한 데이터셋으로 만들기 위해 원 데이터에서 피처를 선택, 수정, 생성하는 과정을 포함한다. 머신러닝 파이프라인에서 중요한 단계로, 피처의 품질이 모델의 성능에 큰 영향을 미칠 수 있다. # Feature Selection 데이터셋에서 가장 관련성이 높은 피처를 선택하고 관련성이 낮거나 중복된 피처를 제거한다. univariate feature selection, recursive feature elimination, feature importance ranking 등이 있다. # Feature Transformation 피처를 변환하여 모..

Machine Learning 2024.03.05

[sklearn] GridSearchCV

# GirdSearchCV Scikit-learn 라이브러리에서 제공하는 하이퍼파라미터 튜닝을 위한 기능 중 하나 하이퍼파라미터는 모델을 학습할 때 사전에 정의해야 하는 매개변수로, 모델의 학습 및 성능에 영향을 미친다. GridSearchCV를 사용하면 여러 하이퍼파라미터의 조합을 시도하여 최적의 조합을 찾을 수 있다. # GridSearchCV를 이용하여 붓꽃 데이터를 예측 분석하기 train_test_split()을 이용하여 학습 데이터와 테스트 데이터 분리하기 테스트할 하이퍼 파라미터 세트는 딕셔너리 형태로, 하이퍼 파라미터의 명칭은 문자열 Key 값으로, 하이퍼 파라미터의 값은 리스트 형으로 설정 from sklearn.datasets import load_iris from sklearn.tre..

Machine Learning 2024.03.05

[ML] 하이퍼 파라미터 튜닝

# 하이퍼 파라미터 튜닝 머신러닝 모델의 성능을 최적화하기 위해 모델에 사용되는 하이퍼 파라미터들의 최적값을 찾는 과정 하이퍼 파라미터: 모델의 학습 과정에 영향을 주는 매개변수로, 사용자가 직접 설정해야 하는 값 하이퍼 파라미터 튜닝을 통해 모델의 일반화 성능을 향상시키고, 과적합을 방지할 수 있다. # Grid Search 가능한 모든 하이퍼 파라미터 조합을 시도하여 최적의 조합을 찾는 방법 탐색할 하이퍼 파라미터의 범위를 먼저 정의하고, 그 범위에서 가능한 모든 조합을 조사한다. 각 조합에 대해 교차 검증을 수행하여 모델의 성능을 평가하고, 최적의 조합을 선택한다. 간단하고 직관적이지만, 탐색 공간이 커질수록 계산 비용이 많이 들 수 있다. # Random Search 가능한 하이퍼 파라미터 조합을..

Machine Learning 2024.03.05

[sklearn] Stratified K 폴드

# Stratified K 폴드 불균형한(imbalanced) 분포도를 가진 레이블 데이터 집합을 위한 K 폴드 방식 불균형한 분포도를 가진 레이블 데이터 집합: 특정 레이블 값이 특이하게 많거나 매우 적어서 값의 분포가 한쪽으로 치우치는 것 K 폴드가 레이블 데이터 집합이 원본 데이터 집합의 레이블 분포를 학습 및 테스트 세트에 제대로 분배하지 못하는 경우의 문제를 해결해 준다. 원본 데이터의 레이블 분포를 먼저 고려한 뒤 이 분포와 동일하게 학습과 검증 데이터 세트를 분배한다. # StratifiedKFold 클래스를 이용하여 붓꽃 데이터 세트를 교차 검증하고 예측 정확도 알아보기 붓꽃 데이터 세트를 DataFrame으로 생성하고 레이블 값의 분포도 확인하기 import pandas as pd iri..

Machine Learning 2024.03.05

[sklearn] K 폴드 교차 검증

# 교차 검증 머신러닝 모델의 성능을 평가하는 기법 중 하나 데이터를 여러 번 반복해서 나누어 모델을 학습하고 평가하는 방법 교차 검증은 일반화 성능을 더 정확하게 추정하고, 모델이 특정 데이터에 과적합(overfitting)되지 않도록 도와준다. 과적합: 모델이 학습 데이터에만 과도하게 최적화되어 실제 예측을 다른 데이터로 수행할 경우 예측 성능이 과도하게 떨어지는 것 # K 폴드 교차 검증 가장 보편적으로 사용되는 교차 검증 기법 K개의 데이터 폴드 세트를 만들어 K번만큼 각 폴드 세트에 학습과 검증 평가를 반복적으로 수행하는 방법 # KFold 클래스를 이용하여 붓꽃 데이터 세트를 교차 검증하고 예측 정확도 알아보기 from sklearn.tree import DecisionTreeClassifie..

Machine Learning 2024.03.05

[sklearn] Model Selection

# Model Selection 학습 데이터와 테스트 데이터 세트를 분리하거나 교차 검증 분할 및 평가, Estimator의 하이퍼 파라미터를 튜닝하기 위한 다양한 함수와 클래스를 제공한다. # train_test_split(): 학습/테스트 데이터 세트 분리하기 학습과 예측을 동일한 데이터 세트로 수행한다면 예측 결과가 100% 정확하다고 나온다. from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score iris = load_iris() dt_clf = DecisionTreeClassifier() train_data = iris...

Machine Learning 2024.03.05

[sklearn] Estimator

# Estimator 지도학습의 모든 알고리즘을 구현한 클래스 fit() 및 predict() 메서드를 구현한 파이썬 객체 데이터에 모델을 구축하고 맞추는 데 사용된다. # fit() method 주어진 훈련 데이터로 모델을 학습하는 데 사용된다. 주요 매개변수: 입력 특성(X), 대상 레이블(y) 비지도 학습 작업의 경우, X만 필요하다. # predict() method 새 데이터에 대한 예측을 수행하는 데 사용된다. 새 데이터의 입력 특성을 가져와 예측된 레이블/값이 반환된

Machine Learning 2024.03.05

[ML] 분류 성능 평가 지표

# 분류 성능 평가 지표 모델이 예측한 결과와 실제 결과를 비교하여 다른 측면에서 모델의 성능을 측정한다. 모델의 성능을 평가하고 각 클래스에 대한 예측의 품질을 이해하는 데 도움이 된다. 주요 분류 성능 평가 지표에는 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1 점수(F1 Score), ROC 곡선(Receiver Operating Characteristic curve), AUC(Area Under the Curve) 등이 있다. # 정확도(Accuracy) 전체 예측 중 올바르게 분류된 비율 정확도 = (올바르게 분류된 샘플 수) / (전체 샘플 수) 예) 100개의 샘플 중 80개를 올바르게 분류했다면 정확도는 80% 클래스 불균형 문제에서 적합한 지표가 아닐..

Machine Learning 2024.02.20

[sklearn] 붓꽃 품종 예측하기

# 붓꽃 품종 예측하기: 붓꽃 데이터 세트로 붓꽃의 품종 분류(Classification)하기 붓꽃 데이터 세트는 꽃잎의 길이와 너비, 꽃받침의 길이와 너비 피처(Feature)를 기반으로 꽃의 품종을 예측하기 위한 것이다. 분류(Classification): 대표적인 지도학습(Supervised Learning) 방법 중 하나 지도학습: 학습을 위한 다양한 피처와 분류 결정값인 레이블(Label) 데이터로 모델을 학습한 뒤, 별도의 테스트 데이터 세트에서 미지의 레이블을 예측한다. 즉, 명확한 정답이 주어진 데이터를 먼저 학습한 뒤 미지의 정답을 예측한다. 이때 학습을 위해 주어진 데이터 세트를 학습 데이터 세트, 머신러닝 모델의 예측 성능을 평가하기 위해 별도로 주어진 데이터 세트를 테스트 데이터 세..

Machine Learning 2024.02.19
728x90