見出し画像

dataikuのProcessor Libraryを使いこなす.1:Filter data

はじめに

dataikuのデータ前処理で使うPrepareで使いProcessor Library。たくさんあって便利そうなのだけど、どう使えばいいかが分かりにくい。
説明もあるけど2023年12月現在全て英語で、UI的な問題でもあるのだけど編集作業をしながら説明を並べてみることができない。備忘メモの意味もかねてProcessor Libraryを一通り使ってみて何ができるかを解説します。

Filter data

Delete/Keep columns by name

対象カラム名を指定すると指定したカラムの値を消す、もしくは指定したカラム以外の値を消す。複数の項目を設定することも可能

Flag rows on value

フラグの名称をFlag(output)columnに設定
Columnにチェック対象の項目名を指定して条件を指定するとフラグ列を作成する(下記画像だと30,31,32,33に一致するものはAge_flg列にフラグが設定される)

Filter rows/cells on numerical range

指定したカラムの値がbetween and の範囲内/外の行をフィルターする(下記画像だとDailyRateの値が1,000~1,300に該当する行がフィルターされる)

Filter rows/cells with formula

計算式に一致/不一致の行を行をフィルターする(下記画像だとDepartment =="Sales"の条件に一致する行がフィルターされる)

Filter invalid rows/cells

カラムの値が指定したデータ形式(Text,Decimal,Integer)に一致/不一致の行をフィルターする(同じ列に数値と文字列が入ってるとき、別の列として分割する場合に使えそう)

Filter rows/cells on date

Date型のカラムに対して指定した条件(期間、年、月、日)に一致/不一致の行をフィルターする(下記画像だとOrder Dateが2020/1/1~2020/1/5の条件に一致する行がフィルターされている)

Filter rows/cells on value

カラムの値が指定した条件に一致/不一致の行をフィルターする。Match Modeを設定すると部分一致の検索も可能(下記画像だとSegmentがConsumerの条件に一致する行がフィルターされている)

Remove rows where cell is empty

カラムの値が空欄の場合行を除去

Filter invalid rows

作成するフラグの名称をFlag(output)columnに設定
Columnにチェック対象の項目名を指定してMeaning to checkでデータの型を指定。条件に一致しないとフラグが設定される(下記画像だとShip ModeがDecimalに一致しない行はフラグが設定されている)

Flag rows on numerical range

作成するフラグの名称をFlag(output)columnに設定
Columnにチェック対象の項目名を指定して数値の範囲を指定。条件に一致する行にフラグが設定される(下記画像だとQuantityが2~3に一致する行にフラグが設定されている)

Flag rows/cells on date range

作成するフラグの名称をFlag(output)columnに設定
Date Columnにチェック対象の日付カラム名を指定。Flag onにフラグを設定する条件を指定してFrom Toに日付の範囲を指定。条件に一致する行にフラグが設定される(下記画像だとOrder Dateが2020/1/3~2020/1/4に該当する行にフラグが設定されている)

Flag rows with formula

Expressionに式を入力
Flag coumunに作成するカラム名を指定。式の条件に一致する行にフラグが設定される(下記画像だとCityがHoustonに該当する行にフラグが設定されている)
ここだけ他のフラグを設定するProcessorと記述の仕方が違います

まとめ

今回はFilter dataグループの解説を書いてみました。条件に合わせてフラグ列を作成するヴァリエーションが豊富だけど、後処理でMLを動かすときに使うことを想定しているのでしょうか。次回はData cleansingの解説をいたします。

最後までお読みいただき、ありがとうございます。


この記事が気に入ったらサポートをしてみませんか?