KMeansTrainer Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Pour IEstimator<TTransformer> l’entraînement d’un clustereur 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)
- Héritage
Remarques
Pour créer ce formateur, utilisez KMeans ou Kmeans(Options).
Colonnes d’entrée et de sortie
Les données de colonne des fonctionnalités d’entrée doivent être Single. Aucune colonne d’étiquette n’est nécessaire. Cet entraîneur génère les colonnes suivantes :
| Nom de la colonne de sortie | Type de colonne | Description |
|---|---|---|
Score |
vecteur de Single | Les distances du point de données donné aux centroïdes de tous les clusters. |
PredictedLabel |
Type de clé | Index du cluster le plus proche prédit par le modèle. |
Caractéristiques de l’entraîneur
| Tâche Machine Learning | Clustering |
| La normalisation est-elle nécessaire ? | Oui |
| La mise en cache est-elle requise ? | Oui |
| NuGet requis en plus de Microsoft.ML | None |
| Exportable vers ONNX | Oui |
Détails de l’algorithme d’apprentissage
K-moyennes est un algorithme de clustering populaire. Avec K-moyennes, les données sont regroupées en un nombre spécifié de clusters afin de réduire la somme au sein du cluster de distances carrées. Cette implémentation suit la méthode K-moyennes de Yinyang. Pour choisir les centreoïdes de cluster initiaux, l’une des trois options peut être utilisée :
- Initialisation aléatoire. Cela peut entraîner des approximations potentiellement incorrectes du clustering optimal.
- Méthode K-moyennes++. Il s’agit d’un algorithme d’initialisation amélioré introduit ici par Ding et al., qui garantit la recherche d’une solution $O(log K)$ compétitive à la solution K-moyennes optimale.
- K-moyennes|| méthode. Cette méthode a été introduite ici par Bahmani et al., et utilise une méthode parallèle qui réduit considérablement le nombre de passes nécessaires pour obtenir une bonne initialisation.
K-moyennes|| est la méthode d’initialisation par défaut. Les autres méthodes peuvent être spécifiées dans les options lors de la création de l’entraîneur à l’aide de KMeansTrainer(Options).
Fonction de scoring
La colonne Score de sortie contient le carré de la distance $L_2$-norm (c’est-à-dire la distance euclide) du vecteur d’entrée $\textbf{x}\in \mathbb{R}^n$ à chaque centroïde de chaque cluster. Supposons que le centriod du cluster $c$-th est $\textbf{m}_c \in \mathbb{R}^n$. La valeur $c$-th à la colonne Score serait $d_c = || \textbf{x} - \textbf{m}_c ||_2^2$. L’étiquette prédite est l’index avec la plus petite valeur dans un vecteur $K$ dimensionnel $[d_{0}, \dots, d_{K-1}]$, où $K$ est le nombre de clusters.
Pour plus d’informations sur K-moyennes et K-moyennes++, consultez : K-moyennes K-moyennes++
Consultez la section Voir aussi pour obtenir des liens vers des exemples d’utilisation.
Champs
| Nom | Description |
|---|---|
| FeatureColumn |
Colonne de fonctionnalités attendue par l’entraîneur. (Hérité de TrainerEstimatorBase<TTransformer,TModel>) |
| LabelColumn |
Colonne d’étiquette attendue par l’entraîneur. Peut être |
| WeightColumn |
Colonne de poids attendue par l’entraîneur. Peut être |
Propriétés
| Nom | Description |
|---|---|
| Info |
Pour IEstimator<TTransformer> l’entraînement d’un clustereur KMeans |
Méthodes
| Nom | Description |
|---|---|
| Fit(IDataView) |
Effectue l’apprentissage et retourne un ITransformer. (Hérité de TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
Pour IEstimator<TTransformer> l’entraînement d’un clustereur KMeans (Hérité de TrainerEstimatorBase<TTransformer,TModel>) |
Méthodes d’extension
| Nom | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Ajoutez un « point de contrôle de mise en cache » à la chaîne d’estimateur. Cela garantit que les estimateurs en aval seront entraînés par rapport aux données mises en cache. Il est utile d’avoir un point de contrôle de mise en cache avant les formateurs qui prennent plusieurs passes de données. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
En fonction d’un estimateur, retournez un objet de création de package de restrictions qui appellera un délégué une fois Fit(IDataView) appelé. Il est souvent important pour un estimateur de retourner des informations sur ce qui était adapté, c’est pourquoi la Fit(IDataView) méthode retourne un objet spécifiquement typé, plutôt que simplement un général ITransformer. Toutefois, en même temps, IEstimator<TTransformer> sont souvent formés en pipelines avec de nombreux objets, nous devrons peut-être construire une chaîne d’estimateurs via EstimatorChain<TLastTransformer> laquelle l’estimateur pour lequel nous voulons obtenir le transformateur est enterré quelque part dans cette chaîne. Pour ce scénario, nous pouvons par le biais de cette méthode attacher un délégué qui sera appelé une fois l’ajustement appelé. |