DataOperationsCatalog.ShuffleRows Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Prohazujte řádky .input
public Microsoft.ML.IDataView ShuffleRows(Microsoft.ML.IDataView input, int? seed = default, int shufflePoolSize = 1000, bool shuffleSource = true);
member this.ShuffleRows : Microsoft.ML.IDataView * Nullable<int> * int * bool -> Microsoft.ML.IDataView
Public Function ShuffleRows (input As IDataView, Optional seed As Nullable(Of Integer) = Nothing, Optional shufflePoolSize As Integer = 1000, Optional shuffleSource As Boolean = true) As IDataView
Parametry
- input
- IDataView
Vstupní data.
Náhodné počáteční. Pokud není zadáno, bude náhodný stav odvozen z objektu MLContext.
- shufflePoolSize
- Int32
Početřádkůch Nastavením této hodnoty na 1 vypnete náhodné náhodné prohazování fondu a ShuffleRows(IDataView, Nullable<Int32>, Int32, Boolean) provedete náhodné prohazování input .
- shuffleSource
- Boolean
Pokud falsese transformace nepokusí číst input v náhodném pořadí a k náhodnému prohazování použije pouze sdružování. Tento parametr nemá žádný vliv, CanShuffle pokud je falsevlastnost input .
Návraty
Příklady
using System;
using System.Collections.Generic;
using Microsoft.ML;
namespace Samples.Dynamic
{
public static class ShuffleRows
{
// Sample class showing how to shuffle rows in
// IDataView.
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.
var enumerableOfData = GetSampleTemperatureData(5);
var data = mlContext.Data.LoadFromEnumerable(enumerableOfData);
// Before we apply a filter, examine all the records in the dataset.
Console.WriteLine($"Date\tTemperature");
foreach (var row in enumerableOfData)
{
Console.WriteLine($"{row.Date.ToString("d")}" +
$"\t{row.Temperature}");
}
Console.WriteLine();
// Expected output:
// Date Temperature
// 1/2/2012 36
// 1/3/2012 36
// 1/4/2012 34
// 1/5/2012 35
// 1/6/2012 35
// Shuffle the dataset.
var shuffledData = mlContext.Data.ShuffleRows(data, seed: 123);
// Look at the shuffled data and observe that the rows are in a
// randomized order.
var enumerable = mlContext.Data
.CreateEnumerable<SampleTemperatureData>(shuffledData,
reuseRowObject: true);
Console.WriteLine($"Date\tTemperature");
foreach (var row in enumerable)
{
Console.WriteLine($"{row.Date.ToString("d")}" +
$"\t{row.Temperature}");
}
// Expected output:
// Date Temperature
// 1/4/2012 34
// 1/2/2012 36
// 1/5/2012 35
// 1/3/2012 36
// 1/6/2012 35
}
private class SampleTemperatureData
{
public DateTime Date { get; set; }
public float Temperature { get; set; }
}
/// <summary>
/// Get a fake temperature dataset.
/// </summary>
/// <param name="exampleCount">The number of examples to return.</param>
/// <returns>An enumerable of <see cref="SampleTemperatureData"/>.</returns>
private static IEnumerable<SampleTemperatureData> GetSampleTemperatureData(
int exampleCount)
{
var rng = new Random(1234321);
var date = new DateTime(2012, 1, 1);
float temperature = 39.0f;
for (int i = 0; i < exampleCount; i++)
{
date = date.AddDays(1);
temperature += rng.Next(-5, 5);
yield return new SampleTemperatureData
{
Date = date,
Temperature =
temperature
};
}
}
}
}
Poznámky
ShuffleRows(IDataView, Nullable<Int32>, Int32, Boolean) pomocí přístupu ke streamování prohazuje řádky jakéhokoli vstupu IDataView . Aby se nenačetla celá datová sada v paměti, použije se fond shufflePoolSize řádků k náhodnému výběru řádků k výstupu. Fond je vytvořen z prvních shufflePoolSize řádků v inputsouboru . Řádky se pak náhodně vygenerují z fondu a nahradí se dalším řádkem z input doby, než se vrátí všechny řádky, což vede k nové IDataView stejné velikosti jako input u řádků v randomizovaném pořadí.
CanShuffle Pokud je vlastnost input true, bude také načtena do fondu v náhodném pořadí a nabízí dva zdroje náhodnosti.