분류 전체보기 74

[ML] 비지도학습 - 군집화모델 (K-means Clustering)

K-means clustering 이란?K-means clustering은 데이터 포인트를 비슷한 특성을 가진 그룹(클러스터)으로 나누는 비지도 학습(Unsupervised Learning) 알고리즘입니다. 이 방법은 주어진 데이터셋을 사용자가 지정한 k개의 클러스터로 분할하는 것을 목표로 합니다.작동 원리초기화 (Initialization):k개의 클러스터 중심(centroid)을 무작위로 선택합니다.할당 단계 (Assignment Step):각 데이터 포인트를 가장 가까운 중심에 할당하여 클러스터를 형성합니다."가장 가까운"은 일반적으로 유클리드 거리(Euclidean Distance)를 기준으로 합니다.갱신 단계 (Update Step):각 클러스터의 중심을 해당 클러스터에 속한 데이터 포인트의 평..

AI/ML 2024.12.29

[ML] 지도학습 - 분류모델 (의사결정나무)

의사결정나무 란?의사결정나무(Decision Tree) 는 머신러닝에서 널리 사용되는 지도학습 알고리즘으로,데이터를 계층적으로 나누어 예측하거나 분류하는 데 사용된다.직관적이고 시작적으로 이해하기 쉬운구조를 가지며, 분류와 회귀 문제 모두에 활용될 수 있다. 트리구조를 가지며, 각 내부 노드는 데이터의 특정 feature 에 대한 테스트를 나타내고, 각 가지(branch)는 테스트 결과를 나타내며, 각 리프노드(leaf) 는 클래스레이블을 나타낸다의사결정나무의 기본 개념트리 구조:루트 노드(Root Node): 트리의 최상단 노드로, 전체 데이터셋을 나타냅니다.분기(Branch): 데이터를 특정 기준에 따라 나누는 과정.내부 노드(Internal Node): 데이터를 나누는 기준(결정 규칙)이 포함된 노..

AI/ML 2024.12.29

[ML] 지도학습 - 분류모델 (나이브 베이즈)

나이브 베이즈 (Naive Bayes) 란?확률에 기반한 머신러닝 알고리즘베이즈 정리를 기반으로 하는 통계적 분류 기법나이브 라는 이름이 붙은 이유는 각 특징(feature) 이 독립적이라고 가정하기 때문주로 텍스트 분류 문제에서 널리 사용데이터가 특정 클래스에 속할 확률을 계산하는 분류 모델임나이브 베이즈의 주요 개념1. 베이즈 정리:나이브 베이즈는 베이즈 정리를 기반으로 동작합니다. 베이즈 정리는 다음과 같은 수식으로 표현됩니다: P(C|X) : 데이터 X 가 주어졌을 때, 클래스 C 에 속할 확률 (사후 확률, Posterior Probability)P(X|C) : 클래스 C 가 주어졌을 때, 데이터 X 가 나타날 확률 (우도, Likelihood)P(C) : 클래스 C 가 나타날 확률 (사전 확률..

AI/ML 2024.12.29

[ML] 지도학습 - 분류모델 (KNN)

KNN 이란?K-최근접 이웃 (K-Nearest Neighbors, KNN) 은 분류와 회귀 분석에 사용되는 비모수적 방법KNN 은 간단하면서도 효과적인 알고리즘으로, 새로운 데이터 포인트를 가장 가까운 K 개의 이웃데이터와 비교하여 분류하거나 값을 예측KNN의 주요 특징비모수(non-parametric) 알고리즘:KNN은 사전에 데이터의 분포를 가정하지 않는 비모수적 모델입니다. 대신, 학습 데이터 자체가 모델로 사용됩니다.지연 학습(lazy learning):KNN은 학습 과정에서 실제로 "학습"을 하지 않습니다. 대신 모든 데이터를 저장하고, 예측 시점에서 계산을 수행합니다.새로운 데이터에 대해 예측할 때, 저장된 데이터를 기준으로 최근접 이웃을 계산합니다.KNN 알고리즘 작동 방식데이터 저장:KN..

AI/ML 2024.12.29

[ML] 지도학습 - 분류모델 (SVM)

SVM 이란?서포트 벡터 머신 (Support Vector Machine, SVM) 은 주로 분류 문제에 사용되는 강력한 머신러닝 모델데이터 포인트를 서로 다른 클래스로 분리하는 최적의 경계 (결정 경계, Decision Boundary)를 찾는데 사용SVM 은 고차원 데이터와 비선형 문제에 강력한 성능을 보임SVM의 주요 개념최적의 초평면(Optimal Hyperplane):SVM은 주어진 데이터를 분류할 수 있는 초평면(hyperplane)을 찾습니다. 초평면은 다차원 공간에서 데이터를 두 클래스로 나누는 평면입니다.이 초평면은 가능한 한 두 클래스 간의 마진(margin)을 최대화하는 방식으로 선택됩니다. 마진은 초평면과 데이터 포인트 사이의 거리로, 이 거리의 크기를 최대화하는 초평면이 최적입니다..

AI/ML 2024.12.29

[ML] 지도학습 - 분류모델 (로지스틱 회귀)

로지스틱 회귀란?로지스틱 회귀 (Logistic Regression) 은 머신러닝에서 이진 분류 문제를 해결하는 데 사용되는 통계적 모델종속 변수가 이진형일때(즉, 결과가 두가지 중 하나일 때) 사용되는 통계 기법선형 회귀와 달리 결과값이 0 과 1사이에 위치하게 하기 위해 시그모이드 함수(Sigmoid Function)을 사용 왜 회귀라는 이름이 붙어있는데 분류모델인가요??선형 회귀와 비슷하지만 출력 값이 확률로 변환되어 0 과 1 사이의 값을 가진다따라서 사건 발생 여부 를 예측하는데 활용 된다.시그모이드 함수 (Sigmoid Function)선형 결합의 결과인 z 값은 시그모이드 함수에 의해 변환된다.시그모이드 함수는 입력 값 z 를 0과 1 사이의 확률로 매핑한다. 수식은 다음과 같다여기서 e 는..

AI/ML 2024.12.29

[ML] 지도학습 - 회귀 모델 (선형, 다항, 리지, 라쏘)

회귀 모델이란?회귀 모델은 머신러닝의 지도학습 중 하나로, 연속적인 수치 데이터를 예측하는데 사용된다.즉, 입력데이터(feature) 에 따라 연속적인 출력 값(lable) 을 예측하는 모델이다예를들어 주택가격예측, 주식시장의 변동 예측, 기온 예측 등이 회귀 문제에 해당회귀 모델의 주요 특징연속 데이터 예측 : 출력값은 이산적인 아닌 연속적인 값이다.입출력 관계 : 독립변수(입력)와 종속변수(출력) 간의 관계를 수학적으로 모델링손실 함수 : 일반적으로 예측 값과 실제 값 간의 차이를 최소화 하기 위해 평균제곱오차(MSE) 또는 평균절대오차(MAE) 를 사용한다회귀 모델의 평가 지표1. 평균 제곱 오차 (MSE)예측 값과 실제 값의 차이를 제곱하여 평균을 구함 2. 평균 절대 오차 (MAE)절대 오차를 ..

AI/ML 2024.12.28

[ML] 머신러닝 이란? ( Machine Learning )

머신러닝 이란? ( Machine Learning )머신러닝은 컴퓨터가 명시적인 프로그래밍 없이 데이터에서 학습하고, 그 학습을 바탕으로 새로운 데이터에 대해 예측하거나 결정을 내리는 인공지능(AI) 의 한 분야이다. 머신러닝은 수학, 통계학, 컴퓨터 과학 등을 기반으로 하며, 데이터의 패턴을 찾고 이를 모델로 만들어 활용한다.쉽게 얘기하자면H(x) = wx + bH : 가설 w : 가중치b : 편향잘 학습을 시키며 적절한 가중치를 찾아 최적의 가설식을 세우는것을 말한다.머신러닝의 주요 구성 요소데이터:머신러닝 모델은 데이터를 기반으로 학습합니다. 데이터의 품질과 양이 모델의 성능에 큰 영향을 미칩니다.구조화된 데이터: 테이블 형식의 데이터 (예: CSV 파일)비구조화된 데이터: 텍스트, 이미지, 오디오..

AI/ML 2024.12.28

[Pandas] 인코딩 ( Encoding )

인코딩 ( Encoding ) 이란?범주형 데이터를 수치형 데이터로 변환하는 과정 많은 머신러닝 모델은 수치형 데이터만 처리할 수 있기에, 범주형 데이터를 인코딩하는 것이 필수적1. 라벨 인코딩 ( Label Encoding )각 범주를 고유한 숫자로 변환하는 방식 ex) '빨강', '파랑', '초록' 이 있을경우 각각 0, 1, 2 로 변환주의할점 : 수치간에 순서가 있는 것으로 해석될 수 있다예를 들어, "빨강" = 0, "파랑" = 1, "초록" = 2로 변환되면 "파랑"이 "빨강"보다 크다는 의미로 잘못 해석될 수 있습니다.from sklearn.preprocessing import LabelEncoder# 데이터categories = ["빨강", "파랑", "초록", "파랑", "빨강"]# 라벨..

Python/Pandas 2024.12.26

[Pandas] 데이터 정규화 와 표준화

데이터 정규화데이터의 범위를 0 과 1 사이로 변환하는 과정서로 다른 범위를 가진 데이터를 동일한 스케일로 맞추어 비교하기 쉽게 만듬 Min - Max 정규화import pandas as pdfrom sklearn.preprocessing import MinMaxScaler# 예시 데이터프레임 생성data = { '특성1': [10, 20, 30, 40, 50], '특성2': [1, 2, 3, 4, 5]}df = pd.DataFrame(data)# Min-Max 정규화scaler = MinMaxScaler()normalized_df = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)print(normalized_df) 특성1 특성2..

Python/Pandas 2024.12.26