Aracılığıyla paylaş


PairwiseCouplingTrainer Sınıf

Tanım

IEstimator<TTransformer> belirtilen ikili sınıflandırıcıyı kullanan çift yönlü bir bağlama çok sınıflı sınıflandırıcı 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 verileri anahtar türü olmalı ve özellik sütunu bilinen boyutlu bir vektör Singleolmalıdır.

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

Çı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-th öğ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? Yes
Microsoft.ML ek olarak gerekli NuGet Hiçbiri
ONNX'e aktarılabilir No

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ıştır ancak değiştirme ile oluşturulur: bu nedenle, üç sınıf (0,0), (0,1), (0,1), (0,2), (1,1), (1,2) ve (2,2) için sınıflandırıcılar eğitilir. 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ı, veri verilen çiftin iki sınıfından birinde olma olasılığı olarak kabul edilir ve bir örneğin herhangi bir çiftte olma olasılığı dikkate alındığında, bu sınıf başına son tahmin olasılıkları hesaplanır.

Bu, doğal olarak çok sınıflı bir seçeneğe sahip 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 eş zamanlı 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

Info

IEstimator<TTransformer> belirtilen ikili sınıflandırıcıyı kullanan çift yönlü bir bağlama çok sınıflı sınıflandırıcı eğitme için.

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

Yöntemler

Fit(IDataView)

Verileri transformatöre sığdırma

GetOutputSchema(SchemaShape)

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

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

Uzantı Metotları

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

Tahmin aracı zincirine bir 'önbelleğe alma denetim noktası' ekler. Bu, aşağı akış tahmincilerinin önbelleğe alınan verilere karşı eğitilmesini sağlar. Birden çok veri geçişi alan eğitmenlerden önce bir önbelleğe alma denetim noktası olması yararlıdır.

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

Tahmin aracı verildiğinde, çağrıldıktan sonra Fit(IDataView) temsilci ç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 nesneye sahip 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ülü olduğu bir tahmin aracı zinciri oluşturmamız gerekebilir. Bu senaryo için, bu yöntem aracılığıyla sığdır çağrıldıktan sonra çağrılacak bir temsilci ekleyebiliriz.

Şunlara uygulanır

Ayrıca bkz.