KMeansTrainer Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 |
| WeightColumn |
Eğitmenin beklediği ağırlık sütunu. olabilir |
Ö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. |