NormalizationCatalog.NormalizeLpNorm メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
入力列内の LpNormNormalizingEstimatorベクトルを単位ノルムに正規化 (スケール) する 、作成します。
使用されるノルムの型は、norm
にtrue
設定ensureZeroMean
すると、前処理ステップが適用され、指定した列の平均が 0 ベクトルになります。
public static Microsoft.ML.Transforms.LpNormNormalizingEstimator NormalizeLpNorm (this Microsoft.ML.TransformsCatalog catalog, string outputColumnName, string inputColumnName = default, Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase.NormFunction norm = Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase+NormFunction.L2, bool ensureZeroMean = false);
static member NormalizeLpNorm : Microsoft.ML.TransformsCatalog * string * string * Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase.NormFunction * bool -> Microsoft.ML.Transforms.LpNormNormalizingEstimator
<Extension()>
Public Function NormalizeLpNorm (catalog As TransformsCatalog, outputColumnName As String, Optional inputColumnName As String = Nothing, Optional norm As LpNormNormalizingEstimatorBase.NormFunction = Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase+NormFunction.L2, Optional ensureZeroMean As Boolean = false) As LpNormNormalizingEstimator
パラメーター
- catalog
- TransformsCatalog
変換のカタログ。
- outputColumnName
- String
の変換の結果として得られる列の inputColumnName
名前。
この列のデータ型は、入力列のデータ型と同じになります。
- inputColumnName
- String
正規化する列の名前。 に null
設定すると、その値が outputColumnName
ソースとして使用されます。
この推定器は、既知のサイズの Singleベクトルで動作します。
各サンプルを正規化するために使用するノルムの種類。 結果として得られるベクトルの指定されたノルムは、1 に正規化されます。
- ensureZeroMean
- Boolean
場合 true
は、正規化する前に各値から平均を減算し、それ以外の場合は生の入力を使用します。
戻り値
例
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.ML;
using Microsoft.ML.Data;
using Microsoft.ML.Transforms;
namespace Samples.Dynamic
{
class NormalizeLpNorm
{
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();
var samples = new List<DataPoint>()
{
new DataPoint(){ Features = new float[4] { 1, 1, 0, 0} },
new DataPoint(){ Features = new float[4] { 2, 2, 0, 0} },
new DataPoint(){ Features = new float[4] { 1, 0, 1, 0} },
new DataPoint(){ Features = new float[4] { 0, 1, 0, 1} }
};
// Convert training data to IDataView, the general data type used in
// ML.NET.
var data = mlContext.Data.LoadFromEnumerable(samples);
var approximation = mlContext.Transforms.NormalizeLpNorm("Features",
norm: LpNormNormalizingEstimatorBase.NormFunction.L1,
ensureZeroMean: true);
// Now we can transform the data and look at the output to confirm the
// behavior of the estimator. This operation doesn't actually evaluate
// data until we read the data below.
var tansformer = approximation.Fit(data);
var transformedData = tansformer.Transform(data);
var column = transformedData.GetColumn<float[]>("Features").ToArray();
foreach (var row in column)
Console.WriteLine(string.Join(", ", row.Select(x => x.ToString(
"f4"))));
// Expected output:
// 0.2500, 0.2500, -0.2500, -0.2500
// 0.2500, 0.2500, -0.2500, -0.2500
// 0.2500, -0.2500, 0.2500, -0.2500
// -0.2500, 0.2500, -0.2500, 0.2500
}
private class DataPoint
{
[VectorType(4)]
public float[] Features { get; set; }
}
}
}