全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5800 5
2016-10-14
如题,使用glm()函数建模后,将带有哑变量的系数保存至数据库(ORACLE),然后想在数据库中进行预测(直接代入模型系数)。但是因为含有哑变量,那用sql处理的话,怎样比较简单呢?(数据量比较大,所以不考虑将预测数据导入R中计算)跪求大神帮助!!先行谢过!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-10-17 14:23:53
不太理解,带有哑变量的系数 为什么和普通变量不一样?
是 数据库里 M/F这样的值, 需要转成0/1这样的哑变量?
能在说具体点吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-17 18:41:57
jameschin007 发表于 2016-10-17 14:23
不太理解,带有哑变量的系数 为什么和普通变量不一样?
是 数据库里 M/F这样的值, 需要转成0/1这样的哑变 ...
就是要用r语言做个逻辑回归的分类模型,然后需要把回归系数保存到数仓中,
但是r建模时,自动将离散变量处理成了哑变量(比如某个离散变量有3个选项,经过r处理后,就变成了3个系数,每个选项对应一个系数)。
将带有哑变量的系数保存到数据库后,需要进行预测实施,就是根据原变量和r计算出的系数(每个变量不止一个系数)进行计算。
最后就是在数仓中怎么计算比较方便……俺解释明白了吗……
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-18 11:23:45
算了灬 发表于 2016-10-17 18:41
就是要用r语言做个逻辑回归的分类模型,然后需要把回归系数保存到数仓中,
但是r建模时,自动将离散变量 ...
貌似是问sql语句怎么写?
假设你有一个表table1 是数据。 ABC三个列。 table2 存系数表  A,B,C1,C2,C3(只存一条系数记录)
AB都是 数值型。 C是字符型。 也就是那个要设哑变量的。
1. 直接写sql 语句。 可以在sql里写case when  语句。 oracle 我不太熟。sqlserver 大概是这样写
select  CASE WHEN C ='XXX' THEN  1.58
         When  C='YYY'  then -0.67
         when  C='ZZZZ'  then 7.78
         end   C_factor  from table1
2. 对table1 增加哑变量列 C 列 后面增加   C1,C2,C3列。
然后 update  table1 set C1=1,C2=0,C3=0 where  C=‘YYY’
。。。。
然后 select a.A*b.A+a.B*b.B+a.C1*b.C1+a.C2*b.C2+a.C3*b.C3 from tabel1 a ,table2 b
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-21 18:25:25
jameschin007 发表于 2016-10-18 11:23
貌似是问sql语句怎么写?
假设你有一个表table1 是数据。 ABC三个列。 table2 存系数表  A,B,C1,C2,C3 ...
谢谢!要的就是这个~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-6-2 17:30:39
楼主你好!我也用R语言的glmnet包中的Lasso-Logistic,得出系数后在R中直接用predict进行预测的准确率特别低,是不是这个预测处有问题呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群