次の方法で共有


DataOperationsCatalog.LoadFromEnumerable メソッド

定義

オーバーロード

LoadFromEnumerable<TRow>(IEnumerable<TRow>, SchemaDefinition)

ユーザー定義型の項目の列挙可能な上に新しい IDataView 項目を作成します。 ユーザーは、そのデータ ビューの所有権を data 保持し、結果のデータ ビューで data. 不変であると見なされるため IDataView 、ユーザーは、データが 1 回だけカーソルを置くという認識がない限り、同じ結果を返す複数の列挙体 data をサポートすることが期待されます。

ストリーミング データ ビューの一般的な用途の 1 つは、必要に応じてデータを遅延読み込むデータ ビューを作成し、事前にトレーニングされた変換を適用し、変換結果をカーソルで移動することです。

LoadFromEnumerable<TRow>(IEnumerable<TRow>, DataViewSchema)

指定したDataViewSchema型を使用して、ユーザー定義型の項目の列挙可能な項目に対して新しいIDataView値を作成します。この項目には、型がキャプチャできるよりもスキーマに関する詳細情報が含まれている可能性があります。

LoadFromEnumerable<TRow>(IEnumerable<TRow>, SchemaDefinition)

ユーザー定義型の項目の列挙可能な上に新しい IDataView 項目を作成します。 ユーザーは、そのデータ ビューの所有権を data 保持し、結果のデータ ビューで data. 不変であると見なされるため IDataView 、ユーザーは、データが 1 回だけカーソルを置くという認識がない限り、同じ結果を返す複数の列挙体 data をサポートすることが期待されます。

ストリーミング データ ビューの一般的な用途の 1 つは、必要に応じてデータを遅延読み込むデータ ビューを作成し、事前にトレーニングされた変換を適用し、変換結果をカーソルで移動することです。

public Microsoft.ML.IDataView LoadFromEnumerable<TRow> (System.Collections.Generic.IEnumerable<TRow> data, Microsoft.ML.Data.SchemaDefinition schemaDefinition = default) where TRow : class;
member this.LoadFromEnumerable : seq<'Row (requires 'Row : null)> * Microsoft.ML.Data.SchemaDefinition -> Microsoft.ML.IDataView (requires 'Row : null)
Public Function LoadFromEnumerable(Of TRow As Class) (data As IEnumerable(Of TRow), Optional schemaDefinition As SchemaDefinition = Nothing) As IDataView

型パラメーター

TRow

ユーザー定義項目の種類。

パラメーター

data
IEnumerable<TRow>

に変換IDataViewする型TRowを含む列挙可能なデータ。

schemaDefinition
SchemaDefinition

作成するデータ ビューの省略可能なスキーマ定義。 の場合 null、スキーマ定義が推論されます TRow

戻り値

構築された IDataView.

using System;
using System.Collections.Generic;
using Microsoft.ML;
using Microsoft.ML.Data;

namespace Samples.Dynamic
{
    public static class LoadFromEnumerable
    {
        // Creating IDataView from IEnumerable, and setting the size of the vector
        // at runtime. When the data model is defined through types, setting the
        // size of the vector is done through the VectorType annotation. When the
        // size of the data is not known at compile time, the Schema can be directly
        // modified at runtime and the size of the vector set there. This is
        // important, because most of the ML.NET trainers require the Features
        // vector to be of known size. 
        public static void Example()
        {
            // Create a new context for ML.NET operations. It can be used for
            // exception tracking and logging, as a catalog of available operations
            // and as the source of randomness.
            var mlContext = new MLContext();

            // Get a small dataset as an IEnumerable.
            IEnumerable<DataPointVector> enumerableKnownSize = new DataPointVector[]
            {
               new DataPointVector{ Features = new float[]{ 1.2f, 3.4f, 4.5f, 3.2f,
                   7,5f } },

               new DataPointVector{ Features = new float[]{ 4.2f, 3.4f, 14.65f,
                   3.2f, 3,5f } },

               new DataPointVector{ Features = new float[]{ 1.6f, 3.5f, 4.5f, 6.2f,
                   3,5f } },

            };

            // Load dataset into an IDataView. 
            IDataView data = mlContext.Data.LoadFromEnumerable(enumerableKnownSize);
            var featureColumn = data.Schema["Features"].Type as VectorDataViewType;
            // Inspecting the schema
            Console.WriteLine($"Is the size of the Features column known: " +
                $"{featureColumn.IsKnownSize}.\nSize: {featureColumn.Size}");

            // Preview
            //
            // Is the size of the Features column known? True.
            // Size: 5.

            // If the size of the vector is unknown at compile time, it can be set 
            // at runtime.
            IEnumerable<DataPoint> enumerableUnknownSize = new DataPoint[]
            {
               new DataPoint{ Features = new float[]{ 1.2f, 3.4f, 4.5f } },
               new DataPoint{ Features = new float[]{ 4.2f, 3.4f, 1.6f } },
               new DataPoint{ Features = new float[]{ 1.6f, 3.5f, 4.5f } },
            };

            // The feature dimension (typically this will be the Count of the array 
            // of the features vector known at runtime).
            int featureDimension = 3;
            var definedSchema = SchemaDefinition.Create(typeof(DataPoint));
            featureColumn = definedSchema["Features"]
                .ColumnType as VectorDataViewType;

            Console.WriteLine($"Is the size of the Features column known: " +
                $"{featureColumn.IsKnownSize}.\nSize: {featureColumn.Size}");

            // Preview
            //
            // Is the size of the Features column known? False.
            // Size: 0.

            // Set the column type to be a known-size vector.
            var vectorItemType = ((VectorDataViewType)definedSchema[0].ColumnType)
                .ItemType;
            definedSchema[0].ColumnType = new VectorDataViewType(vectorItemType,
                featureDimension);

            // Read the data into an IDataView with the modified schema supplied in
            IDataView data2 = mlContext.Data
                .LoadFromEnumerable(enumerableUnknownSize, definedSchema);

            featureColumn = data2.Schema["Features"].Type as VectorDataViewType;
            // Inspecting the schema
            Console.WriteLine($"Is the size of the Features column known: " +
                $"{featureColumn.IsKnownSize}.\nSize: {featureColumn.Size}");

            // Preview
            //
            // Is the size of the Features column known? True. 
            // Size: 3.
        }
    }

    public class DataPoint
    {
        public float[] Features { get; set; }
    }

    public class DataPointVector
    {
        [VectorType(5)]
        public float[] Features { get; set; }
    }
}

適用対象

LoadFromEnumerable<TRow>(IEnumerable<TRow>, DataViewSchema)

指定したDataViewSchema型を使用して、ユーザー定義型の項目の列挙可能な項目に対して新しいIDataView値を作成します。この項目には、型がキャプチャできるよりもスキーマに関する詳細情報が含まれている可能性があります。

public Microsoft.ML.IDataView LoadFromEnumerable<TRow> (System.Collections.Generic.IEnumerable<TRow> data, Microsoft.ML.DataViewSchema schema) where TRow : class;
member this.LoadFromEnumerable : seq<'Row (requires 'Row : null)> * Microsoft.ML.DataViewSchema -> Microsoft.ML.IDataView (requires 'Row : null)
Public Function LoadFromEnumerable(Of TRow As Class) (data As IEnumerable(Of TRow), schema As DataViewSchema) As IDataView

型パラメーター

TRow

ユーザー定義項目の種類。

パラメーター

data
IEnumerable<TRow>

に変換IDataViewする型TRowを含む列挙可能なデータ。

schema
DataViewSchema

返される IDataViewスキーマ。

戻り値

指定IDataViewschemaした値を持つ .

注釈

ユーザーは、そのデータ ビューの所有権を data 保持し、結果のデータ ビューで data. 不変であると見なされるため IDataView 、ユーザーは、データが 1 回だけカーソルを置くという認識がない限り、同じ結果を返す複数の列挙体 data をサポートすることが期待されます。 ストリーミング データ ビューの一般的な用途の 1 つは、必要に応じてデータを遅延読み込むデータ ビューを作成し、事前にトレーニングされた変換を適用し、変換結果をカーソルで移動することです。 この実用的な使用方法の 1 つは、機能の列名を を使用して DataViewSchema.Annotations指定することです。

適用対象