カスタマイズされた計算
カスタマイズされた計算コンソール
選択したデータ ソースからデータをインポートした後、Customized Computation を使用して、正規表現を使用してデータを柔軟に編集できます。
Customized Computation Console の左上には、正規表現を入力できるエディターがあります。 RATH は、入力時に提案を求めます。プロンプトをクリックするか、Tab キーを押すことで、提案を確認できます。
式が無効な場合は、左下隅にエラー メッセージが表示されます。 式が有効な場合、列の出力プレビュー (分布図) が右側でリアルタイムに更新されます。
式の構文
基本
田畑
カスタマイズされた計算式は、フィールド ID によってフィールド (元のフィールドと拡張されたフィールドの両方) を参照します。 エディターでは、フィールドの名前を入力し、対応するフィールドにインテリジェントに一致させた後、オートコンプリートを選択できます。
フィールドの種類
カスタマイズ演算式の当該フィールドのデータ型で、元の型には以下の3種類があります。
set
型: 順序付けられた number 型で、序数を表し、数学演算には関与しませんgroup
タイプ: 個別の number タイプ、数学演算に関与collection
型: string 型
Customized Computation 式の演算子はデータ型に強く関連付けられており、必要に応じて、対応する演算子を使用して列を変換します (これにより、元の列が変更される代わりに新しい列が作成されます)。
リテラル
カスタマイズされた計算式は、JavaScript の数値および文字列リテラルを部分的にサポートします。
声明
カスタマイズされた計算式は、演算子、フィールド参照、リテラル、および演算子で構成されます。 演算子は、Customized Computation の機能の中核です。
カスタマイズされた計算式では、ネスト可能な演算子を使用し、少なくとも 1 つの新しいフィールドを生成してエクスポートする必要があります。
最も外側のカスタマイズされた計算式は、複数の計算ステートメントをカンマ ,
で分割して、計算プロセス用のいくつかの独立したフィールドをすばやく作成できます。
式にセミコロンを使用しないでください。
DateTime オブジェクト
DateTime オブジェクトは、$toDate
演算子によって返される特別な種類のオブジェクトです。
直接エクスポートでは、タイムスタンプ付きのフィールド (「グループ」タイプの列) が生成されます。
新しい単一または複数の列を構築するために sliced にすることもできます。
スライス構文は「<Datetime オブジェクト>.<ディメンション タグ>」です。
有効な寸法表記には、「Y」、「M」、「W」、「D」、「h」、「m」、「s」が含まれます。
オペレーター
演算子は、フィールドまたはその他のオブジェクトを操作する関数です。
演算子識別子は $
記号で始まります。
演算子の呼び出し構文は <operator>(<parameter 1>, <parameter 2>...)
です。
キーワード
演算子「out」
計算によって生成された新しい拡張列の場合、計算ステートメントの前に out
キーワードを追加してエクスポートします。
out
演算子は、ネストされた操作の 任意のレベル に配置できます。
**カスタマイズされた計算式には、少なくとも 1 つの **out**
ステートメントが含まれている必要があります。 **
エクスポートされたフィールドの名前として、「out」キーワードの後に特殊文字を含まない単語を追加できます。
特に、四則演算で生成されたフィールドについては、その名前を明示的に宣言する必要があります。
例:
一般的な演算子
型変換
$set(グループ|コレクション) -> セット
セット型の列を非セット型の列から変換します。
$group(セット|コレクション) -> グループ
非グループ型の列からグループ型の列を変換します。 フィールドに対して数学演算を実行するときに役立ちます (演算が意味をなすことを確認する必要があります)。
$nominal(set|group) -> コレクション
コレクション型の列を非コレクション型の列から変換します。
序数生成
$id() -> セット
1 から始まる ID を生成します。
$order(セット|グループ) -> セット
フィールドのすべての行の数学的順序 (1 から開始) を生成します。
$dict(コレクション) -> セット
フィールドのすべての行の辞書式順序 (1 から開始) を生成します。
データの標準化
$インセット(グループ) -> グループ
フィールドを間隔 -1 ~ 1 に標準化します。
$bound(グループ) -> グループ
フィールドを間隔 0 ~ 1 に標準化します。
$normalize(group) -> group
Z スコアを使用してフィールドを正規化します。
非線形変換
$log(group) -> group
, $log(group, JS.number) -> group
対数マッピング、底を指定できます。デフォルトは自然対数です。
$log2(グループ) -> グループ
$log10(グループ) -> グループ
$log1p(グループ) -> グループ
$log(group + 1) と同等。
$シグモイド(グループ) -> グループ
$ReLU(グループ) -> グループ
データクリーニング
$isNaN(set|group) -> コレクション
行がフィールドで NaN の場合は「1」を返し、そうでない場合は「0」を返します。
$isZero(set|group) -> コレクション
行が特定のフィールドで 0 の場合は "1" を返し、そうでない場合は "0" を返します。
$zeroFill(グループ) -> グループ
フィールドの行の外れ値 (±Infinity | NaN ) を 0 にマップします。
$meanFill(グループ) -> グループ
フィールド上のこの行の外れ値 (±Infinity|NaN) を外れ値以外の平均にマップします。
$nearestClip(group, JS.number, JS.number) -> group
範囲を指定すると、この範囲を超える特定のフィールドの行の値が、外れ値として最も近い境界値にマップされます。
$meanClip(group, JS.number, JS.number) -> グループ
範囲を指定すると、この範囲外のフィールドの行の値は、外れ値として外れ値以外の値の平均値にマップされます。
$boxClip(グループ) -> グループ
箱ひげ図の統計を使用して、フィールドの外れ値をマークし、それらを NaN に置き換えます。
文字列操作
$concat(collection, ...collection) -> collection
, $concat(JS.string, collection, ...collection) -> collection
複数の文字列列の内容を、区切り文字 (デフォルトでは ,
) を使用して連続して新しい列として連結します。
日付時刻
$toDate(グループ|セット|コレクション)
この演算子は特別な種類の日時オブジェクトを導入し、そのオブジェクトのインスタンスを返します。
ベストプラクティス
正規化変換
非線形マッピング
この場合、非線形マッピングを使用して、Bike Sharing Demo Database から「casual」列を変換しようとします。
DateTime 情報を取得する
Bike Sharing Demo Database から DateTime 情報を取得できます。_c_4
は年、_c_1
は月です。
次に、「weekday」パラメータを計算できます。