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

时间:2012-07-23 01:49:09

标签: oracle data-mining decision-tree

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

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

http://ehmad11.com/DM1.png

3 个答案:

答案 0 :(得分:1)

不确定您的“二进制数”要求在技术上是否详细,但一种解决方案是将字符串中的每个字符转换为二进制表示形式:

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
;

答案 1 :(得分:1)

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

但请勿使用订阅者ID列。该ID对您的用户来说是独一无二的,并且看起来非常适合预测,但在现实中却毫无用处。

答案 2 :(得分:0)

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

您的工具不支持这一点似乎很奇怪。我建议找一个更好的工具。