ExtensionsCatalog.IndicateMissingValues 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í.
Sobrecargas
IndicateMissingValues(TransformsCatalog, InputOutputColumnPair[]) |
Cree un MissingValueIndicatorEstimatorobjeto , que copia los datos de la columna especificada en InputColumnName en una nueva columna: OutputColumnName. |
IndicateMissingValues(TransformsCatalog, String, String) |
Cree un MissingValueIndicatorEstimatorobjeto , que examina los datos de la columna especificada en |
IndicateMissingValues(TransformsCatalog, InputOutputColumnPair[])
Cree un MissingValueIndicatorEstimatorobjeto , que copia los datos de la columna especificada en InputColumnName en una nueva columna: OutputColumnName.
public static Microsoft.ML.Transforms.MissingValueIndicatorEstimator IndicateMissingValues (this Microsoft.ML.TransformsCatalog catalog, Microsoft.ML.InputOutputColumnPair[] columns);
static member IndicateMissingValues : Microsoft.ML.TransformsCatalog * Microsoft.ML.InputOutputColumnPair[] -> Microsoft.ML.Transforms.MissingValueIndicatorEstimator
<Extension()>
Public Function IndicateMissingValues (catalog As TransformsCatalog, columns As InputOutputColumnPair()) As MissingValueIndicatorEstimator
Parámetros
- catalog
- TransformsCatalog
Catálogo de la transformación.
- columns
- InputOutputColumnPair[]
Pares de columnas de entrada y salida. Este estimador opera sobre los datos que son escalares o vectores de Single o Double.
Devoluciones
Ejemplos
using System;
using System.Collections.Generic;
using Microsoft.ML;
using Microsoft.ML.Data;
namespace Samples.Dynamic
{
public static class IndicateMissingValuesMultiColumn
{
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();
// Get a small dataset as an IEnumerable and convert it to an IDataView.
var samples = new List<DataPoint>()
{
new DataPoint(){ Features1 = new float[3] {1, 1, 0}, Features2 =
new float[2] {1, 1} },
new DataPoint(){ Features1 = new float[3] {0, float.NaN, 1},
Features2 = new float[2] {float.NaN, 1} },
new DataPoint(){ Features1 = new float[3] {-1, float.NaN, -3},
Features2 = new float[2] {1, float.PositiveInfinity} },
};
var data = mlContext.Data.LoadFromEnumerable(samples);
// IndicateMissingValues is used to create a boolean containing 'true'
// where the value in the input column is missing. For floats and
// doubles, missing values are NaN. We can use an array of
// InputOutputColumnPair to apply the MissingValueIndicatorEstimator
// to multiple columns in one pass over the data.
var pipeline = mlContext.Transforms.IndicateMissingValues(new[] {
new InputOutputColumnPair("MissingIndicator1", "Features1"),
new InputOutputColumnPair("MissingIndicator2", "Features2")
});
// 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 = pipeline.Fit(data);
var transformedData = tansformer.Transform(data);
// We can extract the newly created column as an IEnumerable of
// SampleDataTransformed, the class we define below.
var rowEnumerable = mlContext.Data.CreateEnumerable<
SampleDataTransformed>(transformedData, reuseRowObject: false);
// And finally, we can write out the rows of the dataset, looking at the
// columns of interest.
foreach (var row in rowEnumerable)
Console.WriteLine("Features1: [" + string.Join(", ", row
.Features1) + "]\t MissingIndicator1: [" + string.Join(", ",
row.MissingIndicator1) + "]\t Features2: [" + string.Join(", ",
row.Features2) + "]\t MissingIndicator2: [" + string.Join(", ",
row.MissingIndicator2) + "]");
// Expected output:
// Features1: [1, 1, 0] MissingIndicator1: [False, False, False] Features2: [1, 1] MissingIndicator2: [False, False]
// Features1: [0, NaN, 1] MissingIndicator1: [False, True, False] Features2: [NaN, 1] MissingIndicator2: [True, False]
// Features1: [-1, NaN, -3] MissingIndicator1: [False, True, False] Features2: [1, ∞] MissingIndicator2: [False, False]
}
private class DataPoint
{
[VectorType(3)]
public float[] Features1 { get; set; }
[VectorType(2)]
public float[] Features2 { get; set; }
}
private sealed class SampleDataTransformed : DataPoint
{
public bool[] MissingIndicator1 { get; set; }
public bool[] MissingIndicator2 { get; set; }
}
}
}
Comentarios
Esta transformación puede funcionar en varias columnas.
Se aplica a
IndicateMissingValues(TransformsCatalog, String, String)
Cree un MissingValueIndicatorEstimatorobjeto , que examina los datos de la columna especificada en inputColumnName
y rellena la nueva columna especificada en outputColumnName
con el vector de booles donde i-th bool tiene el valor de true
si el elemento i-th de los datos de columna tiene el valor que falta y false
, de lo contrario, .
public static Microsoft.ML.Transforms.MissingValueIndicatorEstimator IndicateMissingValues (this Microsoft.ML.TransformsCatalog catalog, string outputColumnName, string inputColumnName = default);
static member IndicateMissingValues : Microsoft.ML.TransformsCatalog * string * string -> Microsoft.ML.Transforms.MissingValueIndicatorEstimator
<Extension()>
Public Function IndicateMissingValues (catalog As TransformsCatalog, outputColumnName As String, Optional inputColumnName As String = Nothing) As MissingValueIndicatorEstimator
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á un vector de Boolean.
- inputColumnName
- String
Nombre de la columna de la que se van a copiar los datos. Este estimador opera sobre un vector o escalar de Single o Double.
Devoluciones
Ejemplos
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.ML;
using Microsoft.ML.Data;
namespace Samples.Dynamic
{
public static class IndicateMissingValues
{
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();
// Get a small dataset as an IEnumerable and convert it to an IDataView.
var samples = new List<DataPoint>()
{
new DataPoint(){ Features = new float[3] {1, 1, 0} },
new DataPoint(){ Features = new float[3] {0, float.NaN, 1} },
new DataPoint(){ Features = new float[3] {-1, float.NaN, -3} },
};
var data = mlContext.Data.LoadFromEnumerable(samples);
// IndicateMissingValues is used to create a boolean containing 'true'
// where the value in the input column is missing. For floats and
// doubles, missing values are represented as NaN.
var pipeline = mlContext.Transforms.IndicateMissingValues(
"MissingIndicator", "Features");
// 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 = pipeline.Fit(data);
var transformedData = tansformer.Transform(data);
// We can extract the newly created column as an IEnumerable of
// SampleDataTransformed, the class we define below.
var rowEnumerable = mlContext.Data.CreateEnumerable<
SampleDataTransformed>(transformedData, reuseRowObject: false);
// And finally, we can write out the rows of the dataset, looking at the
// columns of interest.
foreach (var row in rowEnumerable)
Console.WriteLine("Features: [" + string.Join(", ", row.Features) +
"]\t MissingIndicator: [" + string.Join(", ", row
.MissingIndicator) + "]");
// Expected output:
// Features: [1, 1, 0] MissingIndicator: [False, False, False]
// Features: [0, NaN, 1] MissingIndicator: [False, True, False]
// Features: [-1, NaN, -3] MissingIndicator: [False, True, False]
}
private class DataPoint
{
[VectorType(3)]
public float[] Features { get; set; }
}
private sealed class SampleDataTransformed : DataPoint
{
public bool[] MissingIndicator { get; set; }
}
}
}