DataOperationsCatalog.FilterRowsByMissingValues(IDataView, String[]) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
删除包含 columns
缺失值的列的行。
public Microsoft.ML.IDataView FilterRowsByMissingValues (Microsoft.ML.IDataView input, params string[] columns);
member this.FilterRowsByMissingValues : Microsoft.ML.IDataView * string[] -> Microsoft.ML.IDataView
Public Function FilterRowsByMissingValues (input As IDataView, ParamArray columns As String()) As IDataView
参数
- input
- IDataView
输入数据。
- columns
- String[]
要筛选的列的名称。 如果行在任何列中缺少值,则会从数据集中删除该行。
返回
示例
using System;
using System.Collections.Generic;
using Microsoft.ML;
using Microsoft.ML.SamplesUtils;
namespace Samples.Dynamic
{
public class FilterRowsByMissingValues
{
/// <summary>
/// Sample class showing how to use FilterRowsByMissingValues.
/// </summary>
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<DataPoint>()
{
new DataPoint(){ Feature1 = 21, Feature2 = new [] { 1, 2, float.NaN}
},
new DataPoint(){ Feature1 = 40, Feature2 = new [] { 1f, 2f, 3f} },
new DataPoint(){ Feature1 = float.NaN, Feature2 = new [] { 1, 2,
float.NaN} }
};
// Convert training data to IDataView.
var data = mlContext.Data.LoadFromEnumerable(samples);
// Filter out any row with an NaN values in either column
var filteredData = mlContext.Data
.FilterRowsByMissingValues(data, new[] { "Feature1", "Feature2" });
// Take a look at the resulting dataset and note that rows with NaNs are
// filtered out. Only the second data point is left
var enumerable = mlContext.Data
.CreateEnumerable<DataPoint>(filteredData, reuseRowObject: true);
Console.WriteLine($"Feature1 Feature2");
foreach (var row in enumerable)
{
Console.WriteLine($"{row.Feature1}" +
$"\t({string.Join(", ", row.Feature2)})");
}
// Feature1 Feature2
//
// 40 (1, 2, 3)
}
private class DataPoint
{
public float Feature1 { get; set; }
public float[] Feature2 { get; set; }
}
}
}
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈