DataViewRowCursor クラス

定義

IDataViewの行をカーソルで移動するために使用されるクラス。

public abstract class DataViewRowCursor : Microsoft.ML.DataViewRow
type DataViewRowCursor = class
    inherit DataViewRow
Public MustInherit Class DataViewRowCursor
Inherits DataViewRow
継承
DataViewRowCursor

注釈

これも DataViewRowであることに注意してください。 PositionMoveNext()ずつインクリメントされます。 MoveNext()の最初の呼び出しの前、またはMoveNext()falseを返した後、Position-1。 それ以外の場合、 MoveNext()trueを返す場合は、 Position> = 0 です。

コンストラクター

名前 説明
DataViewRowCursor()

IDataViewの行をカーソルで移動するために使用されるクラス。

プロパティ

名前 説明
Batch

これにより、一般的に GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random)から生成された複数の行を調整する手段が提供されます。 セットを取得するときは、並列処理を続行できる一方で、元の注文を回復可能にする必要があることを常に目指す必要があります。 ユーザーが特定のアプリケーションでその元の順序を気にするかどうかは別の話です (実用的な問題としてこの呼び出し元のほとんどは呼び出しません。そうしないと呼び出されません)、少なくとも原則として、同じ構成の GetRowCursor(IEnumerable<DataViewSchema.Column>, Random)から元の順序を再構築できる必要があります。 そのため、カーソルの実装では、バッチ番号は減少しない必要があります。 さらに、指定されたバッチ番号は、 GetRowCursorSet(IEnumerable<DataViewSchema.Column>, Int32, Random)によって返されるカーソルの 1 つにのみ表示されます。 このようにして、順序はバッチ番号によって決定されます。 これらのカーソルを調整して一貫性のある単一カーソルを生成する操作は、使用可能な最小のバッチ番号を持つセット内のすべてのカーソルの中で、1 つのカーソルから描画することによって行うことができます。

一貫性によって全体的な順序が同じになる点を除き、特定のエントリのバッチがカーソル位置からカーソル位置まで一貫していることを示す提案はありません。 同じエントリに、カーソルを置くバッチ番号が異なる場合があります。 また、指定されたバッチ番号を表示する必要があることもまったく必要ありません。 これは、データの任意のパーティション分割から順序を回復するためのメカニズムにすぎません。 もちろん、バッチをデータのプロパティと見なしても完全に無効です。

(継承元 DataViewRow)
Position

これは、基になるコンテンツが変更されたときにインクリメントされ、クライアントに変更を検出する方法が提供されます。 オブジェクトが値をフェッチできない状態にある場合は、-1 する必要があります。 特に、 DataViewRowCursorの場合、これは初めて呼び出された場合は MoveNext() 前、または初めて MoveNext() が呼び出されて falseを返した後になります。

この位置は基になるデータ内の位置ではなく、このカーソルの位置のみであることに注意してください。 たとえば、並列ストリーミング カーソルのセットやシャッフル されたカーソルを開いた場合、このようなカーソルの最初の有効なエントリの位置は常に 0 になります。

(継承元 DataViewRow)
Schema

Schemaを取得します。この行に格納されている変数 (つまり、ML.NET の型システムの列) の名前と型情報を提供します。

(継承元 DataViewRow)

メソッド

名前 説明
Dispose()

Dispose の実装。 Dispose(Boolean)を使用してtrueを呼び出します。

(継承元 DataViewRow)
Dispose(Boolean)

破棄可能なパターンの破棄可能なメソッド。 この既定の実装では何も行われません。

(継承元 DataViewRow)
GetGetter<TValue>(DataViewSchema+Column)

指定した columnの値を行からフェッチする値ゲッター デリゲートを返します。 これは、列がこの行でアクティブでない場合、または型 TValue この列の型と異なる場合にスローされます。

(継承元 DataViewRow)
GetIdGetter()

128 ビット ID 値のゲッター。 オブジェクトが複数の DataViewRow インスタンスにサービスを提供して、同じデータであるはずのデータを反復処理するのが一般的です。たとえば、 IDataView カーソル セットでは、シリアル カーソルと同じデータが生成され、パーティション分割され、シャッフルされたカーソルはシリアル カーソルまたは他のシャッフルされたカーソルと同じデータを生成します。 シャッフルのみ。 ID は、どのエントリが実際にどのエントリであるかを調整する必要があるアプリケーションに対して存在します。 理想的には、この ID は一意である必要がありますが、実際上の理由から、衝突が非常にあり得ない場合は十分です。

この ID は、上記のセマンティクスに従って複数のストリームに対して一貫性が必要ですが、それ自体はデータの一部とは見なされないことに注意してください。 したがって、データ ビューの例を具体的に見ると、1 つのデータ ビューですべてのカーソル間で一貫性のある ID をレンダリングする必要がありますが、"同じ" データが別のデータ ビュー (たとえば、変換、キャッシュ、保存など) で表示された場合、2 つの異なるデータ ビュー間の ID には識別可能な関係があることをまったく提案しません。

(継承元 DataViewRow)
IsColumnActive(DataViewSchema+Column)

指定された列がこの行でアクティブかどうかを返します。

(継承元 DataViewRow)
MoveNext()

次の行に進みます。 カーソルが最初に作成されるときに、このメソッドを呼び出して最初の行に移動する必要があります。 行がなくなった場合は false を返します。

適用対象