분류 전체보기 (369) 썸네일형 리스트형 Classification - Metrics (2) Classification - Metrics (1) 지난 포스트에서 다룬 다양한 분류 성능 지표는 파이썬의 sklearn.metrics 모듈에 대부분 구현되어 있습니다. 이번 포스트에서는 성능 지표를 위한 구체적인 이용 방법을 소개해 드리도록 하겠습니다. sklearn.metics.f1_score(y_true, y_pred, labels=None, average='binary') sklearn.metrics 모듈의 f1_score 함수로 f1-score를 얻을 수 있으며 이진 분류/다중 분류 모두에 적용됩니다. "y_true/y_pred" 는 실제클래스/예측클래스 를 나타내는 numpy 행렬이며 "average" 파라미터는 multi-class 상에서 각 클래스의 f1-score를 어떻게 평균낼지를 결정.. Classification - Metrics (1) 분류 모델의 성능은 어떻게 평가할까요? 먼저 간단한 이진 분류부터 생각해보겠습니다. 당장 생각나는 성능 지표는 정확도 (accuracy) 일겁니다. 전체 데이터에서 얼마만큼 맞추었는지에 대한 비율이죠. 평범한 상황에서는 적당한 지표가 되겠지만 90명의 정상환자와 10명의 암환자를 구분하는 케이스와 같이 각 범주에 대한 데이터가 균형적이지 않을 때에 대해서 생각해보면 모델이 단순히 모두 정상이라고 판단해도 정확도는 90%가 됩니다. 얼핏 보면 매우 잘 학습된 분류 모델이라고 생각할 수 있겠지만 데이터의 불균형으로부터 이뤄진 비정상적인 결과입니다. 이번 포스트에서는 정확도 이외에 데이터 불균형 상황에서 분류 모델의 성능을 평가하는 다양한 성능 지표를 알아보도록 하겠습니다. Metrics Definitions.. Classification - Logistic Regression (2) Classification - Logistic Regression (1) 지난 포스트에 이어 이번 포스트에서는 파이썬을 이용해 logistic regression 을 수행해보려 합니다. 파이썬에서는 sklearn.linear_model 모듈의 LogisticRegression 함수를 사용하며 간단한 iris (붓꽃 데이터)에 대해 실험해 보겠습니다. 붓꽃 데이터는 sklearn.datasets 안에 들어있는 toy dataset으로 150개의 데이터와 5개의 컬럼으로 (Sepal Length/Width, Petal Length/Width, Species) 이루어진 데이터로 타겟은 Species 열이며 3 종류로 구분합니다. 여기서는 2/3 번째 열인 꽃잎의 길이와 너비 정보만을 이용하여 붓꽃의 종류를 예.. Classification - Logistic Regression (1) 회귀 분석에서는 종속 변수가 연속적인 값을 가질 때 여러 독립 변수의 선형결합으로 종속 변수의 값을 예측했습니다. 하지만 종속 변수가 범주형일때, 예를 들어 남성/여성이나 나라 등 연속되지 않은 범주의 형태를 가질때에는 분류 (classification) 의 형태로 예측을 수행해야 합니다. 이번 포스트에서는 분류 분석에서 가장 기본적인 Logistic Regression에 대해 살펴보도록 하겠습니다. Logistic Regression은 이름에 "회귀"가 붙어있는 것처럼 선형 회귀를 분류 분석으로 연장한 것으로 두 개의 범주로 나누는 binary classification 부터 세 개 이상의 범주로 분류하는 multi-class classification 모두에 대해 적용할 수 있는 가장 기본적인 분류 .. Self-Supervised Learning - SwAV (1) SimCLR, MoCo 포스트에서 살펴봤듯이 대조 학습 (contrastive learning)을 통한 비지도 representation 추출은 지도학습 성능에 거의 근접해가고 있습니다. 이러한 방법은 보통 학습이 진행되면서 타겟이 변하는 online (on-the-fly) 형태의 학습 방법을 취하고 positive/negative 샘플 간 비교를 위해 매우 큰 배치 사이즈가 필요하게 됩니다. 대조 학습을 위한 contrastive loss는 같은 이미지로부터 파생된 representation 쌍의 유사도를 높이고 다른 이미지로부터 파생된 쌍의 유사도를 낮추는 방향으로 진행됩니다. 원론적으로 이 방법을 큰 데이터셋에 대해 모두 적용하기에는 구현 상의 문제가 따르므로 큰 배치 사이즈를 설정하게 됩니다. S.. Feature Selection - XGBoost XGBOOST 동작 원리 Feature Selection - Random Forest (1) Feature Selection - Random Forest (2) LightGBM feature importance 지난 포스트에서도 살펴봤듯이 의사결정나무 기반의 앙상블 모델은 feature importance 함수를 지원합니다. scikit-learn 패키지의 의사결정나무/Random Forest 의 feature importance 는 Gini impurity (MDI) 기반의 feature importance 만을 지원하는 반면 XGBoost/LightGBM과 같은 부스팅 기반의 모델들은 다양한 방법의 importance 측정을 지원합니다. 이번 포스트에서는 XGBoost의 feature importan.. Feature Selection - Random Forest (2) Feature Selection - Random Forest (1) 지난 포스트에서 Random Forest 에서의 Gini impurity를 기반으로 한 feature importance 계산을 알아봤습니다. 그렇다면 계산된 feature importance 를 얼마만큼 신뢰할 수 있을까요? Example 다음 데이터에 대해 Random Forest 분류/회귀를 수행해보도록 하겠습니다. 먼저 price 열을 RandomForestRegressor 함수로 예측한 뒤 feature importance를 보도록 하겠습니다. 이때 random 이란 열을 만들어 무작위로 값을 넣습니다. Fitting이 되더라도 random 열의 feature importance는 낮아야 합니다. from sklearn.ense.. Feature Selection - Random Forest (1) 의사결정나무 (Decision Tree) 는 데이터를 나무와 같이 특정 feature로 지속적으로 분기하면서 목표 변수를 예측하는 머신러닝 모델의 하나로 간단함과 좋은 설명력으로 굉장히 많이 쓰이는 모델입니다. 분기를 하는 방법에 따라 여러 알고리즘이 있지만 대표적으로 CART (Classification And Regression Trees) 라는 알고리즘이 주로 사용되며 수치형/범주형 feature에 대해 gain이 가장 크도록 노드를 두 개로 분할하는 binary tree 형태를 가집니다. 따라서 의사결정나무 훈련 시에는 노드를 분할할 때 어떠한 feature를 사용해서 어떠한 기준으로 나눌지 결정하는 것이 제일 중요한 작업입니다. 일반적으로 분류 시에는 Gini impurity라는 개념을 사용하고.. 이전 1 ··· 28 29 30 31 32 33 34 ··· 47 다음