データ変換

データ変換は次の操作を行うために使用されます。

  • モデルのトレーニング用にデータを準備する
  • インポートされたモデルを TensorFlow または ONNX 形式に適用する
  • モデルから渡されたデータを後処理する

このガイドの変換は、IEstimator インターフェイスを実装するクラスを返します。 データ変換はまとめて連結することができます。 各変換は、リンクされた参照ドキュメントで指定されている特定の種類および形式のデータを想定し、生成します。

一部のデータ変換には、そのパラメーターを計算するためにトレーニング データが必要です。 たとえば、NormalizeMeanVariance トランスフォーマーは、Fit() の操作中にトレーニング データの平均と分散を計算し、Transform() 操作でそのパラメーターを使用します。

他のデータ変換はトレーニング データを必要としません。 たとえば、ConvertToGrayscale の変換は、Fit() の操作中にトレーニング データを確認せずに Transform() の操作を実行できます。

列のマップとグループ化

変換 定義 ONNX エクスポート可能
Concatenate 1 つ以上の入力列を新しい出力列に連結します はい
CopyColumns 1 つ以上の入力列をコピーして名前を変更します はい
DropColumns 1 つ以上の入力列をドロップします はい
SelectColumns 入力データから保持する 1 つ以上の列を選択します はい

正規化とスケーリング

変換 定義 ONNX エクスポート可能
NormalizeMeanVariance (トレーニング データの) 平均を引き、(トレーニング データの) 分散で割ります はい
NormalizeLogMeanVariance トレーニング データの対数に基づいて正規化します はい
NormalizeLpNorm 入力ベクターを lp-norm でスケーリングします。この p は 1、2、または無限大です。 既定値は l2 (ユークリッド距離) ノルムです はい
NormalizeGlobalContrast 行データの平均を減算して行の各値をスケーリングし、標準偏差または (行データの) l2-norm で除算し、構成可能なスケール係数 (既定値は 2) で乗算します はい
NormalizeBinning 入力値をビンのインデックスに割り当て、ビンの数で除算して 0 から 1 の間の float 値を生成します。 ビンの境界は、ビン全体にトレーニング データを均等に分散するように計算されます はい
NormalizeSupervisedBinning ラベル列との相関関係に基づいて入力値をビンに割り当てます はい
NormalizeMinMax トレーニング データの最小値と最大値の差で入力をスケーリングします はい
NormalizeRobustScaling 0 を中心にしてデータを配置する、外れ値に対して堅牢な統計を使用して各値をスケーリングし、分位点の範囲に従ってデータをスケーリングします。 はい

データ型間の変換

変換 定義 ONNX エクスポート可能
ConvertType 入力列の型を新しい型に変換します はい
MapValue 指定されたマッピングのディクショナリに基づいて、値をキー (カテゴリ) にマップします。 いいえ
MapValueToKey 入力データからマッピングを作成して値をキー (カテゴリ) にマップします はい
MapKeyToValue キーを変換して元の値に戻します はい
MapKeyToVector キーを変換して元の値のベクターに戻します はい
MapKeyToBinaryVector キーを変換して元の値のバイナリ ベクターに戻します いいえ
Hash 入力列の値をハッシュします はい

テキスト変換

変換 定義 ONNX エクスポート可能
FeaturizeText テキスト列を正規化された ngram と char-gram のカウントの float 配列に変換します いいえ
TokenizeIntoWords 1 つ以上のテキスト列を個々の単語に分割します はい
TokenizeIntoCharactersAsKeys 1 つ以上のテキスト列を一連のトピックに関する個々の文字 float に分割します はい
NormalizeText 大文字と小文字の変更、分音記号、句読点、数字の削除を行います はい
ProduceNgrams テキスト列を ngram のカウント (連続する単語のシーケンス) バッグに変換します はい
ProduceWordBags テキスト列を ngram ベクターのバッグに変換します はい
ProduceHashedNgrams テキスト列をハッシュされた ngram のカウントのベクターに変換します いいえ
ProduceHashedWordBags テキスト列をハッシュされた ngram のカウントのバッグに変換します はい
RemoveDefaultStopWords 指定された言語の既定のストップ ワードを入力列から削除します はい
RemoveStopWords 入力列から指定されたストップ ワードを削除します はい
LatentDirichletAllocation 一連のトピックにわたって、ドキュメント (float のベクターとして表されます) を float のベクターに変換します はい
ApplyWordEmbedding レーニング済みのモデルを使用して、テキスト トークンを文のベクターに変換します はい

画像変換

変換 定義 ONNX エクスポート可能
ConvertToGrayscale 画像をグレースケールに変換します いいえ
ConvertToImage ピクセルのベクターを ImageDataViewType に変換します いいえ
ExtractPixels 入力画像のピクセルを数値のベクターに変換します いいえ
LoadImages フォルダーの画像をメモリに読み込みます いいえ
LoadRawImageBytes 生バイトの画像を新しい列に読み込みます。 いいえ
ResizeImages イメージのサイズを変更する いいえ
DnnFeaturizeImage 事前トレーニング済みのディープ ニューラル ネットワーク (DNN) モデルを適用して、入力イメージを特徴ベクターに変換します いいえ

分類データの変換

変換 定義 ONNX エクスポート可能
OneHotEncoding 1 つ以上のテキスト列を one-hot エンコード済みベクターに変換します はい
OneHotHashEncoding 1 つまたは複数のテキスト列をハッシュベースの one-hot エンコード済みベクターに変換します いいえ

時系列データの変換

変換 定義 ONNX エクスポート可能
DetectAnomalyBySrCnn Spectral Residual (SR) アルゴリズムを使用して、時系列入力データの異常を検出します いいえ
DetectChangePointBySsa 単一のスペクトラム分析 (SSA) を使用して、時系列データの変化点を検出します いいえ
DetectIidChangePoint アダプティブ カーネル密度見積もりとマルチンゲール スコアを使用して、独立同分布 (IID) の時系列データ内の変化点を検出します いいえ
ForecastBySsa 単一のスペクトラム分析 (SSA) を使用して、時系列データを予測します いいえ
DetectSpikeBySsa 単一のスペクトラム分析 (SSA) を使用して、時系列データのスパイクを検出します いいえ
DetectIidSpike アダプティブ カーネル密度見積もりとマルチンゲール スコアを使用して、独立同分布 (IID) の時系列データのスパイクを検出します いいえ
DetectEntireAnomalyBySrCnn SRCNN アルゴリズムを使用して、入力データ全体の異常を検出します。 いいえ
DetectSeasonality フーリエ分析を使用して季節性を検出します。 いいえ
LocalizeRootCause デシジョン ツリー アルゴリズムを使用して、時系列入力から根本原因をローカライズします。 いいえ
LocalizeRootCauses タイ系列入力から根本原因をローカライズします。 いいえ

不足している値

変換 定義 ONNX エクスポート可能
IndicateMissingValues 新しいブール出力列を作成します。入力列の値が欠落している場合、その値は true です。 はい
ReplaceMissingValues 新しい出力列を作成します。値が入力列にない場合は値が既定値に設定され、それ以外の場合は入力値が設定されます はい

特徴選択

変換 定義 ONNX エクスポート可能
SelectFeaturesBasedOnCount 既定以外の値がしきい値より大きい特徴を選択します はい
SelectFeaturesBasedOnMutualInformation ラベル列のデータが最も依存している特徴を選択します はい

特徴の変換

変換 定義 ONNX エクスポート可能
ApproximatedKernelMap 各入力ベクターを下位次元の特徴空間にマップします。ここでは、線形アルゴリズムへの入力として特徴を使用できるように、内部製品でカーネル関数が概算されます いいえ
ProjectToPrincipalComponents プリンシパル コンポーネント分析アルゴリズムを適用して、入力特徴ベクトルの次元を減らします

説明可能性の変換

変換 定義 ONNX エクスポート可能
CalculateFeatureContribution 特徴ベクターの要素ごとにコントリビューション スコアを計算します いいえ

調整の変換

変換 定義 ONNX エクスポート可能
Platt(String, String, String) トレーニング データを使用して予測されるパラメーターと共にロジスティック回帰を使用し、二項分類子の生スコアをクラスの確率に変換します はい
Platt(Double, Double, String) 固定パラメーターと共にロジスティック回帰を使用して、二項分類子の生スコアをクラスの確率に変換します はい
Naive スコアをビンに割り当て、ビン間の分布に基づいて確率を計算して、二項分類子の生スコアをクラスの確率に変換します はい
Isotonic スコアをビンに割り当てて、二項分類子の生スコアをクラスの確率に変換します。このとき、境界の位置とビンのサイズは、トレーニング データを使用して推定されます いいえ

ディープ ラーニングの変換

変換 定義 ONNX エクスポート可能
ApplyOnnxModel インポートされた ONNX モデルを使用して入力データを変換する いいえ
LoadTensorFlowModel インポートされた TensorFlow モデルを使用して入力データを変換する いいえ

カスタム変換

変換 定義 ONNX エクスポート可能
FilterByCustomPredicate 指定された述語が true を返す行を削除します。 いいえ
FilterByStatefulCustomPredicate 指定された述語が true を返す行を削除しますが、指定された状態を許可します。 いいえ
CustomMapping ユーザー定義マッピングを使用して既存の列を新しい列に変換します いいえ
Expression 列を新しいものに変換する式を適用します いいえ