SvmLightLoader Sınıf

Tanım

Bu, verileri SVM-light biçimine yakın bir biçimde okumaya çalışır. Hedef, SVM-light biçimli verilerin çoğunluğunun bu yükleyici tarafından yorumlanabilir olmasıdır.

public sealed class SvmLightLoader : Microsoft.ML.IDataLoader<Microsoft.ML.Data.IMultiStreamSource>
type SvmLightLoader = class
    interface IDataLoader<IMultiStreamSource>
    interface ICanSaveModel
Public NotInheritable Class SvmLightLoader
Implements IDataLoader(Of IMultiStreamSource)
Devralma
SvmLightLoader
Uygulamalar

Açıklamalar

Yükleyici, aşağıdaki genel yollarla SVM-light'ın ayrıştırma davranışından da farklı olabilir:

  1. olarak IDataView, vektörlerin mantıksal bir uzunluğa sahip olması gerekir ve pratik nedenlerden dolayı, bu yükleyicinin çıkışı sabit uzunlukta vektör türüne sahipse yararlıdır çünkü az sayıda tahmin aracı ve temel eğitmen tahmin aracı değişken uzunlukta vektör türlerinin özelliklerini kabul etmemektedir. SVM-light'ın böyle bir kavramı yoktu.
  2. Deyimin IDataView farklı davranış w.r.t. ayrıştırma hataları vardır.
  3. SVM-light, biçiminde bu yükleyici kavramını kısıtlamaya çalışmak için doğal olmayan bazı kısıtlamalara sahiptir.
  4. Bu biçimin yıllar içinde gerçekleşen bazı yaygın "uzantıları", mantıklı yerlerde barındırılır ve genellikle bazı seçenekler belirtilerek desteklenir.

SVM-light biçimi burada özetlenebilir. SVM-light dosyası, '#' ile başlayan herhangi bir sayıda satıra yol açabilir. Bunlar atılır. {label} {key}:{value} {key}:{value} ... {key}:{value}[#{comment}]

Satırlar, # açıklama karakteri (varsa) yoksayılmadan önce satır içinde boşluk olsa da boşluk kırpılmaz. SVM-light standart C "isspace" işlevini kullanırken biz boşluk olarak yalnızca boşluk ve sekmeye saygı gösteririz. Bu nedenle, yukarıdaki satırdaki boşluklar, örneğin sekmeler olabilir ve hatta sıralı olarak birden fazla boşluk olabilir. Örneğin, metin yükleyicisinin biçiminden farklı olarak, "boş" alanın durumu yoktur.

Özellik vektör, bir dizi anahtar/değer çifti aracılığıyla belirtilir. SVM-light, anahtarların pozitif olmasını ve üç özel anahtar dışında tamsayıları artırmasını gerektirir: maliyet (Ağırlık olarak yorumlayacağız), qid (GroupId olarak yorumlayacağız) ve sid (bunları yoksayarız, ancak gelecekte herhangi bir öğrencimiz Slack id'ye benzer bir şey uygularsa bunları sütun olarak sunabilir). 'maliyet' değeri float, 'qid' uzun ve 'sid' değeri pozitif olması gereken uzun bir değerdir. Bu anahtarlar birden çok kez belirtilirse, sonuncusu kazanır.

SVM-light değerin kuyruğu sayı olarak yorumlanamazsa kuyruğu yoksayar. Örneğin, "5:3.14hello" "5:3.14" ile aynı şekilde yorumlanır. Bu yükleyici bu söz dizimlerini desteklemiyor.

Özellik vektörlerimizi oluşturma şeklimiz nedeniyle, yükleyicimizde değerleri artırması gereken anahtarlar üzerindeki kısıtlamayı korumayız, ancak bu ilkenin hala izlenmesi durumunda en verimli yöntem olacaktır. Takip edilirse bir sıralama gerekmez.

Bu yükleyici, anahtarlar için ham metni okumak ve özellik dizinlerine dönüştürmek için özel seçeneğe sahiptir ve sonuçta elde edilen özellik vektörün özellik adları olarak metin anahtarı değerlerini korur. Bunun amacı, biçimin ortak bir çeşidi olan dize anahtarlarına izin vermektir, ancak özgün biçim tarafından açık bir şekilde buna izin verilmez.

Yöntemler

GetOutputSchema()

Bu, verileri SVM-light biçimine yakın bir biçimde okumaya çalışır. Hedef, SVM-light biçimli verilerin çoğunluğunun bu yükleyici tarafından yorumlanabilir olmasıdır.

Load(IMultiStreamSource)

Bu, verileri SVM-light biçimine yakın bir biçimde okumaya çalışır. Hedef, SVM-light biçimli verilerin çoğunluğunun bu yükleyici tarafından yorumlanabilir olmasıdır.

Belirtik Arabirim Kullanımları

ICanSaveModel.Save(ModelSaveContext)

Bu, verileri SVM-light biçimine yakın bir biçimde okumaya çalışır. Hedef, SVM-light biçimli verilerin çoğunluğunun bu yükleyici tarafından yorumlanabilir olmasıdır.

Uzantı Metotları

Preview<TSource>(IDataLoader<TSource>, TSource, Int32)

öğesinin belirli bir üzerindeki etkisinin önizlemesini loader görüntüleme source.

Append<TSource,TTrans>(IDataLoader<TSource>, TTrans)

Bu veri yükleyiciye bir transformatör ekleyerek yeni bir bileşik yükleyici oluşturun.

Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>)

Bu veri yükleyiciye bir tahmin aracı ekleyerek yeni bir bileşik yükleyici tahmin aracı oluşturun.

Şunlara uygulanır