KMeansTrainer Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Trénování IEstimator<TTransformer> clustereru 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)
- Dědičnost
Poznámky
K vytvoření tohoto trenéra použijte KMeans nebo Kmeans(Options).
Vstupní a výstupní sloupce
Vstupními funkcemi musí být Singledata sloupce . Není potřeba žádný sloupec popisku. Tento trenér vypíše následující sloupce:
| Název výstupního sloupce | Typ sloupce | Description |
|---|---|---|
Score |
vektoru Single | Vzdálenosti daného datového bodu ke všem centroidům shluků. |
PredictedLabel |
klíč typ | Nejbližší index clusteru predikovaný modelem. |
Charakteristiky trenéra
| Úloha strojového učení | Klastrování |
| Vyžaduje se normalizace? | Ano |
| Vyžaduje se ukládání do mezipaměti? | Ano |
| Požadovaný NuGet kromě Microsoft.ML | None |
| Exportovatelné do ONNX | Ano |
Podrobnosti trénovacího algoritmu
K-means je oblíbený algoritmus clusteringu. Pomocí K-means jsou data seskupené do zadaného počtu shluků, aby se minimalizoval součet čtvercových vzdáleností v rámci clusteru. Tato implementace se řídí metodou Yinyang K-means. Pro výběr počátečních centeroidů clusteru můžete použít jednu ze tří možností:
- Náhodná inicializace. To může vést k potenciálně špatným aproximacím optimálního clusteringu.
- Metoda K-means++. Jedná se o vylepšený inicializační algoritmus , který zde představil Ding et al., který zaručuje nalezení řešení, které je $O(log K)$ konkurenceschopné pro optimální řešení K-means.
- The K-means|| metoda. Tuto metodu zde zavedl Bahmani et al., a používá paralelní metodu, která výrazně snižuje počet průchodů potřebných k získání dobré inicializace.
K-means|| je výchozí inicializační metoda. Ostatní metody lze zadat v Možnosti při vytváření trenér pomocí KMeansTrainer(Options).
Bodovací funkce
Sloupec Skóre výstupu obsahuje čtverec vzdálenosti $L_2$-norm (tj. Euclidean vzdálenost) daného vstupního vektoru $\textbf{x}\in \mathbb{R}^n$ s centroidem každého clusteru. Předpokládejme, že centriod clusteru $c$-th je $\textbf{m}_c \in \mathbb{R}^n$. Hodnota $c$-th ve sloupci Skóre by byla $d_c = || \textbf{x} – \textbf{m}_c ||_2^2$. Predikovaný popisek je index s nejmenší hodnotou v $K$ dimenzionálním vektoru $[d_{0}, \tečky, d_{K-1}]$, kde $K$ je počet shluků.
Další informace o K-means a K-means++ najdete v tématu: K-meansK-means++
Odkazy na příklady použití najdete v části Viz také.
Pole
| Name | Description |
|---|---|
| FeatureColumn |
Sloupec funkcí, který trenér očekává. (Zděděno od TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
Sloupec popisku, který trenér očekává. Může to být |
| WeightColumn |
Váhový sloupec, který trenér očekává. Může být |
Vlastnosti
| Name | Description |
|---|---|
| Info |
Trénování IEstimator<TTransformer> clustereru KMeans |
Metody
| Name | Description |
|---|---|
| Fit(IDataView) |
Vlaky a vrací .ITransformer (Zděděno od TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
Trénování IEstimator<TTransformer> clustereru KMeans (Zděděno od TrainerEstimatorBase<TTransformer,TModel>) |
Metody rozšíření
| Name | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Připojte kontrolní bod ukládání do mezipaměti do řetězu odhadce. Tím zajistíte, aby podřízené estimátory byly natrénovány proti datům uloženým v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Vzhledem k estimátoru vraťte objekt obtékání, který jednou zavolá delegáta Fit(IDataView) . Často je důležité, aby estimátor vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétní typ objekt, spíše než jen obecný ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetěz odhadců prostřednictvím IEstimator<TTransformer> místa, kde odhadovač, EstimatorChain<TLastTransformer> pro který chceme získat transformátor, je někde v tomto řetězu. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po zavolání fit. |