본문 바로가기
728x90
반응형

data mining37

[Machine Learning] SVM in Python (1) Decision Boundary Synopsissklearn의 iris dataset으로 간단히 binary classification을 해보자.import numpy as npimport matplotlib.pyplot as pltfrom sklearn.svm import SVCfrom sklearn import datasetsfrom sklearn.metrics import confusion_matrix SVC의 defalut kernel은 'rbf'이지만 linear로 먼저 살펴보자# Load Iris datasetiris = datasets.load_iris()X = iris["data"][:, (2, 3)] # petal length, petal widthy = iris["target"]# setosa 와 versicolor.. 2023. 5. 10.
[Machine Learning] SVM (Support Vector Machine) Intuition아래 2차원 평면에 두 개의 클래스(초록색과 흰색)이 있고, 이를 분류하는 가상의 초평면(2차원이므로 여기서는 직선)을 생각해보자. $B_1$과 $B_2$ 두 직선 모두 두 클래스를 완벽히 구분할 수 있다. 그렇다면 어떤 직선(고차원의 경우 초평면)이 더 좋은 것일까?직관적으로 우리는 $B_1$이 더 좋은 직선임을 알 수 있다. 그 이유는 각 클래스와의 거리가 가장 멀기 때문이다. support vector: hyperplane과 가장 가까운 data pointmargin: hyperplane과 support vector와의 거리. 일반적으로 margin이 클수록 좋은 SVM이다. Note: hyperplane은 street로, margin은 street width로 많이 비유된다.SVM.. 2023. 5. 9.
[Data Science] Bayesian Classifier Bayesian Classifierattribute와 class label이 random variable이라 생각하면 attribute tuple이 주어졌을 때 특정 class label일 확률이 최대가 되는 클래스가 정답이라는 접근방법이다. 이때 attribute는 $(A_1, A_2, \dots, A_n)$이고 class label은 $C$라 하면\[ \max P(C | A_1, \dots, A_n) \]이 되는 $C$를 찾는 것이다. 그렇다면 $P(C | A_1, \dots, A_n)$을 어떻게 구할까? 이 때, bayes theorem을 이용하면 다음과 같다.\[ P(C | A_1, \dots, A_n) = \cfrac{P(A_1, \dots, A_n|C) P(C)}{P(A_1, \dots, A_.. 2023. 5. 3.
[Data Science] Decision Tree in Python (with Scikit-learn) Decision Tree in Scikit learn 사이킷런 공식 문서에 따르면, 사이킷런의 Decision Tree는 CART 알고리즘을 바탕으로 최적화되어 구현되어있다. 그러나 categorical variable을 더이상 지원하지 않는다. https://scikit-learn.org/stable/modules/tree.html#tree-algorithms-id3-c4-5-c5-0-and-cart Decision Tree Tutorial with Iris dataset 사이킷런의 붓꽃 데이터셋을 이용하여 간단하게 decision tree를 학습해보자. load dataset and fit the classifier from sklearn.datasets import load_iris from skl.. 2023. 5. 1.
[Data Science] Decision Tree - Model Evaluation (Confusion Matrix, Metric, ROC Curve, AUC Score) Confusion MatrixClassification에 대하여 confusion matrix(혼동행렬)을 이용하여 결과를 볼 수 있다.Positive와 Negative는 각 클래스 이름이다.(이진 분류에서 P와 N을 주로 사용한다)각 분류에 대하여 True는 actual와 predicted가 일치하는 것을, False는 actual와 predicted가 불일치하는 것을 나타낸다.  (분류기) 모델의 정확도(Accuracy)는 Positive와 Negative를 얼마나 정확하게 분류한지에 대한 평가지표이다.\[ \text{Accuracy} = \cfrac{TP + TN}{TP + TN + FP + FN} \] Class Imbalance Problemaccuracy는 imbalanced class에서 모.. 2023. 4. 30.
[Data Science] Decision Tree - Overfitting Overfitting and UnderfittingOverfitting (과적합, 과대적합)과적합은 모델이 학습 데이터에 대해 너무 잘 학습되어 기본 패턴 대신 데이터의 노이즈에 맞추기 시작할 때 발생한다.학습 데이터에 지나치게 맞추면(overfit) 이후 새로운 데이터(new, unseen data)에 대하여 일반화를 하지 못할 수 있다. Underfitting (과소적합)과소 적합은 모델이 너무 단순하여 데이터의 기본 패턴을 포착할 수 없을 때 발생한다. 이는 모델이 학습 데이터와 테스트 데이터 모두에서 제대로 작동하지 않는다는 것을 의미한다.즉, 모델이 학습 데이터에서 보이지 않는 새로운 데이터(new, unseen data)를 정확하게 예측할 수 있을 만큼 충분히 학습하지 못했다는 뜻입니다.Ove.. 2023. 4. 29.
728x90
반응형