본문 바로가기

AI65

[sklearn] 결정트리 엔트로피 클라우드 섀넌(Cloud Shannon)은 정보 이론의 선구자 중 하나로, 1948년에 "통신의 수학적 이론"이라는 논문에서 정보 이론의 기초를 제시했습니다. 이 논문에서 섀넌은 정보를 어떻게 정량화하고, 전달되는 정보의 양을 측정할 수 있는지에 대한 개념을 소개했습니다. 이러한 이론의 중요한 개념 중 하나가 "엔트로피"입니다. 엔트로피는 정보의 불확실성 또는 예측 불가능성을 나타내는 척도로 사용됩니다. 더 정확하게 말하면, 어떤 시스템이나 확률 분포에서 가능한 결과의 다양성을 측정하는 개념입니다. 엔트로피가 높을수록 가능한 결과들이 더 다양하며, 정보의 불확실성이 큽니다. 반대로, 엔트로피가 낮을수록 가능한 결과들이 제한적이며, 정보의 불확실성이 낮습니다. 정보 이론에서 엔트로피는 다음과 같은.. 2023. 8. 30.
[sklearn] K-Nearest Neighbors KNN은 "K-Nearest Neighbors"의 약어로, 지도 학습(Supervised Learning) 분야에서 사용되는 간단하면서도 강력한 알고리즘 중 하나입니다. KNN은 분류(Classification)와 회귀(Regression) 모두에 사용될 수 있습니다. 데이터 간의 유사성을 기반으로 예측을 수행하는 데 사용되며, 이웃들의 다수결 또는 평균을 통해 결과를 결정합니다. KNN 작동 방식 데이터 수집 및 전처리: 먼저, 분류나 회귀를 수행하기 위한 데이터를 수집하고 필요한 경우 전처리합니다. 데이터는 일반적으로 여러 개의 특성으로 구성되며, 각 데이터 포인트는 고유한 식별자를 가지고 있습니다. 거리 측정: KNN은 데이터 포인트 간의 거리를 측정하여 유사성을 평가합니다. 일반적으로 유클리드 거.. 2023. 8. 30.
ROC curve Receiver Operating Characteristic curve, 줄여서 ROC curve는 이진 분류 모델의 성능을 시각화하고 평가하기 위해 사용되는 도구입니다. ROC curve는 모델의 분류 임계값을 변화시킬 때, 진짜 양성률(True Positive Rate, TPR)에 대한 거짓 양성률(False Positive Rate, FPR)의 변화를 그래프로 나타냅니다. 이해를 돕기 위해, ROC curve를 만들기 위한 몇 가지 중요한 개념을 살펴보겠습니다: 진짜 양성률 (True Positive Rate, TPR): 이것은 실제 양성 샘플 중에서 올바르게 양성으로 분류된 샘플의 비율을 나타냅니다. TPR은 다음과 같이 계산됩니다: TPR = TP / (TP + FN) (여기서 TP는 진짜 양성.. 2023. 8. 30.
[sklearn] 모델 성능 평가(정확도, f1) "sklearn"은 파이썬의 머신 러닝 라이브러리인 scikit-learn에서 제공하는 모듈입니다. 이 모듈을 사용하여 다양한 머신 러닝 모델의 성능을 평가하고 분석할 수 있습니다. 여기서는 "accuracy_score", "f1_score", 그리고 "confusion_matrix"에 대해 각각 설명해 드리겠습니다. accuracy_score 이 메서드는 예측 결과와 실제 타겟 값 사이의 정확도를 계산합니다. 정확도는 전체 샘플 중 올바르게 예측한 샘플의 비율로 계산됩니다. 이는 간단하게 (정확한 예측 수) / (전체 샘플 수)로 계산됩니다. 하지만 클래스 불균형 문제가 있는 데이터셋에서는 정확도만으로 모델의 성능을 평가하는 것이 충분하지 않을 수 있습니다. f1_score F1 스코어는 정밀도(Pre.. 2023. 8. 30.
[sklearn] GridSearchCV - 파라미터 튜닝 GridSearchCV는 scikit-learn 라이브러리에서 제공하는 하이퍼파라미터 튜닝을 위한 도구 중 하나입니다. 기계 학습 모델을 만들 때, 모델의 성능을 최적화하기 위해 사용되는 하이퍼파라미터들을 조정해야 할 때가 많습니다. 이때 GridSearchCV는 가능한 모든 조합을 시도하여 최적의 조합을 찾아내는 데 도움을 줍니다. 주어진 하이퍼파라미터들의 조합을 "그리드" 형태로 나열하고, 각각의 조합에 대해 교차 검증(cross-validation)을 수행하여 모델의 성능을 평가합니다. 교차 검증은 데이터를 여러 개의 부분 집합으로 나눈 뒤, 한 부분은 검증(validation)에 사용하고 나머지 부분은 훈련(training)에 사용하는 과정입니다. 이를 여러 번 반복하여 모델의 성능을 안정적으로 .. 2023. 8. 30.
L1 규제와 L2 규제 L1 규제와 L2 규제는 머신러닝 모델의 복잡성을 제어하기 위한 정규화(regularization) 기법 중 두 가지 주요한 방법입니다. 이 두 규제 방법은 모델의 가중치(weight)를 제한하거나 조절하여 과적합을 방지하고 모델의 일반화 성능을 향상시키는 역할을 합니다. 1. L1 규제 (Lasso Regularization) L1 규제는 모델의 손실 함수에 가중치의 절댓값에 비례하는 항을 추가하여 모델의 가중치를 작게 유지하거나 0으로 만드는 방식입니다. L1 규제는 특정 가중치들을 완전히 제거하거나 sparse한 모델을 만드는데 효과적입니다. 이를 통해 모델이 불필요한 특성을 무시하고 중요한 특성에 집중할 수 있게 됩니다. 수식적으로는 L1 규제는 다음과 같이 표현됩니다: 여기서 λ는 규제 강도를 .. 2023. 8. 30.
[sklearn] LogisticRegression LogisticRegression은 scikit-learn 라이브러리에서 제공되는 기계 학습 모델 중 하나로, 주로 이진 분류 문제에 사용되는 선형 분류 알고리즘입니다. 이 모델은 로지스틱 함수를 사용하여 입력 특성과 클래스 간의 관계를 모델링하며, 확률 기반의 접근을 통해 샘플이 특정 클래스에 속할 확률을 추정합니다. 주로 두 개의 클래스 중 하나를 예측하는 이진 분류 문제에 적용되지만, 다중 클래스 문제에도 일반화할 수 있는 방법들이 있습니다. LogisticRegression 클래스의 주요 메서드는 다음과 같습니다: 주요 메서드 fit(X, y): 모델을 입력 데이터 X와 대상값 y에 맞게 훈련합니다. predict(X): 입력 데이터 X에 대한 예측을 수행합니다. predict_proba(X): .. 2023. 8. 29.
Logit과 Sigmoid함수와 로지스틱회귀 Odds (오즈) 오즈는 어떤 사건이 발생할 확률과 발생하지 않을 확률의 비율을 나타내는 개념입니다. 수식으로 표현하면 다음과 같습니다. 여기서 P(Event)는 해당 사건이 발생할 확률을 나타내며, P(Not Event)는 해당 사건이 발생하지 않을 확률을 나타냅니다. 이진 분류에서는 "C1"이 일어날 확률을 p로 표기하고, "C2"가 일어날 확률은 1−p로 표기합니다. 만약 "C1"이 발생할 확률 p가 0.5보다 크다면, "C1"이 더 가능성이 높아져 "Odds" 값이 1보다 크게 됩니다. Logit (로그 오즈) 로짓은 오즈의 로그 변환을 의미합니다. 로그 오즈는 확률의 범위를 무한대의 실수 범위로 변환하여 선형적으로 다룰 수 있도록 합니다. 수식으로 표현하면 다음과 같습니다. 로짓은 주로 로지스틱.. 2023. 8. 29.
[sklearn] make_pipeline() & make_column_transformer() make_pipeline sklearn.pipeline 모듈의 make_pipeline 함수는 Scikit-learn 라이브러리에서 파이프라인을 생성하는 데 사용되는 편리한 함수입니다. 파이프라인은 일련의 데이터 변환 및 모델링 단계를 순차적으로 연결하여 데이터 전처리와 머신러닝 모델 학습을 간편하게 수행할 수 있도록 도와줍니다. 파이프라인은 보통 데이터의 전처리 단계와 모델 학습 단계로 구성됩니다. make_pipeline 함수는 이러한 단계들을 순서대로 연결하여 파이프라인을 생성하는 역할을 합니다. 이 함수는 생성된 파이프라인에 자동으로 고유한 이름을 할당하므로 단계마다 구분할 필요가 없습니다. 파이프라인을 생성할 때 각 단계는 Scikit-learn의 변환기(transformer)나 추정기(esti.. 2023. 8. 29.