キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

DataRobotで数値特徴量を数値範囲毎にカテゴリ化

k-kishibe
NiCdバッテリー

DataRobotにて1~100のような数値が入った特徴量を、Bin化してカテゴリとして利用することは可能でしょうか?

 

(例)元特徴量:1-100の値を以下のような4カテゴリに分けたいと考えています。

1-9:  カテゴリ1

10-19: カテゴリ2

20-100: カテゴリ3

 

取り急ぎ考えたのが以下のアイデアですが、switchもしくはifelse分の入れ子ができないものかと考えております。

 

・3つの特徴量を作成して、1つにまとめる

特徴量1:where({元特徴量} <=9, 1, 0)

特徴量2:where({元特徴量} <=19 AND {元特徴量} >=10,2, 0) ※AND句も使えない?

特徴量3:where({元特徴量} >=20, 3, 0)

最終特徴量:{特徴量1}+{特徴量2}+{特徴量3}

 

0 件の賞賛
1件の返信1
Kazuya310
青色LED

上げていただいた例を実行する場合、確かにAND句は使えませんが、

where関数内にwhere関数を追加、つまり入れ子構造にすれば、所定の動作は可能です。

where({元特徴量} <=9, 1, where({元特徴量} <=19, 2, 3))

 上記の変換では1回の変換で最終特徴量まで作成しましたが、

より複雑な変数を考える場合には、

@k-kishibe 様が記述されたように中間特徴量を作りチェックをしながら

最終特徴量を作るのが良いと思われます。

0 件の賞賛