Share via


TextLoaderSaverCatalog.SaveAsText 方法

定義

另存 IDataView 成文字。

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)

參數

data
IDataView

要儲存的資料檢視。

stream
Stream

要寫入的資料流。

separatorChar
Char

資料行分隔符號。

headerRow
Boolean

是否要寫入標頭資料列。

schema
Boolean

是否要以架構撰寫標頭批註。

keepHidden
Boolean

是否要在資料集中保留隱藏的資料行。

forceDense
Boolean

即使資料行是疏鬆向量,還是要以密集格式儲存資料行。

範例

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; }
        }
    }
}

適用於