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

エラー時に特定の処理を行わせる方法

投稿日: 2021年07月02日
OS: macOS Big Sur 11.4
バージョン: RapidMiner 9.9.2

プロセスを作成するときに、本来エラーが発生するようなプロセスの時に特定のプロセスを強制的に動かすことがあります。

このような時に、Handle Exceptionというオペレータを使用することで、RapidMinerのプロセス実行中のエラー時に特定のプロセスを実行させることが可能になります。

Handle Exceptionの使い方

Handle ExceptionはサブプロセスとしてTryとCatchを持つオペレータです。Handle Exceptionオペレータが実行されたときに、Try側のプロセスを実行します。ですが、Try側のプロセスの実行中に何らかのエラーが発生した場合、それまでのTryの処理をストップして、Catch側のプロセスを実行します。

この仕組みを使うことで、エラーが発生しても、そのエラーによって動作が止まることを防いだり、エラーが発生した時に実行する特別な処理を定義することができます。

以下にHandle Exceptionの例を示します。

グラフィカル ユーザー インターフェイス, テキスト, アプリケーション, メール 自動的に生成された説明

グラフィカル ユーザー インターフェイス 中程度の精度で自動的に生成された説明

これは、Handle Exceptionオペレータ内部でデータの読み込みを行い、そのまま出力するというシンプルなモデルになります。そしてHandle Exceptionオペレータ内に、Throw Exceptionというオペレータがあります。これはエラーを意図的に発生させることができるオペレータになります。今回は例として、このThrow Exceptionの有効/無効を切り替えることで、Try側のプロセスでエラーを意図的に発生させます。

Throw Exceptionが無効の状態で実行すると、エラーが発生しないため、Try側のデータを読み込み、出力します。読み込まれたのは、Try側のIrisデータでした。

テーブル 自動的に生成された説明

また、Throw Exceptionが有効の時に実行をすると、Tryの実行にThrow Exceptionによってエラーが発生します。これにより、Tryでの実行が中断されて、Catchのプロセスが実行されます。読み込まれたのは、Try側のIrisのデータではなく、Catch側にあるTitanicデータでした。

グラフィカル ユーザー インターフェイス, アプリケーション 自動的に生成された説明

グラフィカル ユーザー インターフェイス, アプリケーション 自動的に生成された説明

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