Aracılığıyla paylaş


KMeansTrainer Sınıf

Tanım

IEstimator<TTransformer> KMeans kümeleyicisini eğitme

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ı oluşturur:

Çıkış Sütunu Adı Sütun Türü Description
Score vektör Single Verilen veri noktasının tüm kümelerin centroid'lerine olan uzaklıkları.
PredictedLabel anahtar türü Model tarafından tahmin edilen en yakın küme dizini.

Eğitmen Özellikleri

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

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 kare 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 uygun kümelemenin kötü tahminlerine yol açabilir.
  • 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öntem. 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(Seçenekler) kullanarak eğitmeni oluştururken seçenekler bölümünde 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$-. 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-ortalamalarK-ortalamalar++

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

Alanlar

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

Info

IEstimator<TTransformer> KMeans kümeleyicisini eğitme

Yöntemler

Fit(IDataView)

Bir ITransformereğiter ve döndürür.

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

IEstimator<TTransformer> KMeans kümeleyicisini eğitme

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

Uzantı Metotları

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

Tahmin aracı zincirine bir 'önbelleğe alma denetim noktası' ekler. Bu, aşağı akış tahmincilerinin önbelleğe alınan verilere karşı eğitilmesini sağlar. Birden çok veri geçişi alan eğitmenlerden önce bir önbelleğe alma denetim noktası olması yararlıdır.

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

Tahmin aracı verildiğinde, çağrıldıktan sonra Fit(IDataView) temsilci ç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 nesneye sahip 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ülü olduğu bir tahmin aracı zinciri oluşturmamız gerekebilir. Bu senaryo için, bu yöntem aracılığıyla sığdır çağrıldıktan sonra çağrılacak bir temsilci ekleyebiliriz.

Şunlara uygulanır

Ayrıca bkz.