oracle中决策树算法的二进制转换



我在处理数据挖掘时遇到问题

我现在附上一张照片,上面是我的桌子。在这个表中有一个subscriber_id列,它是唯一的,我必须为这个项目使用决策树算法。决策树算法只接受二进制数字,我不知道如何将这些数字转换为二进制。

http://ehmad11.com/DM1.png

决策树也应该适用于非二进制属性。如果Oracle不支持此功能,请使用更好的工具。

但不要使用订阅者ID列。ID对您的用户来说是唯一的,看起来非常适合预测,但在现实中毫无用处。

不确定您的"二进制数"要求在技术上有什么详细信息,但一种解决方案是将字符串中的每个字符转换为其二进制表示:

SELECT
       REPLACE(
        REPLACE(
         REPLACE(
          REPLACE(
           REPLACE(
            REPLACE(
             REPLACE(
              REPLACE(
               REPLACE(
                REPLACE(
                 REPLACE(
                  REPLACE(TRANSLATE ('1.233.234.234-12312312' -- example from you screenshot, subscriber_id goes here
                                   , '.-'                     -- non-numeric characters in your data, extend if more possible
                                   , 'AB')                    -- replacement for non-numeric characters in your data, extend if more possible
                  ,'0','0000')
                 ,'1','0001')
                ,'2','0010')
               ,'3','0011')
              ,'4','0100')
             ,'5','0101')
            ,'6','0110')
           ,'7','0111')
          ,'8','1000')
         ,'9','1001')
        ,'A','1010')
       ,'B','1011')  -- extend to C, D, ... if more non-numerics in your data
        AS bin
  FROM dual
;

决策树应该接受非二进制属性。

奇怪的是,您的工具不支持此功能。我建议找一个更好的工具。

最新更新