作者: 江俊
日期: 2018年3月27日
主要介绍批量生成profiling图以及五数概括的自建函数。
项目背景
某保养品公司目前有一款产品线销售情况一直不景气,公司预算有限,希望在现有的客户中挖掘出最有可能在30天内购买该产品的用户群
使用语言
R语言
使用模型
逻辑回归+线性回归
建模步骤
一、 了解数据
- 数据结构
- Y变量定义
- X变量类型
- 响应率情况
- 花费金额分布
代码:
rm(list=ls())
setwd("./") #change the location
getwd() #check the location
list.files() #list the files under your location
#########################################################################
######################## Part1 read data ###########################
#########################################################################
filepath<-"./Exercise_Response_data.csv"
raw<-read.csv(filepath,stringsAsFactors = F)
dim(raw)
str(raw)
summary(raw)
var<-data.frame(var=colnames(raw),type=sapply(raw,class))
# 将结果导出到 xlsx表格
require(XLConnect)
#xlsx <- loadWorkbook('Correlation.xlsx',create=TRUE)
xlsx <- loadWorkbook('myhomework.xlsx',create = T)
createSheet(xlsx,name='variable') #name the worksheet as 'correlation'
writeWorksheet(xlsx,var,'variable',startRow=1,startCol=1, header=TRUE) #define the startrow,startcol,header
saveWorkbook(xlsx)
# dv_revenue
summary(raw$dv_revenue)
raw$dv_revenue<-ifelse(is.na(raw$dv_revenue),0,raw$dv_revenue)
# table 自动忽略缺失值
View(table(raw$dv_revenue))
hist(raw$dv_revenue) # dv_revenue hist
quantile(raw$dv_revenue,(1:20)/20,na.rm = T) # dv_revenue quantile
View(t(mean_rev<-quantile(raw$dv_revenue,c(0,0.01,0.1,0.25,0.5,0.75,0.9,0.99,1),na.rm = T)))
hist(raw[raw$dv_revenue>0 & raw$dv_revenue<=50,"dv_revenue"],main="dev_revenue <=50",xlab = "dev_revenue")
# dv_response
table(raw$dv_response)
prop.table(table(raw$dv_response))
执行结果:
0 1
22878 1220
0 1
0.94937339 0.05062661
二、拆分数据
- train:训练集
- test:验