FeatureSelectionCatalog.SelectFeaturesBasedOnCount Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
SelectFeaturesBasedOnCount(TransformsCatalog+FeatureSelectionTransforms, InputOutputColumnPair[], Int64) |
Vytvořte , CountFeatureSelectingEstimatorkterý vybere sloty, pro které je počet výchozích hodnot větší nebo roven prahové hodnotě. |
SelectFeaturesBasedOnCount(TransformsCatalog+FeatureSelectionTransforms, String, String, Int64) |
Vytvořte , CountFeatureSelectingEstimatorkterý vybere sloty, pro které je počet výchozích hodnot větší nebo roven prahové hodnotě. |
SelectFeaturesBasedOnCount(TransformsCatalog+FeatureSelectionTransforms, InputOutputColumnPair[], Int64)
Vytvořte , CountFeatureSelectingEstimatorkterý vybere sloty, pro které je počet výchozích hodnot větší nebo roven prahové hodnotě.
public static Microsoft.ML.Transforms.CountFeatureSelectingEstimator SelectFeaturesBasedOnCount (this Microsoft.ML.TransformsCatalog.FeatureSelectionTransforms catalog, Microsoft.ML.InputOutputColumnPair[] columns, long count = 1);
static member SelectFeaturesBasedOnCount : Microsoft.ML.TransformsCatalog.FeatureSelectionTransforms * Microsoft.ML.InputOutputColumnPair[] * int64 -> Microsoft.ML.Transforms.CountFeatureSelectingEstimator
<Extension()>
Public Function SelectFeaturesBasedOnCount (catalog As TransformsCatalog.FeatureSelectionTransforms, columns As InputOutputColumnPair(), Optional count As Long = 1) As CountFeatureSelectingEstimator
Parametry
Katalog transformace.
- columns
- InputOutputColumnPair[]
Určuje názvy sloupců, u kterých se má transformace použít. Tento estimátor pracuje s vektorem nebo skalárem číselných, textových nebo klávesových datových typů. Datové typy výstupních sloupců budou stejné jako datové typy vstupních sloupců.
- count
- Int64
Pokud je počet výchozích hodnot slotu větší nebo roven této prahové hodnotě v trénovacích datech, zachovají se sloty.
Návraty
Příklady
using System;
using System.Collections.Generic;
using Microsoft.ML;
using Microsoft.ML.Data;
namespace Samples.Dynamic
{
public static class SelectFeaturesBasedOnCountMultiColumn
{
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 rawData = GetData();
// Printing the columns of the input data.
Console.WriteLine($"NumericVector StringVector");
foreach (var item in rawData)
Console.WriteLine("{0,-25} {1,-25}", string.Join(",", item.
NumericVector), string.Join(",", item.StringVector));
// NumericVector StringVector
// 4,NaN,6 A,WA,Male
// 4,5,6 A,,Female
// 4,5,6 A,NY,
// 4,NaN,NaN A,,Male
var data = mlContext.Data.LoadFromEnumerable(rawData);
// We will use the SelectFeaturesBasedOnCount transform estimator, to
// retain only those slots which have at least 'count' non-default
// values per slot.
// Multi column example. This pipeline transform two columns using the
// provided parameters.
var pipeline = mlContext.Transforms.FeatureSelection
.SelectFeaturesBasedOnCount(new InputOutputColumnPair[] { new
InputOutputColumnPair("NumericVector"), new InputOutputColumnPair(
"StringVector") }, count: 3);
var transformedData = pipeline.Fit(data).Transform(data);
var convertedData = mlContext.Data.CreateEnumerable<TransformedData>(
transformedData, true);
// Printing the columns of the transformed data.
Console.WriteLine($"NumericVector StringVector");
foreach (var item in convertedData)
Console.WriteLine("{0,-25} {1,-25}", string.Join(",", item
.NumericVector), string.Join(",", item.StringVector));
// NumericVector StringVector
// 4,6 A,Male
// 4,6 A,Female
// 4,6 A,
// 4,NaN A,Male
}
private class TransformedData
{
public float[] NumericVector { get; set; }
public string[] StringVector { get; set; }
}
public class InputData
{
[VectorType(3)]
public float[] NumericVector { get; set; }
[VectorType(3)]
public string[] StringVector { get; set; }
}
/// <summary>
/// Returns a few rows of data.
/// </summary>
public static IEnumerable<InputData> GetData()
{
var data = new List<InputData>
{
new InputData
{
NumericVector = new float[] { 4, float.NaN, 6 },
StringVector = new string[] { "A", "WA", "Male"}
},
new InputData
{
NumericVector = new float[] { 4, 5, 6 },
StringVector = new string[] { "A", "", "Female"}
},
new InputData
{
NumericVector = new float[] { 4, 5, 6 },
StringVector = new string[] { "A", "NY", null}
},
new InputData
{
NumericVector = new float[] { 4, float.NaN, float.NaN },
StringVector = new string[] { "A", null, "Male"}
}
};
return data;
}
}
}
Platí pro
SelectFeaturesBasedOnCount(TransformsCatalog+FeatureSelectionTransforms, String, String, Int64)
Vytvořte , CountFeatureSelectingEstimatorkterý vybere sloty, pro které je počet výchozích hodnot větší nebo roven prahové hodnotě.
public static Microsoft.ML.Transforms.CountFeatureSelectingEstimator SelectFeaturesBasedOnCount (this Microsoft.ML.TransformsCatalog.FeatureSelectionTransforms catalog, string outputColumnName, string inputColumnName = default, long count = 1);
static member SelectFeaturesBasedOnCount : Microsoft.ML.TransformsCatalog.FeatureSelectionTransforms * string * string * int64 -> Microsoft.ML.Transforms.CountFeatureSelectingEstimator
<Extension()>
Public Function SelectFeaturesBasedOnCount (catalog As TransformsCatalog.FeatureSelectionTransforms, outputColumnName As String, Optional inputColumnName As String = Nothing, Optional count As Long = 1) As CountFeatureSelectingEstimator
Parametry
Katalog transformace.
- outputColumnName
- String
Název sloupce, který je výsledkem transformace inputColumnName
.
Datový typ tohoto sloupce bude stejný jako datový typ vstupního sloupce.
- inputColumnName
- String
Název sloupce, který se má transformovat. Pokud je nastavená hodnota null
, použije se jako zdroj hodnota outputColumnName
.
Tento estimátor pracuje s vektorem nebo skalárem číselných, textových nebo klávesových datových typů.
- count
- Int64
Pokud je počet výchozích hodnot slotu větší nebo roven této prahové hodnotě v trénovacích datech, zachovají se sloty.
Návraty
Příklady
using System;
using System.Collections.Generic;
using Microsoft.ML;
using Microsoft.ML.Data;
namespace Samples.Dynamic
{
public static class SelectFeaturesBasedOnCount
{
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 rawData = GetData();
// Printing the columns of the input data.
Console.WriteLine($"NumericVector StringVector");
foreach (var item in rawData)
Console.WriteLine("{0,-25} {1,-25}", string.Join(",", item
.NumericVector), string.Join(",", item.StringVector));
// NumericVector StringVector
// 4,NaN,6 A,WA,Male
// 4,5,6 A,,Female
// 4,5,6 A,NY,
// 4,0,NaN A,,Male
var data = mlContext.Data.LoadFromEnumerable(rawData);
// We will use the SelectFeaturesBasedOnCount to retain only those slots
// which have at least 'count' non-default and non-missing values per
// slot.
var pipeline =
mlContext.Transforms.FeatureSelection.SelectFeaturesBasedOnCount(
outputColumnName: "NumericVector", count: 3) // Usage on numeric
// column.
.Append(mlContext.Transforms.FeatureSelection
.SelectFeaturesBasedOnCount(outputColumnName: "StringVector",
count: 3)); // Usage on text column.
var transformedData = pipeline.Fit(data).Transform(data);
var convertedData = mlContext.Data.CreateEnumerable<TransformedData>(
transformedData, true);
// Printing the columns of the transformed data.
Console.WriteLine($"NumericVector StringVector");
foreach (var item in convertedData)
Console.WriteLine("{0,-25} {1,-25}", string.Join(",", item.
NumericVector), string.Join(",", item.StringVector));
// NumericVector StringVector
// 4,6 A,Male
// 4,6 A,Female
// 4,6 A,
// 4,NaN A,Male
}
public class TransformedData
{
public float[] NumericVector { get; set; }
public string[] StringVector { get; set; }
}
public class InputData
{
[VectorType(3)]
public float[] NumericVector { get; set; }
[VectorType(3)]
public string[] StringVector { get; set; }
}
/// <summary>
/// Return a few rows of data.
/// </summary>
public static IEnumerable<InputData> GetData()
{
var data = new List<InputData>
{
new InputData
{
NumericVector = new float[] { 4, float.NaN, 6 },
StringVector = new string[] { "A", "WA", "Male"}
},
new InputData
{
NumericVector = new float[] { 4, 5, 6 },
StringVector = new string[] { "A", string.Empty, "Female"}
},
new InputData
{
NumericVector = new float[] { 4, 5, 6 },
StringVector = new string[] { "A", "NY", null}
},
new InputData
{
NumericVector = new float[] { 4, 0, float.NaN },
StringVector = new string[] { "A", null, "Male"}
}
};
return data;
}
}
}