第五章(药物选择决策支持分析)

一、连接数据库

安装了mysql之后自动安装了ODBC,在开始菜单下搜索“ODBC”即可,打开ODBC,在用户DCN中设置需要连接的数据库即可。

1、选择消费金额前10的顾客

根据订单表、订单明细表、客户表写类似sql的语句,根据订单id汇总总金额,根据总金额降序选择前10条,根据订单id合并订单表、最后根据客户id合并客户表即可。

用mysql导入数据:打开sqlyog,点击相应的数据里——开始新的工作——下一步——系统/用户DSN——选择之前在ODBC添加的数据库——选择相应的表(客户、订单、订单明细)——下一步ok。

在mysql中的操作:

SELECT * FROM 客户 AS d
INNER JOIN 
(SELECT b.订单ID,客户ID ,总金额
FROM 订单 AS a
INNER JOIN (SELECT 订单ID,(单价*数量*(1-折扣)) AS 总金额
FROM 订单明细
GROUP BY 订单ID
ORDER BY 总金额 DESC
LIMIT 10) AS b
ON a.`订单ID`=b.订单ID) AS c
ON d.`客户ID`=c.客户ID

二、分析产品之间的关联

数据结构如下图

步骤:源节点——类型结点——网络结点

粗线为强关联,细线弱关联

 

三、直邮目标客户挖掘

数据结构

变量:年龄、性别、客户所在地、收入、是否结婚、孩子数量、有无汽车、是否有储蓄账户(save_act)、是否有活期账户(current_act)、是否有抵押贷款(mortgage)、是否响应(pep:yes为响应,no为不响应)。

建模

步骤:源节点——分区(分为训练集和测试集)——类型(定义输入输出)——c5.0(以信息增益率划分特征的决策树)——分析(模型评估)

评估:

10折交叉验证,平均正确率91.3%。

注意:在spss modeler中对分类变量值为字符串格式的字段不需要像sklearn那样转为数字或者生成哑变量(one-hot),spss modeler内部会自动编码。

模型应用:

用sklearn试下

import pandas as pd
import numpy as np

data = pd.read_csv(r"C:\Users\Administrator\Desktop\mailshot.csv",encoding = "utf-8")

data.drop(["id"],inplace = True ,axis =1)#丢掉ID列

#将分类字符串改为数字
tra_dict = {"MALE" : 0,"FEMALE":1}
data["sex"] = data["sex"].map(tra_dict)
tra_dict1 = {"NO":0,"YES":1}
for u in ["married","car","save_act","current
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值