TextLoaderSaverCatalog.SaveAsText Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Save the IDataView as text.
public static void SaveAsText (this Microsoft.ML.DataOperationsCatalog catalog, Microsoft.ML.IDataView data, System.IO.Stream stream, char separatorChar = '\t', bool headerRow = true, bool schema = true, bool keepHidden = false, bool forceDense = false);
static member SaveAsText : Microsoft.ML.DataOperationsCatalog * Microsoft.ML.IDataView * System.IO.Stream * char * bool * bool * bool * bool -> unit
<Extension()>
Public Sub SaveAsText (catalog As DataOperationsCatalog, data As IDataView, stream As Stream, Optional separatorChar As Char = '\t', Optional headerRow As Boolean = true, Optional schema As Boolean = true, Optional keepHidden As Boolean = false, Optional forceDense As Boolean = false)
Parameters
- catalog
- DataOperationsCatalog
The DataOperationsCatalog catalog.
- data
- IDataView
The data view to save.
- stream
- Stream
The stream to write to.
- separatorChar
- Char
The column separator.
- headerRow
- Boolean
Whether to write the header row.
- schema
- Boolean
Whether to write the header comment with the schema.
- keepHidden
- Boolean
Whether to keep hidden columns in the dataset.
- forceDense
- Boolean
Whether to save columns in dense format even if they are sparse vectors.
Examples
using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.ML;
namespace Samples.Dynamic
{
public static class SaveAndLoadFromText
{
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. Setting the seed to a fixed number
// in this example to make outputs deterministic.
var mlContext = new MLContext(seed: 0);
// Create a list of training data points.
var dataPoints = new List<DataPoint>()
{
new DataPoint(){ Label = 0, Features = 4},
new DataPoint(){ Label = 0, Features = 5},
new DataPoint(){ Label = 0, Features = 6},
new DataPoint(){ Label = 1, Features = 8},
new DataPoint(){ Label = 1, Features = 9},
};
// Convert the list of data points to an IDataView object, which is
// consumable by ML.NET API.
IDataView data = mlContext.Data.LoadFromEnumerable(dataPoints);
// Create a FileStream object and write the IDataView to it as a text
// file.
using (FileStream stream = new FileStream("data.tsv", FileMode.Create))
mlContext.Data.SaveAsText(data, stream);
// Create an IDataView object by loading the text file.
IDataView loadedData = mlContext.Data.LoadFromTextFile("data.tsv");
// Inspect the data that is loaded from the previously saved text file.
var loadedDataEnumerable = mlContext.Data
.CreateEnumerable<DataPoint>(loadedData, reuseRowObject: false);
foreach (DataPoint row in loadedDataEnumerable)
Console.WriteLine($"{row.Label}, {row.Features}");
// Preview of the loaded data.
// 0, 4
// 0, 5
// 0, 6
// 1, 8
// 1, 9
}
// Example with label and feature values. A data set is a collection of such
// examples.
private class DataPoint
{
public float Label { get; set; }
public float Features { get; set; }
}
}
}