0

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

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

http://ehmad11.com/DM1.png

4

3 回答 3

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
;
于 2012-07-23T08:24:57.870 回答
1

决策树也应该适用于非二元属性。如果 Oracle 不支持这一点,请使用更好的工具。

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

于 2012-07-23T14:35:25.113 回答
0

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

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

于 2012-07-28T10:49:47.593 回答