DataOperationsCatalog.LoadFromEnumerable Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| LoadFromEnumerable<TRow>(IEnumerable<TRow>, SchemaDefinition) |
Erstellen Sie eine neue IDataView Aufzählung der Elemente eines benutzerdefinierten Typs.
Der Benutzer behält den Besitz der Eine typische Verwendung für die Streamingdatenansicht könnte sein: Erstellen Sie die Datenansicht, die Daten nach Bedarf lazily lädt, und wenden Sie dann vorab trainierte Transformationen darauf an, und cursorn Sie durch sie für Transformationsergebnisse. |
| LoadFromEnumerable<TRow>(IEnumerable<TRow>, DataViewSchema) |
Erstellen Sie mithilfe des bereitgestellten DataViewSchemaTyps eine neue IDataView Aufzählung der Elemente benutzerdefinierter Typen, die möglicherweise mehr Informationen zum Schema enthalten, als der Typ erfassen kann. |
LoadFromEnumerable<TRow>(IEnumerable<TRow>, SchemaDefinition)
- Quelle:
- DataOperationsCatalog.cs
- Quelle:
- DataOperationsCatalog.cs
- Quelle:
- DataOperationsCatalog.cs
Erstellen Sie eine neue IDataView Aufzählung der Elemente eines benutzerdefinierten Typs.
Der Benutzer behält den Besitz der data Und die resultierende Datenansicht ändert niemals den Inhalt der data.
Da IDataView angenommen wird, dass sie unveränderlich ist, wird erwartet, dass der Benutzer mehrere Aufzählungen der data Ergebnisse unterstützt, die dieselben Ergebnisse zurückgeben würden, es sei denn, der Benutzer weiß, dass die Daten nur einmal cursoriert werden.
Eine typische Verwendung für die Streamingdatenansicht könnte sein: Erstellen Sie die Datenansicht, die Daten nach Bedarf lazily lädt, und wenden Sie dann vorab trainierte Transformationen darauf an, und cursorn Sie durch sie für Transformationsergebnisse.
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
Typparameter
- TRow
Der benutzerdefinierte Elementtyp.
Parameter
- data
- IEnumerable<TRow>
Die aufzählbaren Daten, die den Typ TRow enthalten, der in ein IDataView.
- schemaDefinition
- SchemaDefinition
Die optionale Schemadefinition der zu erstellenden Datenansicht. Wenn nulldie Schemadefinition von TRow.
Gibt zurück
Das gebaute IDataView.
Beispiele
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; }
}
}
Gilt für:
LoadFromEnumerable<TRow>(IEnumerable<TRow>, DataViewSchema)
- Quelle:
- DataOperationsCatalog.cs
- Quelle:
- DataOperationsCatalog.cs
- Quelle:
- DataOperationsCatalog.cs
Erstellen Sie mithilfe des bereitgestellten DataViewSchemaTyps eine neue IDataView Aufzählung der Elemente benutzerdefinierter Typen, die möglicherweise mehr Informationen zum Schema enthalten, als der Typ erfassen kann.
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
Typparameter
- TRow
Der benutzerdefinierte Elementtyp.
Parameter
- data
- IEnumerable<TRow>
Die aufzählbaren Daten, die den Typ TRow enthalten, der in ein IDataView.
- schema
- DataViewSchema
Das Schema des zurückgegebenen IDataView.
Gibt zurück
Eine IDataView mit der gegebenen schema.
Hinweise
Der Benutzer behält den Besitz der data Und die resultierende Datenansicht ändert niemals den Inhalt der data. Da IDataView angenommen wird, dass sie unveränderlich ist, wird erwartet, dass der Benutzer mehrere Aufzählungen der data Ergebnisse unterstützt, die dieselben Ergebnisse zurückgeben würden, es sei denn, der Benutzer weiß, dass die Daten nur einmal cursoriert werden. Eine typische Verwendung für die Streamingdatenansicht könnte sein: Erstellen Sie die Datenansicht, die Daten nach Bedarf lazily lädt, und wenden Sie dann vorab trainierte Transformationen darauf an, und cursorn Sie durch sie für Transformationsergebnisse. Eine praktische Verwendung wäre die Bereitstellung der Featurespaltennamen über die DataViewSchema.Annotations.