KMeansTrainer Sınıf

Tanım

IEstimator<TTransformer> KMeans kümeleyicisini eğitme için

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)
Devralma

Açıklamalar

Bu eğitmeni oluşturmak için KMeans veya Kmeans(Seçenekler) kullanın.

Giriş ve Çıkış Sütunları

Giriş özellikleri sütun verileri olmalıdır Single. Etiket sütunu gerekmez. Bu eğitmen aşağıdaki sütunları üretir:

Çıkış Sütunu Adı Sütun Türü Description
Score vektör Single Verilen veri noktasının tüm kümelerin merkez noktalarına olan uzaklıkları.
PredictedLabel anahtar türü Modelin tahmin ettiği en yakın kümenin indeksi.

Eğitmen Özellikleri

Makine öğrenmesi görevi Clustering
Normalleştirme gerekli mi? Evet
Önbelleğe alma gerekli mi? Evet
Microsoft.ML'ye ek olarak gerekli NuGet Hiçbiri
ONNX'e aktarılabilir Evet

Eğitim Algoritması Ayrıntıları

K ortalamalar popüler bir kümeleme algoritmasıdır. K ortalamaları ile veriler, küme içindeki uzaklıkların toplamını en aza indirmek için belirtilen sayıda kümede kümelendirilir. Bu uygulama Yinyang K-means yöntemini izler. İlk küme centeroidlerini seçmek için üç seçenekten biri kullanılabilir:

  • Rastgele başlatma. Bu, en iyi kümelemenin kötü bir şekilde tahmin edilmesine neden olabilir.
  • K-means++ yöntemi. Bu, burada Ding ve diğer kişiler tarafından sunulan ve en uygun K ortalamaları çözümüne uygun $O(log K)$ olan bir çözüm bulmayı garanti eden geliştirilmiş bir başlatma algoritmasıdır.
  • K ortalamaları|| yöntemini seçin. Bu yöntem burada Bahmani ve diğerleri tarafından tanıtıldı ve iyi bir başlatma elde etmek için gereken geçiş sayısını önemli ölçüde azaltan paralel bir yöntem kullanır.

K ortalamalar|| varsayılan başlatma yöntemidir. Diğer yöntemler, KMeansTrainer(Options) kullanarak eğitmen oluştururken Seçenekler'de belirtilebilir.

Puanlama İşlevi

Çıkış Puanı sütunu, her kümenin centroid'unda verilen $\textbf{x}\in \mathbb{R}^n$ giriş vektörünün $L_2$-norm uzaklığı (Öklid uzaklığı) karesini içerir. $c$-th kümesinin centriod değerinin $\textbf{m}_c \in \mathbb{R}^n$ olduğunu varsayalım. Score sütunundaki $c$-th değeri $d_c = || \textbf{x} - \textbf{m}_c ||_2^2$. Tahmin edilen etiket, $[d_{0}, \dots, d_{K-1}]$ $K$ boyutlu vektöründe en küçük değere sahip dizindir ve burada $K$ küme sayısıdır.

K ortalamaları ve K ortalamaları++ hakkında daha fazla bilgi için bkz. K-means K-means++

Kullanım örneklerinin bağlantıları için Ayrıca Bkz. bölümüne bakın.

Alanlar

Name Description
FeatureColumn

Eğitmenin beklediği özellik sütunu.

(Devralındığı yer: TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Eğitmenin beklediği etiket sütunu. etiketin eğitim için kullanılmadığını gösteren olabilir null.

(Devralındığı yer: TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Eğitmenin beklediği ağırlık sütunu. olabilir null, bu da ağırlığın eğitim için kullanılmadığını gösterir.

(Devralındığı yer: TrainerEstimatorBase<TTransformer,TModel>)

Özellikler

Name Description
Info

IEstimator<TTransformer> KMeans kümeleyicisini eğitme için

Yöntemler

Name Description
Fit(IDataView)

Bir eğitip döndürür ITransformer.

(Devralındığı yer: TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer> KMeans kümeleyicisini eğitme için

(Devralındığı yer: TrainerEstimatorBase<TTransformer,TModel>)

Uzantı Metotları

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

Tahmin zincirine bir 'önbelleğe alma denetim noktası' ekler. Bu, aşağı akış tahmincilerinin önbelleğe alınmış verilere karşı eğitilmesini sağlar. Birden fazla veri alan eğitmenler geçişten önce bir önbelleğe alma kontrol noktasının olması yararlıdır.

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

Tahmin aracı verildiğinde, bir temsilci çağrıldıktan sonra Fit(IDataView) çağıracak bir sarmalama nesnesi döndürün. Tahmin aracının neyin uygun olduğu hakkında bilgi döndürmesi genellikle önemlidir. Bu nedenle Fit(IDataView) yöntem yalnızca genel ITransformerbir nesne yerine özel olarak yazılan bir nesne döndürür. Bununla birlikte, aynı zamanda, IEstimator<TTransformer> genellikle birçok nesne içeren işlem hatları halinde oluşturulur, bu nedenle transformatörü almak istediğimiz tahmin aracının EstimatorChain<TLastTransformer> bu zincirde bir yere gömüldüğü bir tahmin zinciri oluşturmamız gerekebilir. Bu senaryo için, bu yöntem aracılığıyla uygun çağrıldıktan sonra çağrılacak bir temsilci ekleyebiliriz.

Şunlara uygulanır

Ayrıca bkz.