Dil

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 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 Evet

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 da bu sınıfı diğer tüm sınıflardan ayırır. 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. İkili sınıflandırıcının sarmalama LightGbmBinaryTrainergibi OVA sürümü, 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,veri kümesi üzerinden birden çok geçiş gerçekleştireceği için her zaman önbelleğe alma isteğinde bulunur. Sınıflandırıcı bundan yararlanacağını belirtiyorsa bu eğitmen veri işlem hattından normalleştirme ister.

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 tüm sınıflar için aynı anda L-BFGS geçmişi biçiminde çok daha fazla ara durum depolamasını gerektirir; teke tek sınıflandırma modeli için tek tek değil.

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 bire bir çok sınıflı sınıflandırıcıyı eğiten için.

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

Yöntemler

Name Description
Fit(IDataView)

Modeli eğiter MulticlassPredictionTransformer<TModel> .

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.