/
model_assessment.R
30 lines (22 loc) · 1.13 KB
/
model_assessment.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/Rscript
source('example_model.R')
training.data$LogitProbabilities <- 1 / (1 + exp(-predict(logit.fit)))
predicted.probabilities <- ddply(training.data,
'Package',
function (d) {with(d, LogitProbabilities[1])})
names(predicted.probabilities) <- c('Package', 'PredictedProbability')
empirical.probabilities <- ddply(training.data,
'Package',
function (d) {nrow(subset(d, Installed == 1)) / nrow(d)})
names(empirical.probabilities) <- c('Package', 'EmpiricalProbability')
probabilities <- merge(predicted.probabilities,
empirical.probabilities,
by = 'Package')
mean.absolute.error <- with(probabilities,
mean(abs(PredictedProbability - EmpiricalProbability)))
worst.case.absolute.error <- with(probabilities,
max(abs(PredictedProbability - EmpiricalProbability)))
library('SortableHTMLTables')
sortable.html.table(probabilities,
'probabilities.html',
'reports')