RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

Optimize Selection

概要

この演算子は、指定されたExampleSetの最も関連性の高い属性を選択します。特徴選択には、2つの決定論的な貪欲な特徴選択アルゴリズム「前方選択」と「後方除去」が使用されます。

詳細

機能の選択、つまり分類または回帰の問題に最も関連する機能の質問は、主要なデータマイニングタスクの1つです。進化的アルゴリズムを含む広範な検索方法がRapidMinerに統合されています。すべての検索方法について、検索ポイント(フィーチャサブセット)が特定のデータセットでどの程度実行されるかを示すパフォーマンス測定が必要です。

決定論的アルゴリズムとは、非公式に言えば予測可能な動作をするアルゴリズムです。特定の入力が与えられると、常に同じ出力が生成され、基礎となるマシンは常に同じ状態シーケンスを通過します。

欲張りアルゴリズムは、グローバル最適を見つけることを期待して、各段階で局所的に最適な選択をするという問題解決ヒューリスティックに従うアルゴリズムです。いくつかの問題では、貪欲な戦略は最適なソリューションを生成しない場合がありますが、それでも貪欲なヒューリスティックはグローバルな最適なソリューションに近いローカルな最適なソリューションを生成する場合があります。

この演算子は、「前方選択」と「後方除去」の2つの決定論的な貪欲な特徴選択アルゴリズムを実現します。ただし、以下で説明する標準アルゴリズムにいくつかの拡張機能を追加しました。

Forward Selection

n個の個人を持つ初期母集団を作成します。nは、入力ExampleSetの属性の数です。各個人は、いずれかの機能を使用します。属性セットを評価し、最適なkのみを選択します。 k個の属性セットのそれぞれについて行います。J未使用の属性が存在する場合、属性セットのj個のコピーを作成し、属性セットに正確に一つの以前に未使用の属性を追加します。最後のp回の反復でパフォーマンスが改善される限り、ステップ2に進みます。

Backward Elimination

すべての機能を使用する属性セットから始めます。すべての属性セットを評価し、最適なkを選択します。 k個の属性セットごとに次のことを行います。j個の属性が使用されている場合、属性セットのj個のコピーを作成し、以前に使用された属性の1つを属性セットから正確に削除します。最後のp回の反復でパフォーマンスが改善される限り、ステップ2に進みます。

パラメーターkkeep bestパラメーターで指定でき、パラメーターp即興パラメーターなしで世代で指定できます。これらのパラメーターのデフォルト値は1です。これは、標準の選択アルゴリズムが使用されることを意味します。他の値を使用すると、実行時間は長くなりますが、グローバルな最適値の検索でローカルな極値を回避するのに役立つ場合があります。

別の異常なパラメーターは、 世代最大数パラメーターです。このパラメーターは、反復の数をこの機能選択/選択解除の最大値に制限します。 改善パラメーターのない世代と組み合わせて、これにより、いくつかの異なる選択スキームが可能になります(前方選択について説明され、後方消去は同様に機能します)。

最大世代数= mおよび即興なしの世代数= p:

最大のm個の特徴を選択します。最後のp世代でパフォーマンスの改善が測定されなかった場合、選択は停止します。

最大世代数= -1および即興なしの世代数= p:

最後のp世代でパフォーマンスの改善が測定されなくなるまで、新しい機能を選択しようとします。

最大世代数= mおよび即興なしの世代数= -1:

最大のm個の特徴を選択します。選択の停止は、最大mのすべての組み合わせが試行されるまで停止しません。ただし、結果にはこれらよりも少ない機能が含まれる場合があります。

最大世代数= -1および即興なしの世代数= -1:

属性のすべての組み合わせをテストします(総当たり、これには非常に長い時間がかかる場合があり、小さな属性セットにのみ適用する必要があります)。

分化

Optimize Selection (Evolutionary)

これも属性セット削減演算子ですが、この目的のために遺伝的アルゴリズムを使用します。

入力

  • (IOObject)で 設定された例この入力ポートには、ExampleSetが必要です。このExampleSetは、サブプロセスで処理するために、ネストされたチェーンの最初のポート(サブプロセス内)で使用できます。
  • スルー (IOObject)このオペレーターは複数のスルーポートを持つことができます。 1つの入力がスルーポートに接続されると、別のスルーポートが使用可能になり、別の入力(ある場合)を受け入れる準備が整います。入力の順序は同じままです。この演算子の最初のスルーポートで提供されるオブジェクトは、ネストされたチェーンの最初のスルーポート(サブプロセス内)で利用できます。すべての入力を正しい順序で接続することを忘れないでください。サブプロセスレベルで適切な数のポートが接続されていることを確認してください。

出力

  • 設定例(IOObject)特徴選択アルゴリズムは、入力ExampleSetに適用されます。縮小された属性を持つ結果のExampleSetは、このポート経由で配信されます。
  • 重み(平均ベクトル)属性の重みは、このポートを介して配信されます。
  • パフォーマンス(パフォーマンスベクトル)このポートは、選択した属性のパフォーマンスベクトルを提供します。パフォーマンスベクトルは、パフォーマンス基準値のリストです。

パラメーター

  • selection_directionこのパラメーターは、「前方選択」アルゴリズムと「後方除去」アルゴリズムのどちらを使用するかを指定します。 範囲:選択
  • limit_generations_without_improvalこのパラメーターは、この世代数で改善が見られない場合に最適化を中止するかどうかを示します。チェックされていない場合、常に最大世代数が使用されます。 範囲:ブール
  • generations_without_improvalこのパラメーターは、 improvalパラメーターなし制限世代がtrueに設定されている場合にのみ使用可能です。このパラメーターは、早期停止の停止基準を指定します。つまり、パフォーマンスを改善せずにn世代後に停止します。 nはこのパラメーターで指定されます。 範囲:整数
  • limit_number_of_generationsこのパラメーターは、世代数を特定の数に制限する必要があるかどうかを示します。 範囲:ブール
  • keep_best各世代で最高のn人が保持されます。nはこのパラメーターの値です。 範囲:整数
  • maximum_number_of_generationsこのパラメーターは、世代制限パラメーターがtrueに設定されている場合にのみ使用できます。このパラメーターは、アルゴリズムが終了するまでの世代数を指定します。 範囲:整数
  • normalize_weightsこのパラメーターは、最終的な重みを正規化する必要があるかどうかを示します。 trueに設定すると、最大の重みが1、最小の重みが0になるように最終的な重みが正規化されます。 範囲:ブール値
  • use_local_random_seedこのパラメーターは、ランダム化にローカルランダムシードを使用する必要があるかどうかを示します。同じ値のローカルランダムシードを使用すると、同じランダム化が生成されます。 範囲:ブール
  • local_random_seedこのパラメーターは、 ローカルランダムシードを指定し、 use local random seedパラメーターがtrueに設定されている場合にのみ使用可能です。 範囲:整数
  • show_stop_dialogこのパラメーターは、最適な機能スペースの検索を停止する停止ボタンのあるダイアログを表示するかどうかを決定します。最適なフィーチャスペースの検索が停止されると、それまでに見つかった最適な個人が返されます。 範囲:ブール
  • user_result_individual_selectionこのパラメーターをtrueに設定すると、ユーザーは最後の母集団から最終結果の個人を選択できます。 範囲:ブール
  • show_population_plotterこのパラメーターは、現在の人口をパフォーマンススペースに表示するかどうかを決定します。 範囲:ブール
  • plot_generationsこのパラメーターは、 show population plotterパラメーターがtrueに設定されている場合にのみ使用できます。人口プロッターはこれらの世代で更新されます。 範囲:整数
  • constraint_draw_rangeこのパラメーターは、 show population plotterパラメーターがtrueに設定されている場合にのみ使用できます。このパラメーターは、ポピュレーションプロッターの描画範囲を0〜1に制限するかどうかを決定します。 範囲:ブール値
  • draw_dominated_pointsこのパラメーターは、 show population plotterパラメーターがtrueに設定されている場合にのみ使用できます。このパラメーターは、母集団プロッターでパレート支配ではない点のみを描画するかどうかを決定します。 範囲:ブール
  • Population_criteria_data_fileこのパラメーターは、最終母集団の基準データを保存するファイルへのパスを指定します。 範囲:ファイル名
  • maximal_fitnessこのパラメーターは、最大適合度を指定します。適合度がこの値に達すると、最適化は停止します。 範囲:実数

チュートリアルプロセス

多項式データセットの特徴削減

「多項式」データセットは、Retrieve演算子を使用してロードされます。 ExampleSetを見ることができるように、ブレークポイントがここに挿入されます。 ExampleSetには、label属性以外に5つの通常の属性があることがわかります。最適化選択演算子は、ネストされた演算子であるExampleSetに適用されます。つまり、サブプロセスがあります。サブプロセスがパフォーマンスベクトルを提供する必要があります。このパフォーマンスベクトルは、基礎となる機能削減アルゴリズムによって使用されます。この演算子のサブプロセスを見てください。そこでは、分割検証演算子が使用されており、それ自体がネストされた演算子です。 Split Validationオペレーターのサブプロセスをご覧ください。 SVMオペレーターは、モデルをトレーニングするための「トレーニング」サブプロセスで使用されます。トレーニング済みモデルは、「テスト」サブプロセスの「モデルの適用」演算子を使用して適用されます。パフォーマンスは、Performanceオペレーターを介して測定され、結果のパフォーマンスベクトルは基になるアルゴリズムによって使用されます。プロセスを実行し、結果ワークスペースに切り替えます。 5つの属性を持っていたExampleSetが2つの属性に削減されていることがわかります。

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル