TransformExtensionsCatalog.SelectColumns Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
SelectColumns(TransformsCatalog, String[]) |
Crie uma ColumnSelectingEstimator, que mantém uma determinada lista de colunas em um IDataView e descarta as outras. |
SelectColumns(TransformsCatalog, String[], Boolean) |
Crie uma ColumnSelectingEstimator, que mantém uma determinada lista de colunas em um IDataView e descarta as outras. |
SelectColumns(TransformsCatalog, String[])
Crie uma ColumnSelectingEstimator, que mantém uma determinada lista de colunas em um IDataView e descarta as outras.
public static Microsoft.ML.Transforms.ColumnSelectingEstimator SelectColumns (this Microsoft.ML.TransformsCatalog catalog, params string[] columnNames);
static member SelectColumns : Microsoft.ML.TransformsCatalog * string[] -> Microsoft.ML.Transforms.ColumnSelectingEstimator
<Extension()>
Public Function SelectColumns (catalog As TransformsCatalog, ParamArray columnNames As String()) As ColumnSelectingEstimator
Parâmetros
- catalog
- TransformsCatalog
O catálogo da transformação.
- columnNames
- String[]
A matriz de nomes de coluna a serem mantidos.
Retornos
Exemplos
using System;
using System.Collections.Generic;
using Microsoft.ML;
namespace Samples.Dynamic
{
public static class SelectColumns
{
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();
// Create a small dataset as an IEnumerable.
var samples = new List<InputData>()
{
new InputData(){ Age = 21, Gender = "Male", Education = "BS",
ExtraColumn = 1 },
new InputData(){ Age = 23, Gender = "Female", Education = "MBA",
ExtraColumn = 2 },
new InputData(){ Age = 28, Gender = "Male", Education = "PhD",
ExtraColumn = 3 },
new InputData(){ Age = 22, Gender = "Male", Education = "BS",
ExtraColumn = 4 },
new InputData(){ Age = 23, Gender = "Female", Education = "MS",
ExtraColumn = 5 },
new InputData(){ Age = 27, Gender = "Female", Education = "PhD",
ExtraColumn = 6 },
};
// Convert training data to IDataView.
var dataview = mlContext.Data.LoadFromEnumerable(samples);
// Select a subset of columns to keep.
var pipeline = mlContext.Transforms.SelectColumns("Age", "Education");
// Now we can transform the data and look at the output to confirm the
// behavior of SelectColumns. Don't forget that this operation doesn't
// actually evaluate data until we read the data below, as
// transformations are lazy in ML.NET.
var transformedData = pipeline.Fit(dataview).Transform(dataview);
// Print the number of columns in the schema
Console.WriteLine($"There are {transformedData.Schema.Count} columns" +
$" in the dataset.");
// Expected output:
// There are 2 columns in the dataset.
// We can extract the newly created column as an IEnumerable of
// TransformedData, the class we define below.
var rowEnumerable = mlContext.Data.CreateEnumerable<TransformedData>(
transformedData, reuseRowObject: false);
// And finally, we can write out the rows of the dataset, looking at the
// columns of interest.
Console.WriteLine($"Age and Educations columns obtained " +
$"post-transformation.");
foreach (var row in rowEnumerable)
Console.WriteLine($"Age: {row.Age} Education: {row.Education}");
// Expected output:
// Age and Educations columns obtained post-transformation.
// Age: 21 Education: BS
// Age: 23 Education: MBA
// Age: 28 Education: PhD
// Age: 22 Education: BS
// Age: 23 Education: MS
// Age: 27 Education: PhD
}
private class InputData
{
public int Age { get; set; }
public string Gender { get; set; }
public string Education { get; set; }
public float ExtraColumn { get; set; }
}
private class TransformedData
{
public int Age { get; set; }
public string Education { get; set; }
}
}
}
Aplica-se a
SelectColumns(TransformsCatalog, String[], Boolean)
Crie uma ColumnSelectingEstimator, que mantém uma determinada lista de colunas em um IDataView e descarta as outras.
public static Microsoft.ML.Transforms.ColumnSelectingEstimator SelectColumns (this Microsoft.ML.TransformsCatalog catalog, string[] columnNames, bool keepHidden);
static member SelectColumns : Microsoft.ML.TransformsCatalog * string[] * bool -> Microsoft.ML.Transforms.ColumnSelectingEstimator
<Extension()>
Public Function SelectColumns (catalog As TransformsCatalog, columnNames As String(), keepHidden As Boolean) As ColumnSelectingEstimator
Parâmetros
- catalog
- TransformsCatalog
O catálogo da transformação.
- columnNames
- String[]
A matriz de nomes de coluna a serem mantidos.
- keepHidden
- Boolean
Se true
manter colunas ocultas e false
remover colunas ocultas.
Manter colunas ocultas, em vez de removê-las, é recomendável quando for necessário entender como as entradas de um mapa de pipeline para saídas do pipeline, para fins de depuração.
Retornos
Exemplos
using System;
using System.Collections.Generic;
using Microsoft.ML;
namespace Samples.Dynamic
{
public static class SelectColumns
{
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();
// Create a small dataset as an IEnumerable.
var samples = new List<InputData>()
{
new InputData(){ Age = 21, Gender = "Male", Education = "BS",
ExtraColumn = 1 },
new InputData(){ Age = 23, Gender = "Female", Education = "MBA",
ExtraColumn = 2 },
new InputData(){ Age = 28, Gender = "Male", Education = "PhD",
ExtraColumn = 3 },
new InputData(){ Age = 22, Gender = "Male", Education = "BS",
ExtraColumn = 4 },
new InputData(){ Age = 23, Gender = "Female", Education = "MS",
ExtraColumn = 5 },
new InputData(){ Age = 27, Gender = "Female", Education = "PhD",
ExtraColumn = 6 },
};
// Convert training data to IDataView.
var dataview = mlContext.Data.LoadFromEnumerable(samples);
// Select a subset of columns to keep.
var pipeline = mlContext.Transforms.SelectColumns("Age", "Education");
// Now we can transform the data and look at the output to confirm the
// behavior of SelectColumns. Don't forget that this operation doesn't
// actually evaluate data until we read the data below, as
// transformations are lazy in ML.NET.
var transformedData = pipeline.Fit(dataview).Transform(dataview);
// Print the number of columns in the schema
Console.WriteLine($"There are {transformedData.Schema.Count} columns" +
$" in the dataset.");
// Expected output:
// There are 2 columns in the dataset.
// We can extract the newly created column as an IEnumerable of
// TransformedData, the class we define below.
var rowEnumerable = mlContext.Data.CreateEnumerable<TransformedData>(
transformedData, reuseRowObject: false);
// And finally, we can write out the rows of the dataset, looking at the
// columns of interest.
Console.WriteLine($"Age and Educations columns obtained " +
$"post-transformation.");
foreach (var row in rowEnumerable)
Console.WriteLine($"Age: {row.Age} Education: {row.Education}");
// Expected output:
// Age and Educations columns obtained post-transformation.
// Age: 21 Education: BS
// Age: 23 Education: MBA
// Age: 28 Education: PhD
// Age: 22 Education: BS
// Age: 23 Education: MS
// Age: 27 Education: PhD
}
private class InputData
{
public int Age { get; set; }
public string Gender { get; set; }
public string Education { get; set; }
public float ExtraColumn { get; set; }
}
private class TransformedData
{
public int Age { get; set; }
public string Education { get; set; }
}
}
}