Mercurial > repos > nicolas > oghma
comparison aggregation.R @ 48:cea4a54c52d0 draft
Uploaded
| author | nicolas |
|---|---|
| date | Wed, 26 Oct 2016 17:31:45 -0400 |
| parents | ac0c3826cca4 |
| children |
comparison
equal
deleted
inserted
replaced
| 47:7b9b78352811 | 48:cea4a54c52d0 |
|---|---|
| 10 library("miscTools") | 10 library("miscTools") |
| 11 library(rpart) | 11 library(rpart) |
| 12 suppressWarnings(suppressMessages(library(randomForest))) | 12 suppressWarnings(suppressMessages(library(randomForest))) |
| 13 library(e1071) | 13 library(e1071) |
| 14 suppressWarnings(suppressMessages(library(glmnet))) | 14 suppressWarnings(suppressMessages(library(glmnet))) |
| 15 options(warn=-1) | |
| 15 ############################ helper functions ####################### | 16 ############################ helper functions ####################### |
| 16 | 17 |
| 17 ##### Genetic algorithm | 18 ##### Genetic algorithm |
| 19 | |
| 20 # compute r2 by computing the classic formula | |
| 21 # compare the sum of square difference from target to prediciton | |
| 22 # to the sum of square difference from target to the mean of the target | |
| 23 r2 <- function(target, prediction) { | |
| 24 sst <- sum((target-mean(target))^2) | |
| 25 ssr <- sum((target-prediction)^2) | |
| 26 return(1-ssr/sst) | |
| 27 } | |
| 28 | |
| 18 optimizeOneIndividual <- function(values, trueValue) { | 29 optimizeOneIndividual <- function(values, trueValue) { |
| 19 # change the value into a function | 30 # change the value into a function |
| 20 f <- function(w) {sum(values * w/sum(w))} | 31 f <- function(w) {sum(values * w/sum(w))} |
| 21 fitness <- function(x) {1/abs(trueValue-f(x))} | 32 fitness <- function(x) {1/abs(trueValue-f(x))} |
| 22 resp <- ga(type = "real-valued", fitness = fitness, min = rep(0, length(values)), max = rep(1, length(values)), | 33 resp <- ga(type = "real-valued", fitness = fitness, min = rep(0, length(values)), max = rep(1, length(values)), |
| 280 dt={ | 291 dt={ |
| 281 aggregateDT(classifiers = classifPrediction, target = phenotype, | 292 aggregateDT(classifiers = classifPrediction, target = phenotype, |
| 282 out = out, prediction = prediction, model=model) | 293 out = out, prediction = prediction, model=model) |
| 283 }, | 294 }, |
| 284 lasso={ | 295 lasso={ |
| 285 aggregateLASSO(classifiers = classifPrediction, target = phenotype, | 296 aggregateLASSO(classifiers = data.matrix(classifPrediction), target = phenotype, |
| 286 out = out, prediction = prediction, model=model) | 297 out = out, prediction = prediction, model=model) |
| 287 }, | 298 }, |
| 288 rf={ | 299 rf={ |
| 289 aggregateRF(classifiers = classifPrediction, target = phenotype, | 300 aggregateRF(classifiers = classifPrediction, target = phenotype, |
| 290 out = out, prediction = prediction, model=model) | 301 out = out, prediction = prediction, model=model) |
