中央値フィルター

重要

Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。

2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。

ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。

傾向分析のためにデータを平準化する中央値フィルターを作成します

カテゴリ: データ変換/フィルター

注意

適用対象: Machine Learning Studio (クラシック) のみ

類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。

モジュールの概要

この記事では、Machine Learning Studio (クラシック) で Median Filter モジュールを使用して、デジタル入力信号または画像を表す一連の値に適用するための中央値フィルターを定義する方法について説明します。

中央値フィルターは、ノイズを低減して特徴をより簡単に検出できるため、画像認識では広く使用されています。

注意

フィルタは、入力信号を受け取り、フィルタ特性に基づいて出力信号を作成する伝達関数です。 デジタル信号処理では、フィルターの使用によりイメージまたは音声認識の結果が向上します。 詳細については、「 フィルター」を参照してください。

Median Filter モジュールを使用してニーズを満たすフィルター変換を定義したら、データセットとフィルターを [フィルターの適用] モジュールに接続することで、データにフィルターを適用できます。

ヒント

データセットからデータをフィルター処理するか、欠損値を削除する必要がありますか? 代わりに、次のモジュールを使用します。

  • 欠損データのクリーンアップ: このモジュールを使用して、欠損値を削除するか、欠損値をプレースホルダーに置き換えます。
  • パーティションとサンプル: このモジュールを使用して、日付の範囲、特定の値、正規表現などの条件でデータセットを分割またはフィルター処理します。
  • クリップ値: このモジュールを使用して範囲を設定し、その範囲内の値のみを保持します。

中央値フィルターを構成する方法

  1. 中央値フィルターを実験に追加します。 このモジュールは、[ データ変換] の [ フィルター ] カテゴリにあります。

  2. [ 長さ] に、フィルターが適用されるウィンドウの合計サイズを定義する整数値を入力します。 これはフィルター マスクとも呼ばれます。

    値は奇数の正の値の整数である必要があります。 偶数を指定すると、マスクのサイズは 1 減算されます。

    既定では、マスクは現在の値から始まり、現在の値の中央にウィンドウが作成されます。

    たとえば、 長さ またはウィンドウ サイズとして「5」と入力した場合、中央値は、現在の値を中心とする 5 つの値で構成されるスライディング ウィンドウ全体で計算されます。 4 と入力すると、マスクはインデックス値を中心にして 3 つの値に縮小されます。

  3. フィルターをConnectしてフィルターを適用し、データセットを接続します。

    列セレクターを使用して、フィルターを適用するデータセットの列を指定します。 既定では、[ フィルターの適用] モジュールでは、選択したすべての数値列にフィルターが使用されます。

  4. 実験を実行します。 選択した列には、次の操作が適用されます。

    • ウィンドウまたはマスクに含まれる値のセットごとに、フィルター アルゴリズムが中央値を計算します。
    • 現在 (またはインデックス) の値が、中央の値で置き換えられます。

機械学習でフィルターを使用する方法の例については、 Azure AI ギャラリーで次の実験を参照してください。

  • フィルター: この実験では、エンジニアリングされた波形データセットを使用して、すべてのフィルターの種類を示します。

テクニカル ノート

このセクションには、実装の詳細、ヒント、よく寄せられる質問への回答が含まれています。

実装の詳細

出力信号の各エントリは、入力信号のサブセット (マスク) のエントリの中央値に等しくなり、該当するインデックスの中央に位置します。 マスク サイズは奇数の正の値を持つ整数になります。

この方法で偶数値のマスク サイズを使用する場合、そこから 1 を減算します。 たとえば、フィルター m=2q+1は次のように定義されます。 yi = median[{xi-q,…, xi+q}]

入力信号の境界線を超える値は、境界線の値と等しいと見なされます。 つまり、 n が入力信号の長さである場合は、次のようになります。

values beyond borders of median filter

中間値フィルターの詳細については、この Wikipedia の記事は、理論と応用について適切に説明しています。

ウィキペディア: フィルターの中央値

モジュールのパラメーター

名前 Range Type Default 説明
長さ >=1 Integer 5 フィルター ウィンドウの長さ

出力

名前 Type 説明
Assert IFilter インターフェイス フィルターの実装

関連項目

Assert
フィルターの適用
モジュールの一覧 (アルファベット順)