Share via


SvmLightLoader クラス

定義

これにより、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 ライトの解析動作とは異なる場合もあります。

  1. IDataViewベクトルは論理長を持つ必要があり、実際的な理由から、このローダーの出力に固定長ベクトル型がある場合に役立ちます。これは、推定器が少なく、基本的なトレーナー推定器が可変長ベクトル型の特徴を受け入れないためです。 SVM ライトにはそのような概念はありませんでした。
  2. イディオムの IDataView 動作 w.r.t. 解析エラーが異なります。
  3. SVM-light の形式には、このローダーの概念で制限しようとする不自然な制限があります。
  4. 長年にわたって発生したこの形式のいくつかの一般的な"拡張機能"は、多くの場合、いくつかのオプションを指定することによってサポートされ、賢明な場所に対応しています。

SVM ライト形式は、ここで要約できます。 SVM ライト ファイルでは、'#' で始まる任意の数の行が含まれる可能性があります。 これらは破棄されます。 {label}{key}:{value} {key}:{value} ...{key}:{value}[#{comment}]

行は空白文字ではありません。ただし、行内の空白文字は、#コメント文字の前 (存在する場合) は無視されます。 SVM ライト自体は標準の C "isspace" 関数を使用しますが、空白はスペースとタブのみを考慮します。 したがって、上の行のスペースは、たとえばタブであり、順番に複数のスペースが存在する可能性もあります。 たとえば、テキスト ローダーの形式とは異なり、状態を持つ "空白" フィールドの概念はありません。

特徴ベクトルは、一連のキーと値のペアを使用して指定されます。 SVM ライトでは、コスト (重みとして解釈されます)、qid (GroupId として解釈されます)、sid (これらは無視されますが、いずれかの学習器が Slack ID に似たものを実装する場合は、将来列として表示される可能性があります) という 3 つの特殊なキーを除き、キーは正の整数である必要があります。 'cost' の値は float、'qid' は long、'sid' は正である必要がある long です。 これらのキーを複数回指定すると、最後のキーが優先されます。

SVM ライトは、値の末尾が数値として解釈できない場合、末尾を無視します。 たとえば、"5:3.14hello" は "5:3.14" と同じように解釈されます。 このローダーでは、この構文はサポートされていません。

機能ベクトルの構成方法により、ローダーで値を増やす必要があるキーに対する制限は保持されませんが、このポリシーに従っている場合は最も効率的です。 その後に続く場合、並べ替えは必要ありません。

このローダーには、キーの生のテキストを読み取り、特徴インデックスに変換する特別なオプションがあり、テキスト キーの値は結果の特徴ベクトルの特徴名として保持されます。 この目的は、文字列キー (形式の一般的なバリアント) を許可することですが、元の形式では 1 つは強く許可されません。

メソッド

GetOutputSchema()

これにより、SVM ライト形式に近い形式でデータを読み取ろうとします。目標は、SVM ライト形式のデータの大部分をこのローダーで解釈できるようにすることです。

Load(IMultiStreamSource)

これにより、SVM ライト形式に近い形式でデータを読み取ろうとします。目標は、SVM ライト形式のデータの大部分をこのローダーで解釈できるようにすることです。

明示的なインターフェイスの実装

ICanSaveModel.Save(ModelSaveContext)

これにより、SVM ライト形式に近い形式でデータを読み取ろうとします。目標は、SVM ライト形式のデータの大部分をこのローダーで解釈できるようにすることです。

拡張メソッド

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

特定sourceのオブジェクトに対するloader効果をプレビューします。

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

このデータ ローダーにトランスフォーマーを追加して、新しい複合ローダーを作成します。

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

このデータ ローダーにエスティメーターを追加して、新しい複合ローダー推定器を作成します。

適用対象