KMeansTrainer Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 |
WeightColumn |
Kolom berat yang diharapkan pelatih. Dapat berupa |
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk