NormalizationCatalog.NormalizeGlobalContrast Methode

Definition

Erstellen Sie eine GlobalContrastNormalizingEstimator, die Spalten einzeln normalisiert, wobei die normalisierung des globalen Kontrasts angewendet wird. Die Einstellung ensureZeroMean auf true, wendet einen Vorverarbeitungsschritt an, um den Mittelwert der angegebenen Spalte als Nullvektor festzulegen.

public static Microsoft.ML.Transforms.GlobalContrastNormalizingEstimator NormalizeGlobalContrast(this Microsoft.ML.TransformsCatalog catalog, string outputColumnName, string inputColumnName = default, bool ensureZeroMean = true, bool ensureUnitStandardDeviation = false, float scale = 1);
static member NormalizeGlobalContrast : Microsoft.ML.TransformsCatalog * string * string * bool * bool * single -> Microsoft.ML.Transforms.GlobalContrastNormalizingEstimator
<Extension()>
Public Function NormalizeGlobalContrast (catalog As TransformsCatalog, outputColumnName As String, Optional inputColumnName As String = Nothing, Optional ensureZeroMean As Boolean = true, Optional ensureUnitStandardDeviation As Boolean = false, Optional scale As Single = 1) As GlobalContrastNormalizingEstimator

Parameter

catalog
TransformsCatalog

Der Katalog der Transformation.

outputColumnName
String

Name der Spalte, die sich aus der Transformation von inputColumnName. Der Datentyp dieser Spalte entspricht dem Datentyp der Eingabespalte.

inputColumnName
String

Name der spalte, die normalisiert werden soll. Bei Festlegung auf null, wird der Wert des Werts outputColumnName als Quelle verwendet. Dieser Schätzer arbeitet über bekannte Vektoren von Single.

ensureZeroMean
Boolean

Subtrahieren trueSie den Mittelwert von jedem Wert, bevor sie normalisiert werden, und verwenden Sie andernfalls die Roheingabe.

ensureUnitStandardDeviation
Boolean

Wenn truedie Standardabweichung des resultierenden Vektors eine ist. Andernfalls wäre die L2-Norm des resultierenden Vektors eins.

scale
Single

Skalieren Sie Features anhand dieses Werts.

Gibt zurück

Beispiele

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

namespace Samples.Dynamic
{
    class NormalizeGlobalContrast
    {
        public static void Example()
        {
            // Create a new ML context, for ML.NET operations. It can be used for
            // exception tracking and logging, as well as the source of randomness.
            var mlContext = new MLContext();
            var samples = new List<DataPoint>()
            {
                new DataPoint(){ Features = new float[4] { 1, 1, 0, 0} },
                new DataPoint(){ Features = new float[4] { 2, 2, 0, 0} },
                new DataPoint(){ Features = new float[4] { 1, 0, 1, 0} },
                new DataPoint(){ Features = new float[4] { 0, 1, 0, 1} }
            };
            // Convert training data to IDataView, the general data type used in
            // ML.NET.
            var data = mlContext.Data.LoadFromEnumerable(samples);
            var approximation = mlContext.Transforms.NormalizeGlobalContrast(
                "Features", ensureZeroMean: false, scale: 2,
                ensureUnitStandardDeviation: true);

            // Now we can transform the data and look at the output to confirm the
            // behavior of the estimator. This operation doesn't actually evaluate
            // data until we read the data below.
            var tansformer = approximation.Fit(data);
            var transformedData = tansformer.Transform(data);

            var column = transformedData.GetColumn<float[]>("Features").ToArray();
            foreach (var row in column)
                Console.WriteLine(string.Join(", ", row.Select(x => x.ToString(
                    "f4"))));
            // Expected output:
            //  2.0000, 2.0000,-2.0000,-2.0000
            //  2.0000, 2.0000,-2.0000,-2.0000
            //  2.0000,-2.0000, 2.0000,-2.0000
            //- 2.0000, 2.0000,-2.0000, 2.0000
        }

        private class DataPoint
        {
            [VectorType(4)]
            public float[] Features { get; set; }
        }
    }
}

Gilt für: