인공지능&머신러닝 8

[머신러닝]앙상블(Ensemble) 원리 및 코드 예시

앙상블(Ensemble)은 기계 학습에서 여러 개의 모델을 결합하여 하나의 강력한 모델을 구성하는 기법을 말합니다. 각 개별 모델의 예측을 종합함으로써 개별 모델보다 더 나은 예측 성능을 달성할 수 있습니다. 앙상블은 단일 모델보다 더욱 정확하고 안정적인 예측을 제공할 수 있습니다. 주요 개념개별 모델의 다양성 확보: 앙상블은 다양한 방법을 사용하여 여러 개의 개별 모델을 생성합니다. 이들 모델은 독립적으로 학습하거나 서로 다른 학습 데이터를 사용하여 학습될 수 있습니다.결합 방법: 개별 모델의 예측을 결합하는 방법에는 여러 가지가 있습니다. 주로 사용되는 방법으로는 평균화(Averaging), 가중 평균화(Weighted Averaging), 투표(Voting), 스태킹(Stacking) 등이 있습니다..

[머신러닝]랜덤 포레스트(Random Forest) 원리 및 코드 예시

랜덤 포레스트(Random Forest)는 앙상블 학습 방법 중 하나로, 여러 개의 결정 트리(Classification Trees)를 구성하여 강력한 분류 모델을 만드는 방법입니다. 각 결정 트리는 데이터의 부분 집합을 기반으로 독립적으로 학습하며, 그 결과를 결합하여 최종 예측을 수행합니다. 주요 개념앙상블 학습(Ensemble Learning): Random Forest는 여러 개의 모델을 결합하여 더 강력하고 안정적인 예측을 하려는 앙상블 학습의 한 방법입니다. 각 결정 트리는 서로 다른 데이터 부분 집합에서 학습하고, 그들의 예측을 종합하여 최종 예측을 수행합니다.결정 트리(Decision Tree): Random Forest는 기본적으로 결정 트리를 사용합니다. 결정 트리는 데이터를 분할하여 ..

[머신러닝]서포트벡터머신(SVM,Support Vector Machine)원리 및 코드 예시

Support Vector Machine (SVM)은 기계 학습에서 널리 사용되는 강력한 지도 학습 모델입니다. SVM은 주로 분류와 회귀 분석을 위해 사용되며, 특히 분류 문제에서 뛰어난 성능을 보입니다. 작동 원리SVM은 다음과 같은 절차로 작동합니다:학습: 주어진 데이터에서 최적의 결정 경계를 찾기 위해 서포트 벡터를 찾습니다.결정 경계 찾기: 초평면(결정 경계)을 정의하고, 이를 최대한 멀리 떨어진 데이터 포인트들과의 거리(margin)가 최대화되도록 합니다.분류: 새로운 데이터가 주어졌을 때, 결정 경계를 기준으로 클래스를 할당합니다. SVM의 목표벡터 공간에서 학습 데이터가 속한 2개의 그룹을 분류하는 선형 분리자를 찾음.(2개의 그룹을 가장 멀리 구분할 수 있는 선형 분리자)2. 필요시, 선..

[머신러닝]K-최근접 이웃(KNN모델)원리 및 코드 예시

K-최근접 이웃(K-Nearest Neighbors, KNN) 알고리즘은 가장 간단하고 직관적인 지도 학습 알고리즘 중 하나로, 분류와 회귀 문제 모두에 사용됩니다.  KNN이란? KNN은 새로운 데이터 포인트의 클래스를 예측할 때, 그 포인트와 가장 가까운 K개의 데이터 포인트의 클래스를 참고합니다. 여기서 "가까움"은 거리 계산을 통해 측정됩니다.  거리 계산: 새로운 데이터 포인트와 모든 훈련 데이터 포인트 간의 거리를 계산합니다. 일반적으로 유클리드 거리(Euclidean distance)를 사용하지만, 맨해튼 거리(Manhattan distance) 등 다른 거리 척도도 사용될 수 있습니다. 알고리즘학습데이터가 주어짐 : 데이터를 클래스별로 저장해 놓음분류할 새로운 데이터가 들어옴입력 데이터와 ..

[데이터 전처리]데이터 스케일링(Data Scaling):

데이터 스케일링(Data Scaling)은 데이터의 범위와 분포를 일정한 기준에 맞추어 조정하는 과정입니다. 이는 머신러닝 모델의 성능과 학습 속도를 향상시키기 위해 중요한 전처리 단계입니다. 데이터 스케일링은 주로 다음과 같은 두 가지 방법으로 수행됩니다: 표준화(Standardization)정규화(Normalization) 왜 데이터 스케일링이 필요한가?특성의 중요도 균형: 특성 간의 범위 차이가 큰 경우, 범위가 큰 특성이 모델에 더 큰 영향을 미치게 됩니다. 스케일링을 통해 이 문제를 완화할 수 있습니다.학습 속도 향상: 스케일링된 데이터는 경사 하강법과 같은 최적화 알고리즘의 수렴 속도를 높여 학습 속도를 향상시킵니다.수렴 안정성: 데이터의 스케일 차이가 크면 학습 과정에서 수렴이 불안정해질 수..

[머신러닝]결정트리(Decision Tree)원리 및 코드 예시

결정트리(Decision Tree)는 데이터 분석과 기계 학습에서 널리 사용되는 지도 학습 알고리즘입니다. 주로 분류와 회귀 문제를 해결하는 데 사용되며, 해석의 용의성, 비선형 관계처리, 적은 데이터 전처리라는 장점을 니다. 특히, 의료 진단(환자의 증상과 검사 결과를 기반으로 질병을 진단), 금융(고객의 신용 점수를 예측하거나 사기 거래를 탐지), 마케팅(고객 세분화 및 타겟 마케팅 캠페인을 최적화)에서 널리 사용되고 있습니다.  따라서 이 글에서는 나이브 베이즈 분류기의 원리와 코드에 대해 자세히 알아보겠습니다.  결정트리란? 결정트리는 데이터의 특성과 목표 변수를 기반으로 의사결정 규칙을 학습하여 트리 형태의 모델을 생성합니다. 각 분기점(node)은 특정 특성(feature)에 대한 조건을 나타..

[머신러닝]나이브 베이즈(Naive Bayes)원리와 코드 예시

나이브 베이즈(Naive Bayes) 분류기는 지도 학습의 한 종류로, 베이즈 정리(Bayes' theorem)에 기반한 분류 알고리즘입니다. 이 알고리즘은 텍스트 분류, 스팸 메일 분류 등 다양한 분야에서 널리 사용하고 있습니다. 따라서 이 글에서는 나이브 베이즈 분류기의 원리와 코드에 대해 자세히 알아보겠습니다. 베이지안 룰 나이브 베이지안 분류사후 확률을 계산하여 더 높은 확률을 가지는 것을 정답으로 분류 scikit learn에서 제공하는 나이브 베이지안 종류가우시안 나이브 베이즈 : GaussianNB()연속적인 값에 사용다항분포 나이브 베이즈 : MultimonialNB()이산적인 값에 사용하나의 특성이 여러 종류로 나뉘는 경우베르누이 나이브 베이즈(이항분포) : BernoulliNB()이산적..

혼동행렬(Confusion matrix) / 정확도 / 정밀도 / 재현율 / F1-score

혼동행렬(Confusion matrix)이란?혼동행렬 또는 오차행렬이라고 불림.분류 모델의 평가지표로 많이 사용함.예측값이 실제 관측값을 얼마나 정확히 예측했는지 보여주는 행렬.혼동 행렬에서는 정확도(Accuracy), 정밀도(Precision), 재현율(Recall) 등의 지표를 구할 수 있음True Positive (TP): 실제 클래스가 양성이고, 모델이 양성으로 예측한 샘플 수False Positive (FP): 실제 클래스가 음성이지만, 모델이 양성으로 예측한 샘플 수False Negative (FN): 실제 클래스가 양성이지만, 모델이 음성으로 예측한 샘플 수True Negative (TN): 실제 클래스가 음성이고, 모델이 음성으로 예측한 샘플 수 정확도(Accuracy)전체에서 TP와 TN..