클러스터링 알고리즘
- 주제:
- 쿼리
작성 대상:
- 개발자
클러스터링 알고리즘은 유사성에 따라 데이터 포인트를 구별되는 클러스터로 그룹화하므로 데이터 내의 패턴을 찾아내는 비지도 학습을 가능하게 합니다. 클러스터링 알고리즘을 만들려면 OPTIONS
절의 type
매개 변수를 사용하여 모델 교육에 사용할 알고리즘을 지정하십시오. 그런 다음 관련 매개변수를 키-값 쌍으로 정의하여 모델을 미세 조정합니다.
K-Means
K-Means
은(는) 데이터 포인트를 사전 정의된 수의 클러스터(k)로 분할하는 클러스터링 알고리즘입니다. 단순성과 효율성으로 인해 클러스터링에 가장 일반적으로 사용되는 알고리즘 중 하나이다.
매개 변수
K-Means
을(를) 사용하는 경우 OPTIONS
절에 다음 매개 변수를 설정할 수 있습니다.
매개변수 | 설명 | 기본값 | 가능한 값 |
---|---|---|---|
MAX_ITER | 알고리즘이 실행해야 하는 반복 횟수입니다. | 20 | (>= 0) |
TOL | 수렴 허용 수준. | 0.0001 | (>= 0) |
NUM_CLUSTERS | 만들 클러스터 수(k )입니다. | 2 | (>1) |
DISTANCE_TYPE | 두 점 사이의 거리를 계산하는 데 사용되는 알고리즘입니다. 값은 대/소문자를 구분합니다. | euclidean | euclidean , cosine |
KMEANS_INIT_METHOD | 클러스터 센터에 대한 초기화 알고리즘. | k-means|| | random , k-means|| (k-means++의 병렬 버전) |
INIT_STEPS | k-means|| 초기화 모드의 단계 수(KMEANS_INIT_METHOD 이(가) k-means|| 인 경우에만 적용 가능)입니다. | 2 | (>0) |
PREDICTION_COL | 예측이 저장될 열의 이름입니다. | prediction | 모든 문자열 |
SEED | 재현성을 위한 무작위 시드. | -1689246527 | 모든 64비트 숫자 |
WEIGHT_COL | 인스턴스 가중치에 사용되는 열의 이름입니다. 설정하지 않으면 모든 인스턴스에 동일한 가중치가 적용됩니다. | not set | N/A |
예
CREATE MODEL modelname
OPTIONS(
type = 'kmeans',
MAX_ITERATIONS = 30,
NUM_CLUSTERS = 4
)
AS SELECT col1, col2, col3 FROM training-dataset;
Bisecting K-means
Bisecting K-means은(는) 분할형(또는 "하향식") 접근 방식을 사용하는 계층적 클러스터링 알고리즘입니다. 모든 관찰은 단일 클러스터에서 시작되며, 계층 구조가 구축되면 재귀적으로 분할이 수행됩니다. Bisecting K-means은(는) 보통 K-means보다 빠를 수 있지만 일반적으로 다른 클러스터 결과를 생성합니다.
매개 변수
매개변수 | 설명 | 기본 값 | 가능한 값 |
---|---|---|---|
MAX_ITER | 알고리즘이 실행하는 최대 반복 횟수입니다. | 20 | (>= 0) |
WEIGHT_COL | 인스턴스 가중치의 열 이름입니다. 설정되지 않았거나 비어 있으면 모든 인스턴스 가중치는 1.0 (으)로 처리됩니다. | 설정되지 않음 | 모든 문자열 |
NUM_CLUSTERS | 원하는 리프 클러스터 수입니다. 나눌 수 있는 클러스터가 남아 있지 않은 경우 실제 숫자는 더 작을 수 있습니다. | 4 | (> 1) |
SEED | 알고리즘에서 무작위 프로세스를 제어하는 데 사용되는 무작위 시드입니다. | 설정되지 않음 | 모든 64비트 숫자 |
DISTANCE_MEASURE | 점 간의 유사성을 계산하는 데 사용되는 거리 측정입니다. | "유클리드" | euclidean , cosine |
MIN_DIVISIBLE_CLUSTER_SIZE | 클러스터가 분할되는 데 필요한 최소 점 수(if >= 1.0) 또는 최소 점 비율(if < 1.0)입니다. | 1.0 | (>= 0) |
PREDICTION_COL | 예측 출력의 열 이름입니다. | "prediction" | 모든 문자열 |
예
Create MODEL modelname OPTIONS(
type = 'bisecting_kmeans',
) AS
select col1, col2, col3 from training-dataset
Gaussian Mixture Model
Gaussian Mixture Model은 k개의 가우시안 하위 분포 중 하나에서 데이터 포인트를 각각 고유한 확률을 갖는 복합 분포를 나타냅니다. 이는 여러 가우시안 분포의 혼합물로부터 생성된다고 가정한 데이터 세트들을 모델링하는 데 사용된다.
매개 변수
MAX_ITER
WEIGHT_COL
1.0
(으)로 처리됩니다.NUM_CLUSTERS
SEED
AGGREGATION_DEPTH
PROBABILITY_COL
TOL
PREDICTION_COL
예
Create MODEL modelname OPTIONS(
type = 'gaussian_mixture',
) AS
select col1, col2, col3 from training-dataset
Latent Dirichlet Allocation (LDA)
Latent Dirichlet Allocation (LDA)은 문서 컬렉션에서 기본 주제 구조를 캡처하는 확률론적 모델입니다. 단어, 주제, 문서 레이어가 있는 3단계 위계적인 베이지안 모형이다. LDA는 관찰된 문서와 함께 이러한 레이어를 사용하여 잠재적 주제 구조를 구축합니다.
매개 변수
MAX_ITER
OPTIMIZER
"online"
(Online Variational Bayes) 및 "em"
(Expected-Maximation)입니다.online
, em
(대/소문자 구분 안 함)NUM_CLUSTERS
CHECKPOINT_INTERVAL
DOC_CONCENTRATION
EM
최적화 도구의 경우 알파 값은 1.0보다 커야 합니다(기본값: (50/k) + 1로 균등 배분됨). 대칭 주제 분포를 보장합니다. online
최적기의 경우 알파 값은 0 이상일 수 있으므로(기본값: 1.0/k로 균일하게 배포) 보다 유연한 항목 초기화를 허용합니다.KEEP_LAST_CHECKPOINT
em
최적기를 사용할 때 마지막 검사점을 유지할지 여부를 나타냅니다. 체크포인트를 삭제하면 데이터 파티션이 손실될 경우 오류가 발생할 수 있습니다. 체크포인트가 더 이상 필요하지 않으면 참조 횟수에 따라 자동으로 스토리지에서 제거됩니다.true
true
, false
LEARNING_DECAY
online
최적화 프로그램에 대한 학습 속도를 (0.5, 1.0]
사이의 기하급수적 감소 속도로 설정합니다.(0.5, 1.0]
LEARNING_OFFSET
online
최적화 도구에 대한 학습 매개 변수입니다.SEED
OPTIMIZE_DOC_CONCENTRATION
online
최적화 도구: 교육 중에 docConcentration
(문서 항목 배포를 위한 Dirichlet 매개 변수)을 최적화할지 여부입니다.false
true
, false
SUBSAMPLING_RATE
online
최적기의 경우: (0, 1]
범위에서 미니 일괄 처리 그라디언트 하상의 각 반복에 샘플링 및 사용된 말뭉치의 비율입니다.(0, 1]
TOPIC_CONCENTRATION
EM
의 경우 값이 1.0(기본값 = 0.1 + 1). online
의 경우 값≥ 0입니다(기본값 = 1.0/k).TOPIC_DISTRIBUTION_COL
예
Create MODEL modelname OPTIONS(
type = 'lda',
) AS
select col1, col2, col3 from training-dataset