Databases Reference
In-Depth Information
mae_sig
<-
c
(
mae_sig
,
sd
(
a
$
wmae
))
}
univar
<-
data.frame
(
vlist
,
auc_mu
,
auc_sig
,
mae_mu
,
mae_sig
)
# Get MAE plot on single variable -
use holdout group
for
evaluation
set
<-
read.table
(
file
,
header
=
TRUE
,
sep
=
"\t"
,
row.names
=
"client_id"
)
names
(
set
)
split
<-
.65
set
[
"rand"
]
<-
runif
(
nrow
(
set
))
train
<-
set
[(
set
$
rand
<=
split
),
]
test
<-
set
[(
set
$
rand
>
split
),
]
set
$
Y
<-
set
$
Y_BUY
fit
<-
glm
(
Y_BUY
~
num_checkins
,
data
=
train
,
family
=
binomial
(
logit
))
y
<-
test
$
Y_BUY
p
<-
predict
(
fit
,
newdata
=
test
,
type
=
"response"
)
getmae
(
p
,
y
,
50
,
"num_checkins"
,
1
)
# Greedy Forward Selection
rvars
<-
c
(
"LAST_SV"
,
"AT_FREQ_SV"
,
"AT_FREQ_BUY"
,
"AT_BUY_BOOLEAN"
,
"LAST_BUY"
,
"AT_FREQ_LAST24_SV"
,
"EXPECTED_TIME_SV"
,
"num_checkins"
,
"EXPECTED_TIME_BUY"
,
"AT_FREQ_LAST24_BUY"
)
# Create empty vectors
auc_mu
<-
c
()
auc_sig
<-
c
()
mae_mu
<-
c
()
mae_sig
<-
c
()
for
(
i
in
c
(
1
:
length
(
rvars
)))
{
vars
<-
rvars
[
1
:
i
]
vars
a
<-
getxval
(
vars
,
set
,
10
,
100
)
auc_mu
<-
c
(
auc_mu
,
mean
(
a
$
auc
))
auc_sig
<-
c
(
auc_sig
,
sd
(
a
$
auc
))
mae_mu
<-
c
(
mae_mu
,
mean
(
a
$
wmae
))
mae_sig
<-
c
(
mae_sig
,
sd
(
a
$
wmae
))
}
kvar
<-
data.frame
(
auc_mu
,
auc_sig
,
mae_mu
,
mae_sig
)
# Plot 3 AUC Curves
y
<-
test
$
Y_BUY
fit
<-
glm
(
Y_BUY
~
LAST_SV
,
data
=
train
,
family
=
binomial
(
logit
))