언어

KMeansTrainer 클래스

정의

IEstimator<TTransformer> KMeans 클러스터러 학습용

public class KMeansTrainer : Microsoft.ML.Trainers.TrainerEstimatorBase<Microsoft.ML.Data.ClusteringPredictionTransformer<Microsoft.ML.Trainers.KMeansModelParameters>,Microsoft.ML.Trainers.KMeansModelParameters>
type KMeansTrainer = class
    inherit TrainerEstimatorBase<ClusteringPredictionTransformer<KMeansModelParameters>, KMeansModelParameters>
Public Class KMeansTrainer
Inherits TrainerEstimatorBase(Of ClusteringPredictionTransformer(Of KMeansModelParameters), KMeansModelParameters)
상속

설명

이 트레이너를 만들려면 KMeans 또는 Kmeans(옵션)를 사용합니다.

입력 및 출력 열

입력 기능 열 데이터는 이어야 Single합니다. 레이블 열이 필요하지 않습니다. 이 트레이너는 다음 열을 출력합니다.

출력 열 이름 열 형식 Description
Score 의 벡터 Single 주어진 데이터 포인트가 모든 클러스터 중심점까지의 거리입니다.
PredictedLabel 키 유형 모델에서 예측한 가장 가까운 클러스터의 인덱스입니다.

트레이너 특성

기계 학습 작업 Clustering
정규화가 필요한가요? Yes
캐싱이 필요한가요? Yes
Microsoft.ML 외에 필요한 NuGet 없음
ONNX로 내보낼 수 있습니다. Yes

학습 알고리즘 세부 정보

K-평균 은 인기 있는 클러스터링 알고리즘입니다. K-평균을 사용하면 제곱 거리의 클러스터 내 합계를 최소화하기 위해 데이터가 지정된 수의 클러스터로 클러스터됩니다. 이 구현은 Yinyang K-means 메서드를 따릅니다. 초기 클러스터 중심을 선택하는 경우 세 가지 옵션 중 하나를 사용할 수 있습니다.

  • 임의 초기화입니다. 이로 인해 최적의 클러스터링의 근사값이 저하될 수 있습니다.
  • K-means++ 메서드입니다. Ding et al.에서 도입한 향상된 초기화 알고리즘으로, 최적의 K-평균 솔루션과 $O(log K)$ 경쟁력이 있는 솔루션을 찾을 수 있습니다.
  • K-평균|| 메서드를 사용합니다. 이 메서드는 여기서 Bahmani 등에서 도입되었으며, 좋은 초기화를 얻는 데 필요한 패스 수를 크게 줄이는 병렬 메서드를 사용합니다.

K-평균|| 는 기본 초기화 방법입니다. KMeansTrainer(옵션)를 사용하여 트레이너를 만들 때 옵션에서 다른 메서드를 지정할 수 있습니다.

점수 매기기 함수

출력 점수 열에는 지정된 입력 벡터 $\textbf{x}\in \mathbb{R}^n$의 $L_2$-norm 거리(즉, 유클리드 거리)의 제곱이 포함되어 있습니다. $c$-th 클러스터의 중심이 \\textbf{m}_c \in \mathbb{R}^n$이라고 가정합니다. 점수 매기기 열의 $c$th 값은 $d_c = || \textbf{x} - \textbf{m}_c ||_2^2$. 예측된 레이블은 $K$ 차원 벡터 $[d_, \dots, d_{0}{K-1}]$에서 가장 작은 값을 가진 인덱스입니다. 여기서 $K$는 클러스터의 수입니다.

K-평균 및 K-평균++에 대한 자세한 내용은 다음을 참조하세요. K-평균K-평균++

사용 예제에 대한 링크는 참고 섹션을 참조하세요.

필드

Name Description
FeatureColumn

트레이너가 기대하는 기능 열입니다.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

트레이너가 기대하는 레이블 열입니다. null수 있습니다. 이는 레이블이 학습에 사용되지 않음을 나타냅니다.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

트레이너가 기대하는 가중치 열입니다. 가중치가 학습에 사용되지 않음을 나타내는 일 수 null있습니다.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)

속성

Name Description
Info

IEstimator<TTransformer> KMeans 클러스터러 학습용

메서드

Name Description
Fit(IDataView)

를 학습하고 반환합니다 ITransformer.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer> KMeans 클러스터러 학습용

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)

확장명 메서드

Name Description
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

추정기 체인에 '캐싱 검사점'을 추가합니다. 이렇게 하면 다운스트림 추정기가 캐시된 데이터에 대해 학습됩니다. 여러 데이터를 전달하는 트레이너 앞에 캐싱 검사점을 두는 것이 유용합니다.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

추정기가 지정된 경우 한 번 Fit(IDataView) 호출된 대리자를 호출하는 래핑 개체를 반환합니다. 예측 도구에서 적합한 항목에 대한 정보를 반환하는 것이 중요한 경우가 많으므로 메서드는 Fit(IDataView) 일반 ITransformer개체가 아니라 구체적으로 형식화된 개체를 반환합니다. 그러나 동시에 IEstimator<TTransformer> 개체가 많은 파이프라인으로 형성되는 경우가 많으므로 변압기를 구하려는 추정기가 이 체인의 어딘가에 묻혀 있는 위치를 통해 EstimatorChain<TLastTransformer> 추정기 체인을 빌드해야 할 수 있습니다. 이 시나리오에서는 fit이 호출되면 호출될 대리자를 이 메서드를 통해 연결할 수 있습니다.

적용 대상

추가 정보