FeatureSelectionCatalog.SelectFeaturesBasedOnCount 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
SelectFeaturesBasedOnCount(TransformsCatalog+FeatureSelectionTransforms, InputOutputColumnPair[], Int64) |
Create a CountFeatureSelectingEstimator, which selects the slots for which the count of non-default values is greater than or equal to a threshold. |
SelectFeaturesBasedOnCount(TransformsCatalog+FeatureSelectionTransforms, String, String, Int64) |
Create a CountFeatureSelectingEstimator, which selects the slots for which the count of non-default values is greater than or equal to a threshold. |
SelectFeaturesBasedOnCount(TransformsCatalog+FeatureSelectionTransforms, InputOutputColumnPair[], Int64)
- Source:
- FeatureSelectionCatalog.cs
- Source:
- FeatureSelectionCatalog.cs
- Source:
- FeatureSelectionCatalog.cs
Create a CountFeatureSelectingEstimator, which selects the slots for which the count of non-default values is greater than or equal to a threshold.
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
매개 변수
변환의 카탈로그입니다.
- columns
- InputOutputColumnPair[]
변환을 적용할 열의 이름을 지정합니다. 이 추정기는 숫자, 텍스트 또는 키 데이터 형식의 벡터 또는 스칼라에 대해 작동합니다. 출력 열의 데이터 형식은 입력 열의 데이터 형식과 동일합니다.
- count
- Int64
슬롯에 대한 기본값이 아닌 값의 수가 학습 데이터의 이 임계값보다 크거나 같으면 슬롯이 유지됩니다.
반환
예제
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;
}
}
}
적용 대상
SelectFeaturesBasedOnCount(TransformsCatalog+FeatureSelectionTransforms, String, String, Int64)
- Source:
- FeatureSelectionCatalog.cs
- Source:
- FeatureSelectionCatalog.cs
- Source:
- FeatureSelectionCatalog.cs
Create a CountFeatureSelectingEstimator, which selects the slots for which the count of non-default values is greater than or equal to a threshold.
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
매개 변수
변환의 카탈로그입니다.
- outputColumnName
- String
의 변환에서 생성된 열의 inputColumnName
이름입니다.
이 열의 데이터 형식은 입력 열의 데이터 형식과 동일합니다.
- inputColumnName
- String
변환할 열의 이름입니다. 이 값으로 null
설정하면 해당 값이 outputColumnName
원본으로 사용됩니다.
이 추정기는 숫자, 텍스트 또는 키 데이터 형식의 벡터 또는 스칼라에 대해 작동합니다.
- count
- Int64
슬롯에 대한 기본값이 아닌 값의 수가 학습 데이터의 이 임계값보다 크거나 같으면 슬롯이 유지됩니다.
반환
예제
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;
}
}
}