データ変換
データ変換は次の操作を行うために使用されます。
- モデルのトレーニング用にデータを準備する
- インポートされたモデルを 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 | 列を新しいものに変換する式を適用します | いいえ |
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET