NormalizationCatalog.NormalizeLpNorm Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cree un LpNormNormalizingEstimatorobjeto , que normaliza (escala) vectores de la columna de entrada a la norma unitaria.
El tipo de norma que se usa se define mediante norm. Al establecer ensureZeroMean en true, se aplicará un paso de preprocesamiento para que la media de la columna especificada sea un vector cero.
public static Microsoft.ML.Transforms.LpNormNormalizingEstimator NormalizeLpNorm(this Microsoft.ML.TransformsCatalog catalog, string outputColumnName, string inputColumnName = default, Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase.NormFunction norm = Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase+NormFunction.L2, bool ensureZeroMean = false);
static member NormalizeLpNorm : Microsoft.ML.TransformsCatalog * string * string * Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase.NormFunction * bool -> Microsoft.ML.Transforms.LpNormNormalizingEstimator
<Extension()>
Public Function NormalizeLpNorm (catalog As TransformsCatalog, outputColumnName As String, Optional inputColumnName As String = Nothing, Optional norm As LpNormNormalizingEstimatorBase.NormFunction = Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase+NormFunction.L2, Optional ensureZeroMean As Boolean = false) As LpNormNormalizingEstimator
Parámetros
- catalog
- TransformsCatalog
Catálogo de la transformación.
- outputColumnName
- String
Nombre de la columna resultante de la transformación de inputColumnName.
El tipo de datos de esta columna será el mismo que el tipo de datos de la columna de entrada.
- inputColumnName
- String
Nombre de la columna que se va a normalizar. Si se establece nullen , el valor de outputColumnName se usará como origen.
Este estimador opera sobre vectores de tamaño conocido de Single.
Tipo de norma que se va a usar para normalizar cada muestra. La norma indicada del vector resultante se normalizará a una.
- ensureZeroMean
- Boolean
Si truees , resta la media de cada valor antes de normalizar y usar la entrada sin procesar de lo contrario.
Devoluciones
Ejemplos
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.ML;
using Microsoft.ML.Data;
using Microsoft.ML.Transforms;
namespace Samples.Dynamic
{
class NormalizeLpNorm
{
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.NormalizeLpNorm("Features",
norm: LpNormNormalizingEstimatorBase.NormFunction.L1,
ensureZeroMean: 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:
// 0.2500, 0.2500, -0.2500, -0.2500
// 0.2500, 0.2500, -0.2500, -0.2500
// 0.2500, -0.2500, 0.2500, -0.2500
// -0.2500, 0.2500, -0.2500, 0.2500
}
private class DataPoint
{
[VectorType(4)]
public float[] Features { get; set; }
}
}
}