목록데이터 분석 (19)
헬창 개발자
EM 클러스터링: 이론과 실습1. EM 클러스터링이란?EM 클러스터링은 통계적 기법 중 하나로, 데이터의 숨겨진 구조를 찾기 위해 사용하는 알고리즘입니다. EM(Expectation-Maximization) 알고리즘은 데이터가 숨겨진 잠재 변수를 가지고 있을 때 그 변수들을 추정하고, 이를 통해 데이터의 클러스터를 식별합니다.2. 기본 개념Expectation (E-단계): 현재의 파라미터를 기반으로 데이터의 잠재 변수(또는 클러스터의 분포)를 추정합니다. 이 단계에서는 현재의 파라미터 추정을 사용하여 각 데이터 포인트가 각 클러스터에 속할 확률을 계산합니다.Maximization (M-단계): E-단계에서 계산된 확률을 사용하여 모델의 파라미터를 업데이트합니다. 즉, 데이터 포인트가 각 클러스터에 속할..
알고리즘 K Means나 Hierarchical 클러스터링의 경우 군집간의 거리를 이용하여 클러스터링을 하는 방법인데, 밀도 기반의 클러스터링은 점이 세밀하게 몰려 있어서 밀도가 높은 부분을 클러스터링 하는 방식이다. 쉽게 설명하면, 어느점을 기준으로 반경 x내에 점이 n개 이상 있으면 하나의 군집으로 인식하는 방식이다. 먼저 점 p가 있다고 할때, 점 p에서 부터 거리 e (epsilon)내에 점이 m(minPts) 개 있으면 하나의 군집으로 인식한다고 하자. 이 조건 즉 거리 e 내에 점 m개를 가지고 있는 점 p를 core point (중심점) 이라고 한다. DBSCAN 알고리즘을 사용하려면 기준점 부터의 거리 epsilon값과, 이 반경내에 있는 점의 수 minPts를 인자로 전달해야 한다. 인자..
💡 학습환경은 코랩에서 진행하였습니다. 학습 목표 페이스북에서 만든 prophet이라는 LSTM 모델를 이용하여 주가를 예측해보자 0. 시계열 & 예측모델 ????????????? 시계열 데이터란? 일정한 시간동안 수집 된 일련의 순차적으로 정해진 데이터 셋의 집합 입니다. 시계열 데이터의 특징으로는 시간에 관해 순서가 매겨져 있다는 점과, 연속한 관측치는 서로 상관관계를 갖고 있습니다. 시계열 데이터의 분석 목적은 시계열이 갖고 있는 법칙성을 발견해 이를 모형화하고, 또 추정된 모형을 통하여 미래의 값을 예측하는 것입니다. 시계열 예측모델이란? 이전에 관측된 값을 기반으로 미래의 값을 예측할 수 있는 모형이다. RNN(Recurrent Neural Network) 순환 신경망 Xt: 입력층의 입력 벡터..
1. K-최근접 이웃이란?K-최근접 이웃(K-Nearest Neighbors, KNN) 알고리즘은 지도 학습에서 사용되는 간단하고 직관적인 분류 및 회귀 알고리즘입니다. 주어진 데이터 포인트의 라벨을 예측하기 위해, 해당 데이터 포인트와 가장 가까운 K개의 이웃 데이터 포인트를 참조합니다. 이웃들의 라벨 정보를 바탕으로 예측을 수행합니다.2. KNN 알고리즘의 기본 개념분류: K개의 가장 가까운 이웃의 클래스 라벨을 확인하고, 가장 많이 등장하는 클래스로 예측합니다. 예를 들어, K=3일 때, 가장 가까운 3개의 이웃 중 2개가 클래스 A에 속하고 1개가 클래스 B에 속하면, 예측 클래스는 A가 됩니다.회귀: K개의 가장 가까운 이웃의 값을 평균하여 예측 값을 결정합니다. 이웃의 평균 값이나 중간 값을 ..
1. 코사인 유사도란?코사인 유사도(Cosine Similarity)는 두 벡터 간의 유사성을 측정하는 방법으로, 벡터 간의 각도를 기준으로 유사도를 계산합니다. 두 벡터가 동일한 방향을 가질수록 코사인 유사도는 1에 가까워지며, 반대 방향일수록 -1에 가까워집니다. 벡터 간의 각도를 측정하여 텍스트 데이터나 다른 고차원 데이터의 유사성을 평가할 때 유용합니다. 2. 코사인 유사도의 수식코사인 유사도는 다음과 같이 정의됩니다: 3. 코사인 거리란?코사인 거리(Cosine Distance)는 코사인 유사도(Cosine Similarity)의 보완적인 개념으로, 두 벡터 간의 유사성을 거리의 형태로 표현합니다. 코사인 유사도가 두 벡터 간의 각도를 기준으로 유사성을 측정하는 반면, 코사인 거리는 이 유사성을..
1. 자카드 유사도란?자카드 유사도(Jaccard Similarity)는 두 집합 간의 유사성을 측정하는 방법으로, 두 집합 간의 교집합과 합집합의 비율을 계산합니다. 자카드 유사도는 0에서 1 사이의 값을 가지며, 1에 가까울수록 두 집합이 유사하다는 것을 의미합니다.수식자카드 유사도는 다음과 같이 정의됩니다 2. 자카드 거리란?자카드 거리(Jaccard Distance)는 자카드 유사도의 보완적인 개념으로, 두 집합 간의 차이를 거리로 표현합니다. 자카드 거리는 0에서 1 사이의 값을 가지며, 1에 가까울수록 두 집합 간의 차이가 크다는 것을 의미합니다.수식자카드 거리는 다음과 같이 정의됩니다 3. 소스코드dic={'ullman' : [('jeff', 'ullman', 'jennifer', 'wido..
1. 계층적 군집화란?계층적 군집화는 데이터를 계층적으로 클러스터링하는 방법으로, 데이터 포인트를 유사성에 따라 클러스터로 그룹화합니다. 이 방법은 군집의 계층적 구조를 형성하며, 덴드로그램(dendrogram)을 통해 클러스터의 병합 과정을 시각적으로 표현할 수 있습니다.2. 계층적 군집화의 유형계층적 군집화는 크게 두 가지 유형으로 나눌 수 있습니다:단일 링크 (Single Linkage): 두 클러스터 간의 거리를 두 클러스터 간의 가장 가까운 거리로 정의합니다. 이는 "최단 거리 연결" 방법이라고도 불립니다.완전 링크 (Complete Linkage): 두 클러스터 간의 거리를 두 클러스터 간의 가장 먼 거리로 정의합니다. 이는 "최장 거리 연결" 방법이라고도 불립니다.평균 링크 (Average ..
알고리즘 리벤 슈테인 알고리즘 사용 두 개의 문자열 A, B가 주어졌을 때 두 문자열이 얼마나 유사한 지를 알아낼 수 있는 알고리즘입니다. 문자열 A가 문자열 B와 같아지기 위해서는 몇 번의 연산을 진행해야 하는 지 계산할 수 있습니다. 여기서의 연산이란, 삽입(Insertion), 삽입(Deletion), 대체(Replacement)를 말합니다. 점화식 두 문자가 같은 경우 : dp[i][j] = dp[i - 1][j - 1] 두 문자가 다른 경우 : dp[i][j] = 1 + MIN(dp[i][j - 1], dp[i - 1][j], dp[i - 1][j - 1]) 입력 데이터가 다음이라고 생각해보자 str1 = 'saturday' str2 = 'sunday' S 를 가지고 SA 를 만들기 위한 최소 ..
노션에서 작성했는데 옮겨적기 힘들어서 pdf로 올립니다!!
알고리즘 가장 간단한 지도학습 분류(classification) 알고리즘이 kNN(k-Nearest Neighbor)이라면, 가장 간단한 비지도학습 군집(clustering) 알고리즘은 k-means 클러스터링을 꼽을 수 있다. 비지도학습이기 때문에 k-means 클러스터링은 레이블이 없는 데이터들만으로도 작동한다. k-means 클러스터링은 데이터를 k개의 클러스터(cluster)로 분류해주는데, 다음과 같은 알고리즘으로 작동한다. 1) 사용자로부터 입력받은 k의 값에 따라, 임의로 클러스터 중심(centroid) k개를 설정해준다. 2) k개의 클러스터 중심으로부터 모든 데이터가 얼마나 떨어져 있는지 계산한 후에, 가장 가까운 클러스터 중심을 각 데이터의 클러스터로 정해준다. 3) 각 클러스터에 속하..