swh:1:snp:0f920b1e114986636ba2e45b5c1a83473fb6cf12
Tip revision: 12acd76ec1d613505e4bb20b3012e8d8507a310a authored by Lars Kotthoff on 16 May 2018, 20:38:09 UTC
version 0.31
version 0.31
Tip revision: 12acd76
selector.oneR.R
### 1R
# classification and regression
# continous and discrete data
oneR <- function(formula, data) {
new_data = get.data.frame.from.formula(formula, data)
new_data = discretize.all(formula,new_data)
class_data = new_data[[1]]
new_data = new_data[-1] #new_data without class attr
results = sapply(new_data, function(vec) {
vec = factor(vec)
errors = sapply(levels(vec), function(val) {
cvaluestab = as.vector(table(class_data[ which(vec == val) ]))
return(sum(cvaluestab[ -which.max(cvaluestab) ]) / length(class_data))
})
return(sum(errors))
})
results = max(results) + min(results) - results
attr_names = dimnames(new_data)[[2]]
return(data.frame(attr_importance = results, row.names = attr_names))
}