KMeansTrainer Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Element IEstimator<TTransformer> do trenowania klastra 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)
- Dziedziczenie
Uwagi
Aby utworzyć ten trener, użyj narzędzi KMeans lub Kmeans(Options).
Kolumny wejściowe i wyjściowe
Dane kolumn funkcji wejściowych muszą mieć wartość Single. Nie jest wymagana żadna kolumna etykiety. Ten trener wyprowadza następujące kolumny:
Nazwa kolumny wyjściowej | Typ kolumny | Opis |
---|---|---|
Score |
wektor Single | Odległość danego punktu danych do centroidów wszystkich klastrów. |
PredictedLabel |
typ klucza | Indeks najbliższego klastra przewidywany przez model. |
Cechy trenera
Zadanie uczenia maszynowego | Klastrowanie |
Czy normalizacja jest wymagana? | Tak |
Czy buforowanie jest wymagane? | Tak |
Wymagane narzędzie NuGet oprócz Microsoft.ML | Brak |
Możliwość eksportowania do ONNX | Tak |
Szczegóły algorytmu trenowania
K-średnich to popularny algorytm klastrowania. W przypadku języka K-średnich dane są grupowane w określoną liczbę klastrów w celu zminimalizowania sumy w obrębie klastra odległości kwadratowych. Ta implementacja jest zgodna z metodą Yinyang K-średnich. Aby wybrać początkowe centeroidy klastra, można użyć jednej z trzech opcji:
- Inicjowanie losowe. Może to prowadzić do potencjalnie złych przybliżeń optymalnego klastrowania.
- Metoda K-średnich++. Jest to ulepszony algorytm inicjowania wprowadzony tutaj przez Ding et al., który gwarantuje znalezienie rozwiązania, które jest $O(log K)$ konkurencyjne dla optymalnego rozwiązania K-średnich.
- K-średnich|| Metoda. Ta metoda została tutaj wprowadzona przez Bahmani i al., i używa metody równoległej, która drastycznie zmniejsza liczbę przebiegów potrzebnych do uzyskania dobrej inicjalizacji.
K-średnich|| to domyślna metoda inicjowania. Inne metody można określić w opcje podczas tworzenia trenera przy użyciu KMeansTrainer(Options).
Funkcja oceniania
Kolumna Score (Wynik) danych wyjściowych zawiera kwadrat odległości $L_2$-norm (tj. odległość euklidesowa) danego wektora wejściowego $\textbf{x}\in \mathbb{R}^n$ do centroidu każdego klastra. Załóżmy, że centriod klastra $c$-th to $\textbf{m}_c \in \mathbb{R}^n$. Wartość $c$-th w kolumnie Score (Wynik) to $d_c = || \textbf{x} — \textbf{m}_c || _2^2$. Przewidywana etykieta to indeks z najmniejszą wartością w wektorze wymiarowym $K$ $[d_{0}, \kropki, d_{K-1}]$, gdzie $K$ to liczba klastrów.
Aby uzyskać więcej informacji na temat języka K-średnich i języka K-średnich++, zobacz: K-średnich K-średnichjęzyka K-średnich++
Zapoznaj się z sekcją Zobacz również, aby uzyskać linki do przykładów użycia.
Pola
FeatureColumn |
Kolumna funkcji, której oczekuje trener. (Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
Kolumna etykiety oczekiwana przez trenera. Może to być |
WeightColumn |
Kolumna wagi oczekiwana przez trenera. Może to być |
Właściwości
Info |
Element IEstimator<TTransformer> do trenowania klastra KMeans |
Metody
Fit(IDataView) |
Trenuje i zwraca wartość ITransformer. (Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
Element IEstimator<TTransformer> do trenowania klastra KMeans (Odziedziczone po TrainerEstimatorBase<TTransformer,TModel>) |
Metody rozszerzania
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Dołącz "punkt kontrolny buforowania" do łańcucha narzędzia do szacowania. Zapewni to, że narzędzia do szacowania podrzędnego zostaną wytrenowane pod kątem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejdą wiele danych. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który będzie wywoływać delegata po Fit(IDataView) wywołaniu. Często ważne jest, aby narzędzie do szacowania zwracało informacje o tym, co było odpowiednie, dlatego Fit(IDataView) metoda zwraca specjalnie wpisany obiekt, a nie tylko ogólny ITransformerelement . Jednak w tym samym czasie IEstimator<TTransformer> są często tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania, za pośrednictwem EstimatorChain<TLastTransformer> którego narzędzie do szacowania, dla którego chcemy uzyskać transformator jest pochowany gdzieś w tym łańcuchu. W tym scenariuszu możemy za pomocą tej metody dołączyć delegata, który zostanie wywołany po wywołaniu dopasowania. |