Udostępnij za pośrednictwem


NormalizationCatalog.NormalizeGlobalContrast Metoda

Definicja

Utwórz obiekt GlobalContrastNormalizingEstimator, który normalizuje kolumny indywidualnie stosując normalizację kontrastu globalnego. Ustawienie ensureZeroMean wartości truespowoduje zastosowanie kroku przetwarzania wstępnego w celu ustawienia średniej określonej kolumny jako wektora zerowego.

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

Parametry

catalog
TransformsCatalog

Wykaz przekształcenia.

outputColumnName
String

Nazwa kolumny wynikającej z przekształcenia elementu inputColumnName. Typ danych tej kolumny będzie taki sam jak typ danych kolumny wejściowej.

inputColumnName
String

Nazwa kolumny do normalizacji. W przypadku ustawienia wartości nullwartość parametru outputColumnName będzie używana jako źródło. Ten narzędzie do szacowania działa na znanych wektorach o rozmiarze Single.

ensureZeroMean
Boolean

Jeśli true, odejmij od każdej wartości przed normalizacją i użyj nieprzetworzonych danych wejściowych.

ensureUnitStandardDeviation
Boolean

W przypadku true, wynikowe odchylenie standardowe wektora będzie jedno. W przeciwnym razie wynikowa wektor L2-norma byłaby jedna.

scale
Single

Skaluj funkcje według tej wartości.

Zwraca

Przykłady

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

Dotyczy