SvmLightLoader 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
這會嘗試以接近 SVM 光格式的格式讀取資料,目標是此載入器應該可解譯大部分的 SVM 光格式資料。
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)
- 繼承
-
SvmLightLoader
- 實作
備註
載入器也可能與 SVM 光剖析行為不同,一般方式如下:
- 身為 IDataView ,需要向量才能具有邏輯長度,而且基於實際理由,如果此載入器的輸出具有固定長度向量類型,因為少數估算器和基本定型估算器都接受可變長度向量類型的特徵,則很有説明。 SVM-light 沒有這類概念。
- 慣 IDataView 用語有不同的行為 w.r.t.parse 錯誤。
- SVM-light 的格式有一些限制,其格式不自然,無法嘗試在此載入器的概念中限制。
- 此格式的一些常見「延伸模組」會因應合理之處,通常藉由指定一些選項來支援。
您可以在這裡摘要說明 SVM 光線格式。 從 '#' 開始,SVM-light 檔案可能會導致任意數目的行。 這些會捨棄。 {label}{key}:{value} {key}:{value} ...{key}:{value}[#{comment}]
如果忽略任何) ,則行不會修剪空白字元,但行內的空白字元在 # 批註字元之前 (。 SVM-light 本身使用標準 C 「isspace」 函式,而我們只採用空白字元和定位字元作為空白字元。 因此,上述這一行中的空格可以是,例如,索引標籤,甚至可能會依序顯示多個空格。 例如,與文字載入器的格式不同,沒有任何「空白」欄位具有任何狀態的概念。
特徵向量是透過一系列索引鍵/值組來指定。 SVM 光要求索引鍵為正數、增加整數,但除了三個特殊索引鍵之外:成本 (我們解譯為 Weight) ,qid (我們解譯為 GroupId) 和 sid (我們忽略這些索引鍵,但如果任何學習者實作任何類似寬限時間識別碼) ,則未來可能會將它們呈現為數據行。 'cost' 的值是 float、'qid' 是 long,而 'sid' 是必須是正數的 long。 如果多次指定這些金鑰,最後一個金鑰就會獲勝。
如果值的尾端無法解譯為數字,則 SVM-light 會忽略尾端。 例如,「5:3.14hello」 會解譯為與 「5:3.14」 相同的 。 此載入器不支援此語法。
由於我們撰寫特徵向量的方式,我們不會保留需要增加載入器中值之索引鍵的限制,但如果仍然遵循此原則,則最有效率。 如果遵循排序,則不需要排序。
此載入器有特殊選項可讀取索引鍵的原始文字,並轉換成特徵索引,並將文字索引鍵值保留為結果特徵向量的功能名稱。 這是允許字串索引鍵的意圖,這是格式的常見變體,但原始格式不允許一個明確表示。
方法
GetOutputSchema() |
這會嘗試以接近 SVM 光格式的格式讀取資料,目標是此載入器應該可解譯大部分的 SVM 光格式資料。 |
Load(IMultiStreamSource) |
這會嘗試以接近 SVM 光格式的格式讀取資料,目標是此載入器應該可解譯大部分的 SVM 光格式資料。 |
明確介面實作
ICanSaveModel.Save(ModelSaveContext) |
這會嘗試以接近 SVM 光格式的格式讀取資料,目標是此載入器應該可解譯大部分的 SVM 光格式資料。 |
擴充方法
Preview<TSource>(IDataLoader<TSource>, TSource, Int32) |
預覽在指定 |
Append<TSource,TTrans>(IDataLoader<TSource>, TTrans) |
藉由將轉換器附加至此資料載入器,以建立新的複合載入器。 |
Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>) |
藉由將估算器附加至此資料載入器,以建立新的複合載入器估算器。 |