목록전체 글 (108)
헬창 개발자
알고리즘 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: 입력층의 입력 벡터..
프로세스란? 프로세스(process)란 실행중에 있는 프로그램(Program)을 의미하며 동적인 상태이다. 프로세스의 구조 코드(텍스트) 영역 : 프로그램을 실행시키는 실행 파일 내의 명령어들이 올라갑니다. 데이터 영역 : 전역변수, static 변수의 할당. 힙 영역 : 동적할당을 위한 메모리 영역. 스택 영역 : 지역변수, 함수 호출시 전달되는 인자(파라미터)를 위한 메모리 영역. 프로세스 제어블록(Process Control Block, 줄여서 PCB)) 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 자료구조입니다. 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB도 함께 제거됩니다. 포인터 프로세스의 현재 위치를 저장하..
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로 올립니다!!