PairwiseCouplingTrainer Sınıf

Tanım

IEstimator<TTransformer> Belirtilen ikili sınıflandırıcıyı kullanan çok sınıflı çift sınıflı sınıflandırıcıyı eğitme için.

public sealed class PairwiseCouplingTrainer : Microsoft.ML.Trainers.MetaMulticlassTrainer<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.PairwiseCouplingModelParameters>,Microsoft.ML.Trainers.PairwiseCouplingModelParameters>
type PairwiseCouplingTrainer = class
    inherit MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>, PairwiseCouplingModelParameters>
Public NotInheritable Class PairwiseCouplingTrainer
Inherits MetaMulticlassTrainer(Of MulticlassPredictionTransformer(Of PairwiseCouplingModelParameters), PairwiseCouplingModelParameters)
Devralma

Açıklamalar

Bu eğitmeni oluşturmak için PairwiseCoupling kullanın.

Giriş ve Çıkış Sütunları

Giriş etiketi sütun verilerinin anahtar türü ve özellik sütununun bilinen boyutlu bir vektör olması Singlegerekir.

Bu eğitmen aşağıdaki sütunları üretir:

Çıkış Sütunu Adı Sütun Türü Description
Score Vektör Single Tüm sınıfların puanları. Daha yüksek değer, ilişkili sınıfa düşme olasılığının yüksek olduğu anlamına gelir. i. öğesi en büyük değere sahipse, tahmin edilen etiket dizini i olur. Sıfır tabanlı dizin olduğunu unutmayın.
PredictedLabel anahtar türü Tahmin edilen etiketin dizini. Değeri i ise, gerçek etiket anahtar değerli giriş etiketi türündeki i. kategori olacaktır.

Eğitmen Özellikleri

Makine öğrenmesi görevi Çok sınıflı sınıflandırma
Normalleştirme gerekli mi? Temel alınan ikili sınıflandırıcıya bağlıdır
Önbelleğe alma gerekli mi? Evet
Microsoft.ML'ye ek olarak gerekli NuGet Hiçbiri
ONNX'e aktarılabilir Hayır

Eğitim Algoritması Ayrıntıları

Bu stratejide, her sınıf çifti üzerinde bir ikili sınıflandırma algoritması eğitilir. Çiftler sıralanmamış ancak değiştirme ile oluşturulmuştur: bu nedenle, üç sınıf (0, 1, 2) varsa çiftler (0,0), (0,1), (0,2), (1,1), (1,2) ve (2,2) için sınıflandırıcılar eğitiriz. Her ikili sınıflandırıcı için, giriş veri noktası çiftteki iki sınıftan birindeyse pozitif bir örnek, aksi takdirde negatif bir örnek olarak kabul edilir. Tahmin zamanında, her bir sınıf çiftinin olasılıkları, veriler verildiğinde çiftin iki sınıfında bulunma olasılığı olarak kabul edilir ve bir örneğin belirli bir çiftte olma olasılığı göz önünde bulundurulduğunda bu sınıf başına son tahmin olasılıkları hesaplanır.

Bu, doğal olarak çok sınıflı bir seçeneği olmayan eğitmenlerden yararlanmanıza izin verebilir, örneğin, çok sınıflı bir sorunu çözmek için kullanma FastTreeBinaryTrainer . Alternatif olarak, eğitmenin çok sınıflı bir seçeneği olduğu durumlarda bile ML.NET "daha basit" bir sorunu çözmesine izin verebilir, ancak genellikle bellek kısıtlamaları nedeniyle doğrudan kullanmak pratik değildir. Örneğin, çok sınıflı lojistik regresyon, çok sınıflı bir sorunu çözmenin daha ilkeli bir yolu olsa da, eğitmenin çift yönlü bir bağlama sınıflandırma modeli için gerekli olduğu gibi tek tek değil, aynı anda tüm sınıflar için L-BFGS geçmişi biçiminde çok daha fazla ara durum depolamasını gerektirir.

Kullanım örneklerinin bağlantıları için Ayrıca Bkz. bölümüne bakın.

Özellikler

Name Description
Info

IEstimator<TTransformer> Belirtilen ikili sınıflandırıcıyı kullanan çok sınıflı çift sınıflı sınıflandırıcıyı eğitme için.

(Devralındığı yer: MetaMulticlassTrainer<TTransformer,TModel>)

Yöntemler

Name Description
Fit(IDataView)

Verileri transformatöre sığdırma

GetOutputSchema(SchemaShape)

Çıkış sütunlarını alır.

(Devralındığı yer: MetaMulticlassTrainer<TTransformer,TModel>)

Uzantı Metotları

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

Tahmin zincirine bir 'önbelleğe alma denetim noktası' ekler. Bu, aşağı akış tahmincilerinin önbelleğe alınmış verilere karşı eğitilmesini sağlar. Birden fazla veri alan eğitmenler geçişten önce bir önbelleğe alma kontrol noktasının olması yararlıdır.

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

Tahmin aracı verildiğinde, bir temsilci çağrıldıktan sonra Fit(IDataView) çağıracak bir sarmalama nesnesi döndürün. Tahmin aracının neyin uygun olduğu hakkında bilgi döndürmesi genellikle önemlidir. Bu nedenle Fit(IDataView) yöntem yalnızca genel ITransformerbir nesne yerine özel olarak yazılan bir nesne döndürür. Bununla birlikte, aynı zamanda, IEstimator<TTransformer> genellikle birçok nesne içeren işlem hatları halinde oluşturulur, bu nedenle transformatörü almak istediğimiz tahmin aracının EstimatorChain<TLastTransformer> bu zincirde bir yere gömüldüğü bir tahmin zinciri oluşturmamız gerekebilir. Bu senaryo için, bu yöntem aracılığıyla uygun çağrıldıktan sonra çağrılacak bir temsilci ekleyebiliriz.

Şunlara uygulanır

Ayrıca bkz.