我在处理数据挖掘时遇到问题
我现在附上一张照片,上面是我的桌子。在这个表中有一个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
;
决策树应该接受非二进制属性。
奇怪的是,您的工具不支持此功能。我建议找一个更好的工具。