RapidMiner Studio 9.9.0の新着情報
リリース日 : 2021年3月24日
以下のセクションは、RapidMiner Studio 9.9.0の新着情報について記載しています。
新機能
- データは全てのRapidMinerプロセスにとって中心的な存在です。今回のリリースから、RapidMinerが内部でデータを扱う方法が、新しいData Core(コードネーム Belt)へ根本的に変わりました。新しいカラム型テーブル表現は、RapidMinerプロセスの処理速度とメモリ効率を飛躍的に向上させます。すでに複数のオペレータは内部的に使用していましたが、この度、エクステンション開発者が完全に利用できるようになり、速くて効率的なオペレータを作成することができます。
- Set Positive Valueオペレータが新しいData Coreに追加されました。これにより、nominal型の属性をbinominal型に変更することや、binominal型の属性のpositive value(正の値)を変更することが可能です。
機能強化
- Rename by Example Valuesオペレータを、改良した新バージョンに変更しました
- Renameオペレータを、辞書を用いた名前の変更が行える新しいものへ変更しました
- Sortオペレータを複数属性のソートが行えるものへ変更しました(以前はOperator Toolboxエクステンションの一部でした)
- FP-Growthオペレータを改良し、ダミーコーディングされた列のアイテムに対して、明確にpositive valueと定義されたもの(二値属性またはpositive valueパラメータで定義)しか動作しないようにしました
- 特定の状況下でのCross Validationのメモリ使用量を改善しました
- Read CSVとRead Excelオペレータが新しいデータコアを使用するよう改良されました
- Pivotで、数値属性のLeastとModeの集計もサポートするようになりました
- Annotateで、メタデータへのアノテーションも追加するようになりました
- 現在のStudioバージョンより前のバージョンのAI Hub上にあるプロセスを実行しようとすると、警告が表示されるようになりました
- 起動後のダイアログに互換性のないエクステンションを表示する際、エクステンションのロードに失敗した理由が表示されるようになりました。詳細はツールチップで表示されます。
- 統合されているChromiumをバージョン84にアップグレードしました
- 項目値のセットに関する一部のメタデータ変換を改善しました
- エクステンションのコピーが二つ以上インストールされている場合、重複したエクステンションのアイコンが起動時のスプラッシュスクリーンに表示されなくなりました
- グラフで、数値属性のLeastとModeの集計もサポートするようになりました
- 一部の特殊なケースの同時実行を改善しました
- Exchange Rolesオペレータが廃止されました
- Gradient Boosted Treeモデルのモデルビューで、Studioのプリファレンスの「数値のフォーマット設定」が反映されるようになりました
- オートモデルで新しいクラスタリングアルゴリズムが使用され、データセットへのOne-Hotエンコーディングが不要になり、多くの値をもつ項目属性があるデータセットのメモリフットポイントが削減されました。その結果、現在ユーザーはX-Meansのクラスターの最小値を設定することができなくなりました(クラスターの最適な数が自動で決定されます)。現在、最小値は2に固定されています。
- 時系列 : Moving Average Filterオペレータにignore invalid valuesオプションが追加されました。フィルタリングされた値を計算する際、無効な値(欠損値、正と負の無限大)は無視されます。
これにより、フィルタリングされる時系列の最初と終わりにも有効な値が得られます。
Classic DecompositionとFunction and Seasonal Component ForecastはMoving Average Filterを基にしているため、これらにも”ignore invalid values”オプションが追加されています。
バグ修正
- LFS light checkoutが有効な場合の、データテーブルの読み込み、書き込みを修正しました
- 遠い未来または遠い過去の値をもつdate/time属性を使用した場合に、捕捉されなかった例外が通過することがある問題を修正しました
- プロセスがExecute Processの実行に失敗し、ユーザーがポップアップから問題を修正して直接実行した場合に発生する、捕捉されなかった例外を修正しました
- Random Forest回帰の属性の重みが間違っていたのを修正しました
- k-Meansモデルを適用した後にStoreオペレータを使用した場合のエラーを修正しました
- ワイルドカード(.*)フィルタが適用された場合に、保存ダイアログが選択を受け入れない問題を修正しました(例:Write Document)
- Pivotのメタデータの列名が実際のデータと一致しない問題を修正しました
- プロジェクトのファイルを復元する際の確認ダイアログのテキストの欠落を修正しました
- Studioの起動が突然失敗することがある問題を修正しました
- 一部のオペレータのポートの前提条件に関して、起動時に起こる可能性があるエラーを修正しました
- プロジェクト作成時に、エラーが表示されず何も起きていないように見えることがあるバグを修正しました
- カスタムモデルのデプロイメントにおいて、前処理モデルのチェックを除きました。これは、技術的には前処理されないモデル(例:PCA)を含んでいた場合に、グループ化されたモデルに影響を及ぼしていました。
- 時系列 : Lagオペレータで、先行ポートでもオリジナルデータが変更されてしまうバグを修正しました
- 時系列 : Sliding Window Validationの二つのチュートリアルプロセスの説明内の小さな誤りをいくつか修正しました
- 時系列 : time-basedウィンドウイングで、最後の窓の終わりが入力データの最後のタイムスタンプと等しい場合に起こるエラーを修正しました。これは、全てのウィンドウイングオペレータ(Windowing, Process Windows, Forecast Validation, Sliding Window Validation)と関係します。
- クラウド接続 : Windows上のファイルブラウザで正しいパスセパレータ文字を追加し、AWS、Azure、Google Cloudファイルオペレータの適切なマクロを解決するようになりました
開発
新しいData Core
- ExampleSetとExampleSetMetaDataは公式に廃止されました。これからは、新しいオペレータはBelt Tables(com.rapidminer.belt.table.Table)を使用して設計する必要があります。もちろん、当面の間、ExampleSetsをもつ既存のオペレータは動作します。詳細は以下のリソースをご覧ください。
- Tables/ExampleSetsは、メタデータにTableMetaDataをもつIOTableとして非レガシーリポジトリから取得されるようになりました。以下のようなものは、もう動作しません。
IOObjectEntry dataEntry = dataLoc.locateData();
if (!ExampleSet.class.isAssignableFrom(dataEntry.getObjectClass())) {
return false;
}
MetaData metaData = dataEntry.retrieveMetaData();
if (!(metaData instanceof ExampleSetMetaData)){
return false;
}
...
IOObject ioObject = dataEntry.retrieveData(null);
if (!(ioObject instanceof ExampleSet)){
return false;
}
ExampleSet exampleSet = (ExampleSet) ioObject;
...
以下で置換すべきです。
IOObjectEntry dataEntry = dataLoc.locateData();
if (!IODataTable.class.isAssignableFrom(dataEntry.getObjectClass())) {
return false;
}
MetaData metaData = dataEntry.retrieveMetaData();
ExampleSetMetaData esMD = BeltConversionTools.asExampleSetMetaDataOrNull(metaData);
if (esMD == null){
return false;
}
...
IOObject ioObject = dataEntry.retrieveData(null);
ExampleSet exampleSet = BeltConversionTools.asExampleSetOrNull(ioObject);
if (exampleSet == null){
return false;
}
...
- ポートのMetaDataをTableMetaDataにすることができるようになりました。Port#getMetaData()が自動的にTableMetaDataをExampleSetMetaDataに変換するため、全てのメタデータ変換は引き続き動作します。しかし、このメソッドは廃止されているため、可能であれば自動的に希望のクラスへ変換するPort#getMetaData(ExampleSetMetaData.class)またはPort#getMetaDataAsOrNull(ExampleSetMetaData.class)へ置換するべきです。この新しいメソッドはデータの場合と似ています。例えばPort#getAnyDataOrNull()は、すでに9.4で廃止されており、可能であれば望むクラスに自動的に変換するPort#getDataAsOrNull(ExampleSet.class)へ置換するべきです。ポートのデータメソッドには何も変更はありませんが、9.9ではより多くのオペレータがExampleSetではなくIOTableをポートへ渡します。Read CSVとRead Excelオペレータは新しいデータコアを使用するよう改良されました。何らかの形でCSVExampleSourceまたはExcelExampleSourceに対応するクラスを使用している場合は、今後はCSVTableSourceやExcelTableSourceを使用してください。
ログが国際化に対応
ログがi18n(国際化)をサポートするようになりました。これを行うには、以下のいずれかに従ってください。
- RapidMinerエクステンションの場合 : LogMessagesXYZ.propertiesを既存のUserErrorMessages.propertiesなどのファイルがある場所のとなりに追加します。Studio 9.9+でのみ反映され、これ以前のStudioのバージョンでは無視されます。
- ログモジュールを使用する場合は、単純にcom.rapidminer.tools.I18N#registerLoggingBundle(ResourceBundle)でLogMessagesXYZ.propertiesを登録します。