ConversionsExtensionsCatalog.ConvertType 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
ConvertType(TransformsCatalog+ConversionTransforms, InputOutputColumnPair[], DataKind) |
Cree un TypeConvertingEstimatorobjeto , que convierte el tipo de los datos en el tipo especificado en |
ConvertType(TransformsCatalog+ConversionTransforms, String, String, DataKind) |
Cree un TypeConvertingEstimatorobjeto , que convierte el tipo de los datos en el tipo especificado en |
ConvertType(TransformsCatalog+ConversionTransforms, InputOutputColumnPair[], DataKind)
Cree un TypeConvertingEstimatorobjeto , que convierte el tipo de los datos en el tipo especificado en outputKind
.
public static Microsoft.ML.Transforms.TypeConvertingEstimator ConvertType (this Microsoft.ML.TransformsCatalog.ConversionTransforms catalog, Microsoft.ML.InputOutputColumnPair[] columns, Microsoft.ML.Data.DataKind outputKind = Microsoft.ML.Data.DataKind.Single);
static member ConvertType : Microsoft.ML.TransformsCatalog.ConversionTransforms * Microsoft.ML.InputOutputColumnPair[] * Microsoft.ML.Data.DataKind -> Microsoft.ML.Transforms.TypeConvertingEstimator
<Extension()>
Public Function ConvertType (catalog As TransformsCatalog.ConversionTransforms, columns As InputOutputColumnPair(), Optional outputKind As DataKind = Microsoft.ML.Data.DataKind.Single) As TypeConvertingEstimator
Parámetros
Catálogo de la transformación de conversión.
- columns
- InputOutputColumnPair[]
Columnas de entrada y salida. Esta transformación funciona con tipos de datos numéricos, booleanos, DateTime de texto y de clave.
- outputKind
- DataKind
El tipo esperado de la columna de salida.
Devoluciones
Ejemplos
using System;
using Microsoft.ML;
using Microsoft.ML.Data;
namespace Samples.Dynamic
{
// This example illustrates how to convert multiple columns of different types
// to one type, in this case System.Single.
// This is often a useful data transformation before concatenating the features
// together and passing them to a particular estimator.
public static class ConvertTypeMultiColumn
{
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(seed: 1);
var rawData = new[] {
new InputData() { Feature1 = true, Feature2 = "0.4",
Feature3 = DateTime.Now, Feature4 = 0.145},
new InputData() { Feature1 = false, Feature2 = "0.5",
Feature3 = DateTime.Today, Feature4 = 3.14},
new InputData() { Feature1 = false, Feature2 = "14",
Feature3 = DateTime.Today, Feature4 = 0.2046},
new InputData() { Feature1 = false, Feature2 = "23",
Feature3 = DateTime.Now, Feature4 = 0.1206},
new InputData() { Feature1 = true, Feature2 = "8904",
Feature3 = DateTime.UtcNow, Feature4 = 8.09},
};
// Convert the data to an IDataView.
var data = mlContext.Data.LoadFromEnumerable(rawData);
// Construct the pipeline.
var pipeline = mlContext.Transforms.Conversion.ConvertType(new[]
{
new InputOutputColumnPair("Converted1", "Feature1"),
new InputOutputColumnPair("Converted2", "Feature2"),
new InputOutputColumnPair("Converted3", "Feature3"),
new InputOutputColumnPair("Converted4", "Feature4"),
},
DataKind.Single);
// Let's fit our pipeline to the data.
var transformer = pipeline.Fit(data);
// Transforming the same data. This will add the 4 columns defined in
// the pipeline, containing the converted
// values of the initial columns.
var transformedData = transformer.Transform(data);
// Shape the transformed data as a strongly typed IEnumerable.
var convertedData = mlContext.Data.CreateEnumerable<TransformedData>(
transformedData, true);
// Printing the results.
Console.WriteLine("Converted1\t Converted2\t Converted3\t Converted4");
foreach (var item in convertedData)
Console.WriteLine($"\t{item.Converted1}\t {item.Converted2}\t\t " +
$"{item.Converted3}\t {item.Converted4}");
// Transformed data.
//
// Converted1 Converted2 Converted3 Converted4
// 1 0.4 6.368921E+17 0.145
// 0 0.5 6.368916E+17 3.14
// 0 14 6.368916E+17 0.2046
// 0 23 6.368921E+17 0.1206
// 1 8904 6.368924E+17 8.09
}
// The initial data type
private class InputData
{
public bool Feature1;
public string Feature2;
public DateTime Feature3;
public double Feature4;
}
// The resulting data type after the transformation
private class TransformedData : InputData
{
public float Converted1 { get; set; }
public float Converted2 { get; set; }
public float Converted3 { get; set; }
public float Converted4 { get; set; }
}
}
}
Comentarios
Esta transformación puede funcionar en varias columnas.
Se aplica a
ConvertType(TransformsCatalog+ConversionTransforms, String, String, DataKind)
Cree un TypeConvertingEstimatorobjeto , que convierte el tipo de los datos en el tipo especificado en outputKind
.
public static Microsoft.ML.Transforms.TypeConvertingEstimator ConvertType (this Microsoft.ML.TransformsCatalog.ConversionTransforms catalog, string outputColumnName, string inputColumnName = default, Microsoft.ML.Data.DataKind outputKind = Microsoft.ML.Data.DataKind.Single);
static member ConvertType : Microsoft.ML.TransformsCatalog.ConversionTransforms * string * string * Microsoft.ML.Data.DataKind -> Microsoft.ML.Transforms.TypeConvertingEstimator
<Extension()>
Public Function ConvertType (catalog As TransformsCatalog.ConversionTransforms, outputColumnName As String, Optional inputColumnName As String = Nothing, Optional outputKind As DataKind = Microsoft.ML.Data.DataKind.Single) As TypeConvertingEstimator
Parámetros
Catálogo de la transformación de conversión.
- outputColumnName
- String
Nombre de la columna resultante de la transformación de inputColumnName
.
- inputColumnName
- String
Nombre de la columna que se va a transformar. Si se establece null
en , el valor de outputColumnName
se usará como origen.
Esta transformación funciona con tipos de datos numéricos, booleanos, DateTime de texto y de clave.
- outputKind
- DataKind
El tipo esperado de la columna de salida.
Devoluciones
Ejemplos
using System;
using Microsoft.ML;
using Microsoft.ML.Data;
namespace Samples.Dynamic
{
public static class ConvertType
{
public static void Example()
{
var mlContext = new MLContext(seed: 1);
var rawData = new[] {
new InputData() { Survived = true },
new InputData() { Survived = false },
new InputData() { Survived = true },
new InputData() { Survived = false },
new InputData() { Survived = false },
};
var data = mlContext.Data.LoadFromEnumerable(rawData);
// Construct the pipeline.
var pipeline = mlContext.Transforms.Conversion.ConvertType(
"SurvivedInt32", "Survived", DataKind.Int32);
// Let's train our pipeline, and then apply it to the same data.
var transformer = pipeline.Fit(data);
var transformedData = transformer.Transform(data);
// Display original column 'Survived' (boolean) and converted column
// SurvivedInt32' (Int32)
var convertedData = mlContext.Data.CreateEnumerable<TransformedData>(
transformedData, true);
foreach (var item in convertedData)
{
Console.WriteLine("A:{0,-10} Aconv:{1}", item.Survived,
item.SurvivedInt32);
}
// Output
// A: True Aconv:1
// A: False Aconv:0
// A: True Aconv:1
// A: False Aconv:0
// A: False Aconv:0
}
private class InputData
{
public bool Survived;
}
private sealed class TransformedData : InputData
{
public Int32 SurvivedInt32 { get; set; }
}
}
}