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 ライトにはそのような概念はありませんでした。
- イディオムの IDataView 動作 w.r.t. 解析エラーが異なります。
- SVM-light の形式には、このローダーの概念で制限しようとする不自然な制限があります。
- 長年にわたって発生したこの形式のいくつかの一般的な"拡張機能"は、多くの場合、いくつかのオプションを指定することによってサポートされ、賢明な場所に対応しています。
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) |
特定 |
Append<TSource,TTrans>(IDataLoader<TSource>, TTrans) |
このデータ ローダーにトランスフォーマーを追加して、新しい複合ローダーを作成します。 |
Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>) |
このデータ ローダーにエスティメーターを追加して、新しい複合ローダー推定器を作成します。 |