Aracılığıyla paylaş


OneVersusAllTrainer Sınıf

Tanım

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

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

Açıklamalar

Bu eğitmeni oluşturmak için OneVersusAll 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 Yes

Eğitim Algoritması Ayrıntıları

Bire bir (OVA) stratejisinde, her sınıf için bir sınıflandırıcı eğitmek için bir ikili sınıflandırma algoritması kullanılır ve bu sınıf diğer tüm sınıflardan ayırt edilir. Tahmin daha sonra bu ikili sınıflandırıcılar çalıştırılarak ve en yüksek güvenilirlik puanına sahip tahmin seçilerek gerçekleştirilir. Bu algoritma, ML.NET'daki ikili sınıflandırıcılardan herhangi biriyle kullanılabilir. Birkaç ikili sınıflandırıcının zaten çok sınıflı sorunlar için uygulaması vardır, bu nedenle kullanıcılar bağlama bağlı olarak birini seçebilir. bir ikili sınıflandırıcının OVA sürümü, örneğin sarmalama LightGbmBinaryTrainer, doğrudan çok sınıflı bir sınıflandırıcı geliştiren sürümünden LightGbmMulticlassTrainerfarklı olabilir. Sınıflandırıcı önbelleğe almaya gerek olmadığını belirtse bile OneVersusAll'ın her zaman önbelleğe alma isteğinde bulunacağını ve veri kümesi üzerinden birden çok geçiş gerçekleştireceğini unutmayın. Sınıflandırıcı bundan yararlanacağını belirtirse bu eğitmen veri işlem hattından normalleştirme ister.

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 tüm sınıflar için L-BFGS geçmişi biçiminde bire bir sınıflandırma modeli için gerekli olduğu gibi tek tek değil, aynı anda ç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 bire bir çok sınıflı sınıflandırıcıyı eğiten için.

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

Yöntemler

Fit(IDataView)

Modeli eğiter MulticlassPredictionTransformer<TModel> .

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.