Share via


KMeansTrainer Kelas

Definisi

IEstimator<TTransformer> untuk melatih pengkluster 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)
Warisan

Keterangan

Untuk membuat pelatih ini, gunakan KMeans atau Kmeans(Options).

Kolom Input dan Output

Data kolom fitur input harus Single. Tidak diperlukan kolom label. Pelatih ini menghasilkan kolom berikut:

Nama Kolom Output Jenis Kolom Deskripsi
Score vektor dari Single Jarak titik data yang diberikan ke semua sentroid kluster.
PredictedLabel jenis kunci Indeks kluster terdekat yang diprediksi oleh model.

Karakteristik Pelatih

Tugas pembelajaran mesin Pengklusteran
Apakah normalisasi diperlukan? Ya
Apakah penembolokan diperlukan? Ya
NuGet yang diperlukan selain Microsoft.ML Tidak ada
Dapat diekspor ke ONNX Ya

Detail Algoritma Pelatihan

K-means adalah algoritma pengklusteran yang populer. Dengan K-means, data dikelompokkan ke dalam sejumlah kluster tertentu untuk meminimalkan jumlah jarak kuadrat dalam kluster. Implementasi ini mengikuti metode Yinyang K-means. Untuk memilih centeroid kluster awal, salah satu dari tiga opsi dapat digunakan:

  • Inisialisasi acak. Ini mungkin menyebabkan perkiraan yang berpotensi buruk dari pengklusteran optimal.
  • Metode K-means++. Ini adalah algoritma inisialisasi yang ditingkatkan yang diperkenalkan di sini oleh Ding et al., yang menjamin untuk menemukan solusi yang $O (log K)$ kompetitif terhadap solusi K-means yang optimal.
  • The K-means|| Metode. Metode ini diperkenalkan di sini oleh Bahmani et al., dan menggunakan metode paralel yang secara drastis mengurangi jumlah pass yang diperlukan untuk mendapatkan inisialisasi yang baik.

K-means|| adalah metode inisialisasi default. Metode lain dapat ditentukan dalam Opsi saat membuat pelatih menggunakan KMeansTrainer(Options).

Fungsi Penilaian

Kolom Skor output berisi kuadrat jarak $L_2$-norm (yaitu, jarak Euclidean) dari vektor input yang diberikan $\textbf{x}\in \mathbb{R}^n$ ke sentroid setiap kluster. Asumsikan bahwa sentriod kluster $c$-th adalah $\textbf{m}_c \in \mathbb{R}^n$. Nilai $c$-th di kolom Skor akan $d_c = || \textbf{x} - \textbf{m}_c || _2^2$. Label yang diprediksi adalah indeks dengan nilai terkecil dalam vektor dimensi $K$ $[d_{0}, \dots, d_{K-1}]$, di mana $K$ adalah jumlah kluster.

Untuk informasi selengkapnya tentang K-means, dan K-means++ lihat: K-meansK-means++

Periksa bagian Lihat Juga untuk tautan ke contoh penggunaan.

Bidang

FeatureColumn

Kolom fitur yang diharapkan pelatih.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)
LabelColumn

Kolom label yang diharapkan pelatih. Dapat berupa null, yang menunjukkan bahwa label tidak digunakan untuk pelatihan.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Kolom berat yang diharapkan pelatih. Dapat berupa null, yang menunjukkan bahwa berat tidak digunakan untuk pelatihan.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)

Properti

Info

IEstimator<TTransformer> untuk melatih pengkluster KMeans

Metode

Fit(IDataView)

Melatih dan mengembalikan ITransformer.

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer> untuk melatih pengkluster KMeans

(Diperoleh dari TrainerEstimatorBase<TTransformer,TModel>)

Metode Ekstensi

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

Tambahkan 'titik pemeriksaan penembolokan' ke rantai estimator. Ini akan memastikan bahwa estimator hilir akan dilatih terhadap data cache. Sangat membantu untuk memiliki titik pemeriksaan penembolokan sebelum pelatih yang mengambil beberapa data berlalu.

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

Mengingat estimator, kembalikan objek pembungkus yang akan memanggil delegasi setelah Fit(IDataView) dipanggil. Seringkali penting bagi estimator untuk mengembalikan informasi tentang apa yang cocok, itulah sebabnya Fit(IDataView) metode mengembalikan objek yang ditik secara khusus, bukan hanya umum ITransformer. Namun, pada saat yang sama, IEstimator<TTransformer> sering dibentuk menjadi alur dengan banyak objek, jadi kita mungkin perlu membangun rantai estimator melalui EstimatorChain<TLastTransformer> tempat estimator yang ingin kita dapatkan transformator dikubur di suatu tempat dalam rantai ini. Untuk skenario itu, kita dapat melalui metode ini melampirkan delegasi yang akan dipanggil setelah pas dipanggil.

Berlaku untuk

Lihat juga