In previous steps features were selected by using GA technology to assess the suitability of such features.
Differnt GA strategies for fitness evaluation and we have tested nearcenter and randomforest technologies.
Feature selection was prepared acording to document paso2
suppressPackageStartupMessages(library(googleVis))
suppressPackageStartupMessages(library(xtable))
suppressPackageStartupMessages(library(Peaks))
suppressPackageStartupMessages(library(magic))
suppressPackageStartupMessages(library(segmented))
suppressPackageStartupMessages(library(fftw))
suppressPackageStartupMessages(library(FITSio))
suppressPackageStartupMessages(library(stringr))
suppressPackageStartupMessages(library(utils))
suppressPackageStartupMessages(library(e1071))
suppressPackageStartupMessages(library(quantmod))
suppressPackageStartupMessages(library(JADE))
suppressPackageStartupMessages(library(zoo))
suppressPackageStartupMessages(library(plyr))
suppressPackageStartupMessages(library(doMC))
suppressPackageStartupMessages(library(multicore))
suppressPackageStartupMessages(library(parallel))
suppressPackageStartupMessages(library(foreach))
suppressPackageStartupMessages(library(compiler))
suppressPackageStartupMessages(library(galgo))
##Feature extraction as defined by the GA
For feature selection BT-Settl 2012 library from France Allard was selected and wavelength reduction was performed to become compatible with the data coming from the satellite IPAC.
# Procesado del genético de Tª
setwd("~/git/M_sel")
load("nearcenter_ALL_T_5_900.RData")
plot(bb.nc.1, type = "fitness")
plot(bb.nc.1, type = "fitness", filter = "nosolutions")
plot(bb.nc.1, type = "confusion")
## Computing confusion from class prediction...
## 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100%
cpm <- classPredictionMatrix(bb.nc.1)
cm <- confusionMatrix(bb.nc.1, cpm)
sec <- sensitivityClass(bb.nc.1, cm)
spc <- specificityClass(bb.nc.1, cm)
plot(bb.nc.1, type = "confusion", set = c(1, 0), splits = 1)
## Computing confusion from class prediction...
## 5% 10% 15% 20% 25% 30% 35% 40% 45% 50% 55% 60% 65% 70% 75% 80% 85% 90% 95% 100%
plot(bb.nc.1, type = "confusion", set = c(1, 0), splits = 1, chromosomes = list(bb.nc.1$bestChromosomes[[1]]))
## Computing confusion from class prediction...
plot(bb.nc.1, type = "generankstability")
rchr <- lapply(bb.nc.1$bestChromosomes[1:300], robustGeneBackwardElimination,
bb.nc.1, result = "shortest")
fsm <- forwardSelectionModels(bb.nc.1, plot = FALSE)
## 4% 8% 12% 16% 20% 24% 29% 33% 37% 41% 45% 49% 53% 57% 61% 65% 69% 73% 78% 82% 86% 90% 94% 98%
fsm$models
## [[1]]
## [1] 2661 37503 10025 2662 37077 10026 3555 3701 38514 9882 10905
## [12] 37502 37078 17868 10762 14840
##
## [[2]]
## [1] 2661 37503 10025 2662 37077 10026 3555 3701 38514 9882 10905
## [12] 37502 37078 17868 10762 14840 17867
##
## [[3]]
## [1] 2661 37503 10025 2662 37077 10026 3555 3701 38514 9882 10905
## [12] 37502 37078 17868 10762 14840 17867 2225
##
## [[4]]
## [1] 2661 37503 10025 2662 37077 10026 3555 3701 38514 9882 10905
## [12] 37502 37078 17868 10762 14840 17867 2225 2226
rownames(ALL)[fsm$models[[3]]]
## [1] "48:51_55:62" "47:52_55:62" "48:51_55:64" "49:52_55:62" "57:62_46:53"
## [6] "49:52_55:64" "83:86_73:80" "84:87_76:83" "84:89_76:83" "48:51_52:61"
## [11] "83:86_73:82" "46:51_55:62" "58:63_46:53" "83:86_70:81" "83:86_70:79"
## [16] "1:4_7:18" "82:85_70:81" "58:61_46:53"
#
features <- list()
features$T <- c("1:4_7:18", "46:53_55:62", "83:86_73:82", "147:150_130:137")
#
Now, we start to load the original data bp_clean and bq_clean, and we will process the features according to the feature list.
In order to generate features we will use the formula \( \int{\lambda_{1}}{\lambda_{2}}{1-\frac{F_{line}}{F_{cont}} d\lambda} \) as depicted in formula (1) of the above reference.
The band frequences are defined in the previous table but \( F_{cont} \) is not defined. As such a genetic algorithm testing different potential continuum spectra will be tested and looking the best matching to explain spectral parameters by precious feature functions.
Once the signal points and continuous regions were identified, models were setted-up and assessed by crossvalidation procedure. Iedas for the implementation were taken from http://moderntoolmaking.blogspot.com.es/2013/03/caretensemble-classification-example.html
# Cargamos bp_clean (BT_SETTL) & bq_clean (IPAC)
load("~/git/M_prep/M_prep_cleanip_BT-Settl.RData")
rm(xtmp)
# Buscamos las catacterísticas para extraerla del conjunto de train par T
signal <- unlist(lapply(features$T, function(x) {
a <- strsplit(x, "_")
return(a[[1]][1])
}))
noise <- unlist(lapply(features$T, function(x) {
a <- strsplit(x, "_")
return(a[[1]][2])
}))
sn <- cbind(signal, noise)
int_spec <- function(x, idx, norm = 0) {
y <- x$data[[1]][eval(parse(text = idx)), ]
xz <- diff(as.numeric(y[, 1]), 1)
yz <- as.numeric(y[, 2])
if (norm > 0) {
yz <- rep(1, length(xz))
}
z <- sum(xz * rollmean(yz, 2))
return(z)
}
#
feature_extr <- function(sn, bp) {
sig <- sn[1]
noi <- sn[2]
Fcont <- unlist(lapply(bp, int_spec, noi, 0))/unlist(lapply(bp, int_spec,
noi, 1))
fea <- unlist(lapply(bp, int_spec, sig, 1)) - unlist(lapply(bp, int_spec,
sig, 0))/Fcont
return(fea)
}
xx <- apply(sn, 1, feature_extr, bp_clean)
colnames(xx) <- as.character(sn[, 1])
xx <- cbind(xx, unlist(lapply(bp_clean, function(x) {
return(x$stellarp[1])
})))
colnames(xx)[5] <- "T"
# Just informing for the features
newfea <- cbind(t(apply(sn, 1, function(x) {
return(range(bp_clean[[1]]$data[[1]][eval(parse(text = x[1])), 1]))
})), t(apply(sn, 1, function(x) {
return(range(bp_clean[[1]]$data[[1]][eval(parse(text = x[2])), 1]))
})))
colnames(newfea) <- c("Signal_from", "Signal_To", "Cont_From", "Cont_To")
print(xtable(newfea), type = "html")
| Signal_from | Signal_To | Cont_From | Cont_To | |
|---|---|---|---|---|
| 1 | 8461.00 | 8471.80 | 8482.60 | 8522.20 |
| 2 | 8623.00 | 8648.20 | 8655.40 | 8680.60 |
| 3 | 8756.20 | 8767.00 | 8720.20 | 8752.60 |
| 4 | 8986.60 | 8997.40 | 8925.40 | 8950.60 |
#
Let's build up several models and compare their performance. Generally speaking we split randomly the learning set and we will learn by ten folder cross validation. Then we will test the models against the unseen data and we will test the ensamble technology, even.
# Setup
gc(reset = TRUE)
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 2142735 114.5 6910418 369.1 2142735 114.5
## Vcells 566268598 4320.3 769748639 5872.8 566268598 4320.3
set.seed(42) #From random.org
# Libraries
library(caret)
## Loading required package: cluster
## Loading required package: lattice
## Attaching package: 'lattice'
## The following object is masked from 'package:multicore':
##
## parallel
## Loading required package: reshape2
## Attaching package: 'caret'
## The following object is masked from 'package:galgo':
##
## best, confusionMatrix
library(devtools)
## Attaching package: 'devtools'
## The following object is masked from 'package:R.oo':
##
## check, unload
# Solo una vez: install_github('caretEnsemble', 'zachmayer') #Install
# zach's caretEnsemble package Code gathered from the author's post.
library(caretEnsemble)
# Data
library(mlbench)
xx <- as.data.frame(xx)
X <- xx[, -5]
rownames(X) <- 1:nrow(X)
X <- data.frame(X)
Y <- xx[, 5]
# Split train/test
train <- runif(nrow(X)) <= 0.66
# Setup CV Folds returnData=FALSE saves some space
folds = 10
repeats = 1
myControl <- trainControl(method = "cv", number = folds, repeats = repeats,
returnResamp = "none", returnData = FALSE, savePredictions = TRUE, verboseIter = FALSE,
allowParallel = TRUE, index = createMultiFolds(Y[train], k = folds, times = repeats))
# Train some models
model1 <- train(X[train, ], Y[train], method = "gbm", trControl = myControl,
tuneGrid = expand.grid(.n.trees = 500, .interaction.depth = 15, .shrinkage = 0.01))
## Loading required package: survival
## Loading required package: splines
## Loaded gbm 2.1
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179307.9595 -nan 0.0100 3410.0473
## 2 175935.5725 -nan 0.0100 3654.7250
## 3 172931.5149 -nan 0.0100 2732.4142
## 4 169644.0842 -nan 0.0100 3694.4000
## 5 166387.3144 -nan 0.0100 2958.1340
## 6 163286.9707 -nan 0.0100 2600.4208
## 7 160239.7764 -nan 0.0100 2801.4742
## 8 157148.3505 -nan 0.0100 2983.2977
## 9 154168.4362 -nan 0.0100 2966.6405
## 10 151303.9871 -nan 0.0100 2987.2508
## 20 125833.1055 -nan 0.0100 2298.0128
## 40 87258.6867 -nan 0.0100 1582.9393
## 60 60661.2538 -nan 0.0100 944.2773
## 80 42874.8693 -nan 0.0100 808.5113
## 100 30661.8896 -nan 0.0100 400.6403
## 120 22422.8813 -nan 0.0100 334.5063
## 140 16822.6978 -nan 0.0100 218.3710
## 160 13003.6565 -nan 0.0100 143.2418
## 180 10493.0607 -nan 0.0100 81.5623
## 200 8650.2908 -nan 0.0100 46.2738
## 220 7353.3170 -nan 0.0100 31.9129
## 240 6435.9236 -nan 0.0100 21.3409
## 260 5786.8477 -nan 0.0100 19.1605
## 280 5305.4703 -nan 0.0100 8.3837
## 300 4962.2221 -nan 0.0100 2.1835
## 320 4728.3826 -nan 0.0100 -5.7258
## 340 4511.0337 -nan 0.0100 -0.7734
## 360 4326.7185 -nan 0.0100 -0.9983
## 380 4197.7866 -nan 0.0100 -12.9052
## 400 4060.9671 -nan 0.0100 -8.5292
## 420 3945.5371 -nan 0.0100 -5.1113
## 440 3840.2091 -nan 0.0100 -9.2332
## 460 3751.6859 -nan 0.0100 -0.0985
## 480 3666.1723 -nan 0.0100 -4.9869
## 500 3580.4464 -nan 0.0100 -0.9406
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180891.2253 -nan 0.0100 3104.5932
## 2 177461.9082 -nan 0.0100 3492.9414
## 3 174169.5063 -nan 0.0100 3083.6787
## 4 171010.3991 -nan 0.0100 3112.3879
## 5 167791.3842 -nan 0.0100 3043.9646
## 6 164691.5943 -nan 0.0100 3188.7683
## 7 161591.4635 -nan 0.0100 3076.1430
## 8 158555.0787 -nan 0.0100 3164.8286
## 9 155518.8975 -nan 0.0100 2889.8978
## 10 152576.1117 -nan 0.0100 3234.2343
## 20 126760.8123 -nan 0.0100 2040.2664
## 40 87582.4108 -nan 0.0100 1520.6286
## 60 60987.7236 -nan 0.0100 1033.9684
## 80 42935.7949 -nan 0.0100 689.4634
## 100 30940.9891 -nan 0.0100 491.0149
## 120 22604.6405 -nan 0.0100 299.4662
## 140 17003.9605 -nan 0.0100 208.9285
## 160 13222.1848 -nan 0.0100 118.5350
## 180 10511.8364 -nan 0.0100 92.5443
## 200 8690.6539 -nan 0.0100 62.2000
## 220 7381.8456 -nan 0.0100 29.5691
## 240 6487.0080 -nan 0.0100 19.5112
## 260 5887.9534 -nan 0.0100 16.5107
## 280 5371.9701 -nan 0.0100 2.6183
## 300 5032.1397 -nan 0.0100 -1.8724
## 320 4757.9145 -nan 0.0100 -0.5814
## 340 4526.5452 -nan 0.0100 -5.3260
## 360 4356.0783 -nan 0.0100 -6.0980
## 380 4229.2522 -nan 0.0100 -1.4554
## 400 4073.9392 -nan 0.0100 -7.3720
## 420 3933.2480 -nan 0.0100 -13.1402
## 440 3815.3861 -nan 0.0100 -2.4036
## 460 3724.2669 -nan 0.0100 -2.8136
## 480 3636.7559 -nan 0.0100 -1.3160
## 500 3552.8527 -nan 0.0100 -6.0980
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 181529.2186 -nan 0.0100 3118.2246
## 2 178018.3245 -nan 0.0100 3205.0033
## 3 174703.3279 -nan 0.0100 3150.5083
## 4 171418.9098 -nan 0.0100 3415.4951
## 5 168267.5598 -nan 0.0100 3331.3096
## 6 165170.2230 -nan 0.0100 2962.8094
## 7 162067.0147 -nan 0.0100 3015.6860
## 8 159039.0844 -nan 0.0100 3141.8339
## 9 156105.4597 -nan 0.0100 2730.3211
## 10 153199.3367 -nan 0.0100 2849.8761
## 20 127080.3267 -nan 0.0100 2245.6042
## 40 87756.5183 -nan 0.0100 1684.1536
## 60 61273.9733 -nan 0.0100 1099.0253
## 80 43257.9586 -nan 0.0100 637.5925
## 100 31132.6928 -nan 0.0100 448.7477
## 120 22680.7319 -nan 0.0100 320.7846
## 140 17164.3482 -nan 0.0100 178.4026
## 160 13234.7088 -nan 0.0100 123.5218
## 180 10538.5246 -nan 0.0100 70.3546
## 200 8679.7402 -nan 0.0100 64.3404
## 220 7412.0605 -nan 0.0100 47.6951
## 240 6482.5488 -nan 0.0100 25.4102
## 260 5772.7301 -nan 0.0100 18.7062
## 280 5269.7174 -nan 0.0100 11.7170
## 300 4889.3188 -nan 0.0100 7.8215
## 320 4621.6326 -nan 0.0100 -13.1395
## 340 4393.4957 -nan 0.0100 7.3966
## 360 4230.5513 -nan 0.0100 0.1000
## 380 4070.6031 -nan 0.0100 0.9303
## 400 3905.1723 -nan 0.0100 -6.6913
## 420 3797.3515 -nan 0.0100 -11.0852
## 440 3697.4112 -nan 0.0100 -3.6464
## 460 3592.1764 -nan 0.0100 -9.3147
## 480 3500.3896 -nan 0.0100 -3.7596
## 500 3423.0113 -nan 0.0100 -13.4424
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 189061.8026 -nan 0.0100 3493.8746
## 2 185444.5595 -nan 0.0100 3908.4862
## 3 181981.6360 -nan 0.0100 3637.2195
## 4 178455.7412 -nan 0.0100 3581.6775
## 5 175143.6801 -nan 0.0100 3197.8992
## 6 171805.4577 -nan 0.0100 3239.4157
## 7 168499.6983 -nan 0.0100 3269.0645
## 8 165254.5896 -nan 0.0100 3272.2046
## 9 162175.6631 -nan 0.0100 2880.9435
## 10 159074.0538 -nan 0.0100 2758.5936
## 20 131745.2136 -nan 0.0100 2314.0378
## 40 90585.4367 -nan 0.0100 1604.8789
## 60 63122.5693 -nan 0.0100 1259.3781
## 80 44484.4630 -nan 0.0100 687.1724
## 100 31895.6077 -nan 0.0100 480.4054
## 120 23261.4444 -nan 0.0100 380.6938
## 140 17259.0607 -nan 0.0100 240.1530
## 160 13253.8982 -nan 0.0100 172.1580
## 180 10487.5155 -nan 0.0100 98.3928
## 200 8618.9678 -nan 0.0100 61.4072
## 220 7337.7942 -nan 0.0100 37.1159
## 240 6471.9284 -nan 0.0100 29.2817
## 260 5802.3719 -nan 0.0100 17.8031
## 280 5299.8351 -nan 0.0100 9.2782
## 300 4967.0530 -nan 0.0100 2.4339
## 320 4701.2142 -nan 0.0100 -3.4820
## 340 4464.3974 -nan 0.0100 0.5008
## 360 4261.6420 -nan 0.0100 0.9904
## 380 4089.9575 -nan 0.0100 -3.2807
## 400 3968.5885 -nan 0.0100 -0.0503
## 420 3861.5027 -nan 0.0100 -17.8948
## 440 3758.5262 -nan 0.0100 -0.1360
## 460 3681.6295 -nan 0.0100 -3.4807
## 480 3593.8707 -nan 0.0100 -5.9248
## 500 3520.8628 -nan 0.0100 -4.1649
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 172880.9175 -nan 0.0100 3745.7838
## 2 169857.0917 -nan 0.0100 3069.5394
## 3 166682.4806 -nan 0.0100 3328.4675
## 4 163460.1806 -nan 0.0100 3544.2493
## 5 160431.3784 -nan 0.0100 2759.2971
## 6 157553.3352 -nan 0.0100 2874.4126
## 7 154685.7289 -nan 0.0100 2658.2597
## 8 151785.5844 -nan 0.0100 3276.8000
## 9 148872.4379 -nan 0.0100 2963.5417
## 10 145987.3374 -nan 0.0100 2962.9743
## 20 120684.6555 -nan 0.0100 2305.6652
## 40 83983.6799 -nan 0.0100 1430.8067
## 60 58896.1993 -nan 0.0100 1166.6275
## 80 41593.7433 -nan 0.0100 705.5550
## 100 29796.6903 -nan 0.0100 505.0255
## 120 21788.1954 -nan 0.0100 281.6830
## 140 16306.6163 -nan 0.0100 199.9793
## 160 12632.4263 -nan 0.0100 150.0976
## 180 10141.4403 -nan 0.0100 95.9542
## 200 8392.3415 -nan 0.0100 52.8838
## 220 7182.7774 -nan 0.0100 49.0350
## 240 6341.2915 -nan 0.0100 31.2260
## 260 5744.6324 -nan 0.0100 -0.5705
## 280 5265.7522 -nan 0.0100 -2.9339
## 300 4918.8457 -nan 0.0100 17.0804
## 320 4639.2461 -nan 0.0100 6.3102
## 340 4415.4921 -nan 0.0100 3.2679
## 360 4206.9395 -nan 0.0100 -7.2330
## 380 4062.6451 -nan 0.0100 -3.6141
## 400 3923.8521 -nan 0.0100 0.8510
## 420 3824.4877 -nan 0.0100 -4.9500
## 440 3711.8677 -nan 0.0100 0.2932
## 460 3616.4978 -nan 0.0100 -6.4666
## 480 3518.3239 -nan 0.0100 -0.5891
## 500 3421.4358 -nan 0.0100 -3.6602
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179290.5881 -nan 0.0100 3568.0059
## 2 176095.8400 -nan 0.0100 3413.5503
## 3 172838.4081 -nan 0.0100 2933.2246
## 4 169613.1081 -nan 0.0100 3308.4414
## 5 166360.4360 -nan 0.0100 3132.8190
## 6 163249.7017 -nan 0.0100 3412.9446
## 7 160140.2446 -nan 0.0100 3057.6835
## 8 157122.3008 -nan 0.0100 2768.1505
## 9 154159.9728 -nan 0.0100 2730.0439
## 10 151328.7444 -nan 0.0100 2770.5688
## 20 125485.4177 -nan 0.0100 2339.6673
## 40 87087.9919 -nan 0.0100 1677.7010
## 60 60921.5247 -nan 0.0100 1060.2662
## 80 43159.7859 -nan 0.0100 646.6479
## 100 30931.7799 -nan 0.0100 446.5798
## 120 22577.8289 -nan 0.0100 343.2238
## 140 16892.7374 -nan 0.0100 205.8910
## 160 13043.1497 -nan 0.0100 132.9002
## 180 10260.3328 -nan 0.0100 113.4272
## 200 8459.4508 -nan 0.0100 55.9937
## 220 7173.5216 -nan 0.0100 43.1172
## 240 6266.8248 -nan 0.0100 31.5725
## 260 5659.0245 -nan 0.0100 10.3914
## 280 5216.1872 -nan 0.0100 6.9247
## 300 4847.9136 -nan 0.0100 8.5947
## 320 4605.5766 -nan 0.0100 1.1668
## 340 4394.3719 -nan 0.0100 1.5141
## 360 4227.0010 -nan 0.0100 -3.2783
## 380 4079.1897 -nan 0.0100 -0.3602
## 400 3966.4923 -nan 0.0100 -5.7943
## 420 3856.6220 -nan 0.0100 0.6156
## 440 3755.5880 -nan 0.0100 -8.0094
## 460 3668.2972 -nan 0.0100 -9.8979
## 480 3581.5233 -nan 0.0100 -9.0534
## 500 3505.1810 -nan 0.0100 -4.8542
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182535.8099 -nan 0.0100 3213.1076
## 2 179188.4655 -nan 0.0100 3842.2970
## 3 175759.3133 -nan 0.0100 2940.6436
## 4 172359.7457 -nan 0.0100 3396.9516
## 5 169096.4749 -nan 0.0100 3768.1662
## 6 165830.9108 -nan 0.0100 3042.7436
## 7 162636.8878 -nan 0.0100 3112.5893
## 8 159507.9833 -nan 0.0100 3202.8127
## 9 156482.4790 -nan 0.0100 2779.7257
## 10 153594.9188 -nan 0.0100 3115.1654
## 20 127226.6314 -nan 0.0100 2258.6665
## 40 87663.9505 -nan 0.0100 1716.1931
## 60 60774.7324 -nan 0.0100 1193.7946
## 80 42625.4469 -nan 0.0100 740.9963
## 100 30286.3972 -nan 0.0100 479.5022
## 120 21769.1047 -nan 0.0100 367.7749
## 140 16101.3233 -nan 0.0100 220.0876
## 160 12070.9198 -nan 0.0100 131.1889
## 180 9461.3896 -nan 0.0100 99.1634
## 200 7628.3514 -nan 0.0100 49.7568
## 220 6388.8874 -nan 0.0100 40.6741
## 240 5533.1798 -nan 0.0100 33.7856
## 260 4896.4948 -nan 0.0100 5.6629
## 280 4441.9231 -nan 0.0100 7.7148
## 300 4126.0851 -nan 0.0100 -3.9310
## 320 3870.2043 -nan 0.0100 -1.6980
## 340 3679.1002 -nan 0.0100 2.6175
## 360 3514.9604 -nan 0.0100 -6.4706
## 380 3378.5334 -nan 0.0100 -9.4098
## 400 3257.4355 -nan 0.0100 -3.1145
## 420 3159.7142 -nan 0.0100 -1.2507
## 440 3074.0330 -nan 0.0100 -2.1825
## 460 2997.6121 -nan 0.0100 -4.8392
## 480 2938.3627 -nan 0.0100 -1.2138
## 500 2861.3042 -nan 0.0100 1.5227
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 174659.5586 -nan 0.0100 3040.6034
## 2 171686.5212 -nan 0.0100 3081.8485
## 3 168510.0000 -nan 0.0100 3246.5378
## 4 165404.4613 -nan 0.0100 3135.3014
## 5 162332.4077 -nan 0.0100 2923.5973
## 6 159465.3591 -nan 0.0100 2892.5529
## 7 156639.8403 -nan 0.0100 2849.6456
## 8 153772.7180 -nan 0.0100 2763.3838
## 9 150955.5049 -nan 0.0100 2910.8920
## 10 148396.7277 -nan 0.0100 2752.3217
## 20 123244.8975 -nan 0.0100 2279.9783
## 40 85111.6476 -nan 0.0100 1514.9588
## 60 59244.4473 -nan 0.0100 1116.7400
## 80 41922.8455 -nan 0.0100 733.0330
## 100 30133.4715 -nan 0.0100 431.5427
## 120 22022.2599 -nan 0.0100 316.5402
## 140 16548.9003 -nan 0.0100 227.8197
## 160 12623.1097 -nan 0.0100 128.1432
## 180 10131.9975 -nan 0.0100 75.4295
## 200 8356.3602 -nan 0.0100 44.1787
## 220 7202.6666 -nan 0.0100 37.7806
## 240 6303.3639 -nan 0.0100 23.6606
## 260 5689.7496 -nan 0.0100 29.0934
## 280 5238.1839 -nan 0.0100 5.3206
## 300 4884.4097 -nan 0.0100 13.8535
## 320 4631.1557 -nan 0.0100 -3.0027
## 340 4395.4904 -nan 0.0100 -8.3670
## 360 4216.4521 -nan 0.0100 -2.4585
## 380 4074.9623 -nan 0.0100 -3.0987
## 400 3939.8611 -nan 0.0100 -1.6071
## 420 3823.9796 -nan 0.0100 -5.2892
## 440 3733.8931 -nan 0.0100 -4.0133
## 460 3633.0206 -nan 0.0100 -1.3775
## 480 3534.6532 -nan 0.0100 -2.7583
## 500 3441.0195 -nan 0.0100 -9.1629
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180550.0583 -nan 0.0100 3114.5205
## 2 176899.1953 -nan 0.0100 3833.3059
## 3 173428.6522 -nan 0.0100 3507.2371
## 4 170302.7406 -nan 0.0100 2697.3812
## 5 167241.9266 -nan 0.0100 2928.7506
## 6 164102.4005 -nan 0.0100 2856.5883
## 7 161170.1761 -nan 0.0100 2754.5929
## 8 158236.6956 -nan 0.0100 3322.9223
## 9 155430.4170 -nan 0.0100 3196.7905
## 10 152492.8704 -nan 0.0100 2803.8851
## 20 126493.1939 -nan 0.0100 2209.3691
## 40 87523.2921 -nan 0.0100 1601.8196
## 60 61246.9129 -nan 0.0100 1200.7827
## 80 42970.5353 -nan 0.0100 612.0170
## 100 30812.6513 -nan 0.0100 461.8656
## 120 22559.0865 -nan 0.0100 308.5439
## 140 16728.0966 -nan 0.0100 233.5774
## 160 12816.6641 -nan 0.0100 146.8487
## 180 10058.9190 -nan 0.0100 76.8116
## 200 8251.4442 -nan 0.0100 62.7139
## 220 6945.7197 -nan 0.0100 37.9028
## 240 6088.0225 -nan 0.0100 29.8275
## 260 5412.9180 -nan 0.0100 20.9991
## 280 4930.3718 -nan 0.0100 1.6074
## 300 4592.1858 -nan 0.0100 3.6179
## 320 4352.7432 -nan 0.0100 -2.2554
## 340 4150.2717 -nan 0.0100 2.8620
## 360 3988.0639 -nan 0.0100 -3.0907
## 380 3847.7142 -nan 0.0100 -4.4186
## 400 3723.8409 -nan 0.0100 -6.1507
## 420 3608.5075 -nan 0.0100 -3.5322
## 440 3507.8134 -nan 0.0100 -3.9099
## 460 3434.7454 -nan 0.0100 -4.1606
## 480 3349.9817 -nan 0.0100 -6.7610
## 500 3270.4364 -nan 0.0100 -7.3386
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182799.8902 -nan 0.0100 3735.0322
## 2 179340.3532 -nan 0.0100 3528.9584
## 3 175830.6544 -nan 0.0100 3449.7548
## 4 172463.6425 -nan 0.0100 3345.3787
## 5 169173.2317 -nan 0.0100 2982.3949
## 6 166051.8299 -nan 0.0100 3153.8213
## 7 162974.2659 -nan 0.0100 2865.2154
## 8 159844.8529 -nan 0.0100 2917.2712
## 9 156836.1068 -nan 0.0100 2968.0533
## 10 153940.7638 -nan 0.0100 2892.2966
## 20 127454.7055 -nan 0.0100 2153.5436
## 40 88331.5612 -nan 0.0100 1589.4889
## 60 61449.4674 -nan 0.0100 885.5493
## 80 43121.7862 -nan 0.0100 683.4825
## 100 30733.2516 -nan 0.0100 459.1678
## 120 22194.6508 -nan 0.0100 389.8672
## 140 16381.0019 -nan 0.0100 216.9513
## 160 12516.1986 -nan 0.0100 164.4987
## 180 9867.2710 -nan 0.0100 92.3172
## 200 8057.8572 -nan 0.0100 60.8444
## 220 6750.3815 -nan 0.0100 30.7189
## 240 5830.4128 -nan 0.0100 22.8673
## 260 5134.3065 -nan 0.0100 25.0771
## 280 4646.4299 -nan 0.0100 9.0222
## 300 4300.9866 -nan 0.0100 8.4009
## 320 4041.7136 -nan 0.0100 2.0615
## 340 3820.2704 -nan 0.0100 -3.4176
## 360 3642.3391 -nan 0.0100 -0.3458
## 380 3492.4093 -nan 0.0100 -3.1958
## 400 3354.4393 -nan 0.0100 -0.0687
## 420 3232.4559 -nan 0.0100 -6.5004
## 440 3129.1104 -nan 0.0100 -2.1803
## 460 3039.0493 -nan 0.0100 -3.7224
## 480 2954.1547 -nan 0.0100 -6.6125
## 500 2875.3675 -nan 0.0100 -3.3578
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180315.2924 -nan 0.0100 3466.2320
## 2 176855.4030 -nan 0.0100 3328.6152
## 3 173552.5128 -nan 0.0100 3865.8002
## 4 170210.0410 -nan 0.0100 2950.2243
## 5 167005.4688 -nan 0.0100 3118.3435
## 6 163724.5530 -nan 0.0100 3329.0297
## 7 160519.4337 -nan 0.0100 3142.7354
## 8 157492.4834 -nan 0.0100 2530.5581
## 9 154519.6072 -nan 0.0100 2947.9222
## 10 151568.3121 -nan 0.0100 2744.9598
## 20 125502.3421 -nan 0.0100 2155.9306
## 40 86445.6376 -nan 0.0100 1627.1338
## 60 60122.9173 -nan 0.0100 920.0664
## 80 42517.6667 -nan 0.0100 656.5925
## 100 30421.0848 -nan 0.0100 483.1944
## 120 22080.2677 -nan 0.0100 335.4818
## 140 16490.3713 -nan 0.0100 228.4488
## 160 12663.8930 -nan 0.0100 155.4471
## 180 10021.8551 -nan 0.0100 88.5657
## 200 8196.2391 -nan 0.0100 64.7597
## 220 6938.1326 -nan 0.0100 46.0861
## 240 5996.9328 -nan 0.0100 27.4751
## 260 5323.2183 -nan 0.0100 22.3862
## 280 4885.7981 -nan 0.0100 3.4558
## 300 4503.5242 -nan 0.0100 11.3791
## 320 4210.0157 -nan 0.0100 0.6397
## 340 3964.0905 -nan 0.0100 6.7694
## 360 3784.9672 -nan 0.0100 -1.5032
## 380 3634.8441 -nan 0.0100 -11.9373
## 400 3526.4132 -nan 0.0100 7.0513
## 420 3431.8755 -nan 0.0100 -5.6693
## 440 3327.7914 -nan 0.0100 -3.9871
## 460 3227.7954 -nan 0.0100 -3.5098
## 480 3137.9643 -nan 0.0100 -1.2522
## 500 3067.4610 -nan 0.0100 -9.1898
model2 <- train(X[train, ], Y[train], method = "blackboost", trControl = myControl)
## This is mboost 2.2-2. See 'package?mboost' and the NEWS file for a
## complete list of changes. Note: The default for the computation of the
## degrees of freedom has changed. For details see section 'Global Options'
## of '?bols'.
## Loading required package: grid
## Loading required package: modeltools
## Loading required package: stats4
## Attaching package: 'modeltools'
## The following object is masked from 'package:R.oo':
##
## clone, dimension
## The following object is masked from 'package:plyr':
##
## empty
## Loading required package: coin
## Loading required package: mvtnorm
## Loading required package: sandwich
## Loading required package: strucchange
## Loading required package: vcd
## Loading required package: MASS
## Loading required package: colorspace
model3 <- train(X[train, ], Y[train], method = "parRF", trControl = myControl)
## randomForest 4.6-7
## Type rfNews() to see new features/changes/bug fixes.
model4 <- train(X[train, ], Y[train], method = "mlpWeightDecay", trControl = myControl,
trace = FALSE)
## Loading required package: Rcpp
## Attaching package: 'RSNNS'
## The following object is masked from 'package:caret':
##
## confusionMatrix, train
## The following object is masked from 'package:galgo':
##
## confusionMatrix
model5 <- train(X[train, ], Y[train], method = "ppr", trControl = myControl)
model6 <- train(X[train, ], Y[train], method = "earth", trControl = myControl)
## Loading required package: plotmo
## Loading required package: plotrix
model7 <- train(X[train, ], Y[train], method = "glm", trControl = myControl)
model8 <- train(X[train, ], Y[train], method = "svmRadial", trControl = myControl)
## Attaching package: 'kernlab'
## The following object is masked from 'package:modeltools':
##
## prior
## The following object is masked from 'package:galgo':
##
## scaling
model9 <- train(X[train, ], Y[train], method = "gam", trControl = myControl)
## This is mgcv 1.7-22. For overview type 'help("mgcv-package")'.
## Attaching package: 'mgcv'
## The following object is masked from 'package:magic':
##
## magic
model10 <- train(X[train, ], Y[train], method = "glmnet", trControl = myControl)
## Loading required package: Matrix
## Loaded glmnet 1.9-3
# Make a list of all the models
all.models <- list(model1, model2, model3, model4, model5, model6, model7, model8,
model9, model10)
names(all.models) <- sapply(all.models, function(x) x$method)
sort(sapply(all.models, function(x) min(x$results$RMSE)))
## parRF gbm ppr blackboost earth
## 81.76 87.75 91.99 95.08 106.78
## gam svmRadial glmnet glm mlpWeightDecay
## 112.37 118.77 145.83 146.87 617.16
# Make a greedy ensemble - currently can only use RMSE
greedy <- caretEnsemble(all.models, iter = 1000L)
## Loading required package: pbapply
sort(greedy$weights, decreasing = TRUE)
## parRF ppr svmRadial glm
## 0.782 0.149 0.050 0.019
greedy$error
## RMSE
## 83.44
# Make a linear regression ensemble
linear <- caretStack(all.models, method = "glm", trControl = trainControl(method = "cv"))
summary(linear$ens_model$finalModel)
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -388.9 -36.1 -2.9 30.1 305.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -9.84955 53.76252 -0.18 0.8548
## gbm 0.29128 0.20778 1.40 0.1624
## blackboost -0.36176 0.17602 -2.06 0.0410 *
## parRF 1.00929 0.14135 7.14 1.3e-11 ***
## mlpWeightDecay -0.02389 0.00838 -2.85 0.0048 **
## ppr 0.21775 0.10906 2.00 0.0471 *
## earth 0.21138 0.12333 1.71 0.0879 .
## glm 0.23606 0.77573 0.30 0.7612
## svmRadial 0.08637 0.06793 1.27 0.2049
## gam -0.56104 0.11564 -4.85 2.3e-06 ***
## glmnet -0.10179 0.79279 -0.13 0.8980
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 6112)
##
## Null deviance: 42463442 on 230 degrees of freedom
## Residual deviance: 1344742 on 220 degrees of freedom
## AIC: 2682
##
## Number of Fisher Scoring iterations: 2
linear$error
## parameter RMSE Rsquared RMSESD RsquaredSD
## 1 none 83.42 0.9653 18.58 0.01982
# Predict for test set:
preds <- data.frame(sapply(all.models, predict, newdata = X[!train, ]))
preds$ENS_greedy <- predict(greedy, newdata = X[!train, ])
preds$ENS_linear <- predict(linear, newdata = X[!train, ])
sort(sqrt(colMeans((preds - Y[!train])^2)))
## ENS_linear ENS_greedy parRF gbm ppr
## 78.66 79.97 82.20 88.90 92.46
## gam blackboost earth svmRadial glm
## 96.39 103.59 109.03 132.76 151.49
## glmnet mlpWeightDecay
## 152.10 682.24
After having the models built as well as the ensamble of them it is time to predict for the IPAC dataset. Thus we start to prepare the data,
# Cargamos bq_clean (IPAC)
yy <- apply(sn, 1, feature_extr, bq_clean)
yy <- as.data.frame(yy)
colnames(yy) <- as.character(sn[, 1])
colnames(yy) <- str_replace(paste("X", colnames(yy), sep = ""), ":", ".")
# Predict for new dataset:
predf <- data.frame(sapply(all.models, predict, newdata = yy))
predf$ENS_greedy <- predict(greedy, newdata = yy)
predf$ENS_linear <- predict(linear, newdata = yy)
In order to realize how close or isolated the both sets (BT-SETTL and IPAC) are a PCA analysis is performed:
# Cargamos bq_clean (IPAC)
zz <- rbind(X, yy)
pcaz <- prcomp(zz)
plot(pcaz$x[, 1], pcaz$x[, 2], pch = ".")
points(pcaz$x[(nrow(X) + 1):nrow(zz), 1], pcaz$x[(nrow(X) + 1):nrow(zz), 2],
pch = "x", col = 3)
points(pcaz$x[1:nrow(X), 1], pcaz$x[1:nrow(X), 2], pch = "+", col = 2)
rownames(yy)[896 - nrow(X)]
## [1] "LP_799-3.7512.txt"
According to the obtained predictions, some comparison will be performed against the prediction carried out by using spectrafull projection by means of ICA/JADE technology. This was carried out by Miss Prendes Gero at http://innova.uned.es, so we will download her prediction datasets and just compare them.
# Cargamos bq_clean (IPAC)
load("~/git/M_sel/belen_resul_T.RData")
idx <- unlist(lapply(bq_clean, function(x) {
return(x$name)
})) %in% rownames(dd)
plot(dd[, 1], predf$ENS_greedy[idx])
rownames(dd)[124]
## [1] "LP_799-3.7512.txt"
plot(dd[, 1], predf$ENS_greedy[idx], xlim = c(1500, 3500), ylim = c(1500, 3500))
lines(c(1500, 3500), c(1500, 3500), col = 2)
hist((dd[, 1] - predf$ENS_greedy[idx])/sd(dd[, 1] - predf$ENS_greedy[idx]),
breaks = 20)
mean(dd[, 1] - predf$ENS_greedy[idx])
## [1] -428.4
sd(dd[, 1] - predf$ENS_greedy[idx])
## [1] 325.8
As it was depicted in “The Infrared Telescope Facility (IRTF) spectral library: Spectral diagnostics for cool stars” A&A 549, A129 (2013), the authors M. Cesetti; A. Pizzella; V. D. Ivanov; L. Morelli; E. M. Corsini and E. Dalla Bontà have proposed a set of ranges for signals and for continuum inside the K band, it could make sense to test the same features for BT-SETTL instead of IRTF as they have done, especially whenever the data are inside the wavelenght range for IPAC. This means that the last two rows of the band I don't make sense in the IPAC case and they are not presented.
Just as a remainder those values are:
#
require(xtable)
print(xtable(bi[, 1:7]), "html")
| Element | From | To | ContFrom_1 | ContTo_1 | ContFrom_2 | ContTo_2 | |
|---|---|---|---|---|---|---|---|
| 1 | Pa1 | 8461 | 8474 | 8474 | 8484 | 8563 | 8577 |
| 2 | Ca1 | 8484 | 8513 | 8474 | 8484 | 8563 | 8577 |
| 3 | Ca2 | 8522 | 8562 | 8474 | 8484 | 8563 | 8577 |
| 4 | Pa2 | 8577 | 8619 | 8563 | 8577 | 8619 | 8642 |
| 5 | Ca3 | 8642 | 8682 | 8619 | 8642 | 8700 | 8725 |
| 6 | Pa3 | 8730 | 8772 | 8700 | 8725 | 8776 | 8792 |
| 7 | Mg | 8802 | 8811 | 8776 | 8792 | 8815 | 8850 |
| 8 | Pa4 | 8850 | 8890 | 8815 | 8850 | 8890 | 8900 |
| 9 | Pa5 | 9000 | 9030 | 8983 | 8998 | 9040 | 9050 |
#
lgth <- 3.6
org <- 8461 - lgth
signal2 <- paste(round((bi[, 2] - org)/lgth), round((bi[, 3] - org)/lgth), sep = ":")
noise2 <- paste(round((bi[, 4] - org)/lgth), round((bi[, 5] - org)/lgth), sep = ":")
sn2 <- cbind(signal2, noise2)
xx2 <- apply(sn2, 1, feature_extr, bp_clean)
colnames(xx2) <- as.character(sn2[, 1])
xx2 <- cbind(xx2, unlist(lapply(bp_clean, function(x) {
return(x$stellarp[1])
})))
colnames(xx2)[10] <- "T"
Now we perform the regression analysis
# Data
library(mlbench)
xx2 <- as.data.frame(xx2)
X <- xx2[, -10]
rownames(X) <- 1:nrow(X)
X <- data.frame(X)
Y <- xx2$T
# Train some models
model1.2 <- train(X[train, ], Y[train], method = "gbm", trControl = myControl,
tuneGrid = expand.grid(.n.trees = 500, .interaction.depth = 15, .shrinkage = 0.01))
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179505.2703 -nan 0.0100 2999.7639
## 2 176222.9009 -nan 0.0100 3241.0585
## 3 172901.4717 -nan 0.0100 2934.3225
## 4 169667.1975 -nan 0.0100 3220.8566
## 5 166623.3280 -nan 0.0100 2974.8182
## 6 163510.4517 -nan 0.0100 3116.6495
## 7 160608.3036 -nan 0.0100 2427.1911
## 8 157689.6237 -nan 0.0100 3103.6334
## 9 154892.0678 -nan 0.0100 2842.1850
## 10 152084.2028 -nan 0.0100 2820.3490
## 20 126456.2044 -nan 0.0100 2231.3124
## 40 88024.9183 -nan 0.0100 1450.1349
## 60 61850.4447 -nan 0.0100 989.0183
## 80 43944.7714 -nan 0.0100 681.8042
## 100 31593.5294 -nan 0.0100 490.9264
## 120 23273.8276 -nan 0.0100 310.3176
## 140 17431.1366 -nan 0.0100 244.7843
## 160 13389.9791 -nan 0.0100 151.9924
## 180 10540.8409 -nan 0.0100 89.4381
## 200 8537.6642 -nan 0.0100 67.3431
## 220 7157.5164 -nan 0.0100 40.9946
## 240 6125.2327 -nan 0.0100 36.1365
## 260 5397.8501 -nan 0.0100 18.0847
## 280 4815.0077 -nan 0.0100 5.5975
## 300 4353.5064 -nan 0.0100 9.3608
## 320 4062.9146 -nan 0.0100 0.8033
## 340 3815.0816 -nan 0.0100 -4.2488
## 360 3589.8905 -nan 0.0100 -5.6274
## 380 3435.3299 -nan 0.0100 -0.1819
## 400 3274.7753 -nan 0.0100 0.1198
## 420 3116.1421 -nan 0.0100 2.0673
## 440 2992.0271 -nan 0.0100 4.0286
## 460 2901.3278 -nan 0.0100 -6.6097
## 480 2803.9590 -nan 0.0100 -6.4252
## 500 2706.1139 -nan 0.0100 -2.4102
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180825.4520 -nan 0.0100 2973.5527
## 2 177518.6823 -nan 0.0100 3181.7484
## 3 174285.2087 -nan 0.0100 3145.0823
## 4 171075.4315 -nan 0.0100 3464.0582
## 5 168068.9919 -nan 0.0100 2911.6024
## 6 165038.8581 -nan 0.0100 2497.0558
## 7 162106.8335 -nan 0.0100 2703.8514
## 8 158977.3731 -nan 0.0100 2774.5109
## 9 156120.0265 -nan 0.0100 2672.3726
## 10 153373.7915 -nan 0.0100 2382.8252
## 20 127637.3169 -nan 0.0100 2185.6884
## 40 89027.8923 -nan 0.0100 1526.2525
## 60 62447.8532 -nan 0.0100 931.5913
## 80 44956.3136 -nan 0.0100 674.4151
## 100 32518.4541 -nan 0.0100 516.6597
## 120 23930.9855 -nan 0.0100 336.2858
## 140 17792.1916 -nan 0.0100 233.3713
## 160 13750.5271 -nan 0.0100 159.9434
## 180 10779.7856 -nan 0.0100 104.5254
## 200 8722.1525 -nan 0.0100 52.3108
## 220 7290.0097 -nan 0.0100 42.5161
## 240 6243.3470 -nan 0.0100 33.7543
## 260 5469.5167 -nan 0.0100 18.6068
## 280 4935.0329 -nan 0.0100 7.3636
## 300 4491.5325 -nan 0.0100 -3.3423
## 320 4151.5585 -nan 0.0100 6.7418
## 340 3897.5317 -nan 0.0100 3.6279
## 360 3686.5769 -nan 0.0100 -5.4179
## 380 3501.6547 -nan 0.0100 -5.4786
## 400 3340.1344 -nan 0.0100 3.7817
## 420 3204.3836 -nan 0.0100 -0.8704
## 440 3094.2099 -nan 0.0100 -3.1535
## 460 2984.3495 -nan 0.0100 -1.6709
## 480 2883.8699 -nan 0.0100 -5.3932
## 500 2786.6802 -nan 0.0100 -4.1209
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 181495.0131 -nan 0.0100 3431.5829
## 2 178259.0405 -nan 0.0100 3253.2858
## 3 174998.2265 -nan 0.0100 3076.8431
## 4 171825.5863 -nan 0.0100 2979.5040
## 5 168716.0392 -nan 0.0100 2992.9851
## 6 165607.2882 -nan 0.0100 3227.8931
## 7 162515.7454 -nan 0.0100 3360.6207
## 8 159547.1763 -nan 0.0100 2345.4485
## 9 156777.9943 -nan 0.0100 2596.0992
## 10 153819.3228 -nan 0.0100 2781.1409
## 20 128320.0596 -nan 0.0100 2060.9225
## 40 89559.6612 -nan 0.0100 1499.4603
## 60 63086.5443 -nan 0.0100 977.6693
## 80 45092.5474 -nan 0.0100 662.7457
## 100 32293.4143 -nan 0.0100 525.1598
## 120 23903.7545 -nan 0.0100 285.4262
## 140 17784.5808 -nan 0.0100 253.6610
## 160 13592.2818 -nan 0.0100 153.2398
## 180 10664.0125 -nan 0.0100 92.8379
## 200 8617.7661 -nan 0.0100 79.0921
## 220 7217.8904 -nan 0.0100 37.4188
## 240 6160.6301 -nan 0.0100 20.9726
## 260 5405.0625 -nan 0.0100 22.3642
## 280 4859.7199 -nan 0.0100 22.9117
## 300 4424.8483 -nan 0.0100 10.6652
## 320 4111.0882 -nan 0.0100 -6.8554
## 340 3836.3816 -nan 0.0100 1.8202
## 360 3639.3667 -nan 0.0100 4.9978
## 380 3432.6769 -nan 0.0100 1.6303
## 400 3277.4509 -nan 0.0100 2.3952
## 420 3135.5435 -nan 0.0100 -2.3036
## 440 3026.2148 -nan 0.0100 -1.5381
## 460 2904.7429 -nan 0.0100 -2.4207
## 480 2815.6144 -nan 0.0100 -5.3166
## 500 2713.8354 -nan 0.0100 -0.7372
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 188978.3575 -nan 0.0100 3321.3696
## 2 185511.6124 -nan 0.0100 3522.6453
## 3 182071.9110 -nan 0.0100 3682.0486
## 4 178670.3983 -nan 0.0100 3112.1962
## 5 175324.5700 -nan 0.0100 2727.1816
## 6 172003.2079 -nan 0.0100 3342.8180
## 7 168919.2748 -nan 0.0100 2782.6039
## 8 165853.3229 -nan 0.0100 3339.0452
## 9 162759.4586 -nan 0.0100 2979.9496
## 10 159859.6834 -nan 0.0100 2816.3802
## 20 132972.9068 -nan 0.0100 2570.6327
## 40 92799.5740 -nan 0.0100 1394.3044
## 60 65017.0953 -nan 0.0100 1215.1528
## 80 46084.0764 -nan 0.0100 872.1060
## 100 33234.8458 -nan 0.0100 523.1780
## 120 24318.0874 -nan 0.0100 331.2877
## 140 18130.1539 -nan 0.0100 211.1901
## 160 13943.2487 -nan 0.0100 169.3991
## 180 10853.0002 -nan 0.0100 110.8788
## 200 8746.6246 -nan 0.0100 75.9756
## 220 7275.9326 -nan 0.0100 57.1838
## 240 6186.5867 -nan 0.0100 33.0976
## 260 5411.9512 -nan 0.0100 14.1935
## 280 4834.4253 -nan 0.0100 11.2496
## 300 4436.6512 -nan 0.0100 12.9306
## 320 4120.0534 -nan 0.0100 4.5360
## 340 3857.3379 -nan 0.0100 1.1461
## 360 3659.4685 -nan 0.0100 2.7274
## 380 3476.0231 -nan 0.0100 -1.8682
## 400 3316.6125 -nan 0.0100 -1.6552
## 420 3204.2377 -nan 0.0100 -3.5325
## 440 3079.6737 -nan 0.0100 -4.4105
## 460 2962.3314 -nan 0.0100 -2.4548
## 480 2886.6147 -nan 0.0100 -6.9048
## 500 2797.4217 -nan 0.0100 -3.0123
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 172995.1556 -nan 0.0100 3236.9121
## 2 169735.7046 -nan 0.0100 3388.4420
## 3 166583.7967 -nan 0.0100 3100.5563
## 4 163714.1385 -nan 0.0100 3011.1429
## 5 160789.6735 -nan 0.0100 3246.7711
## 6 157861.6857 -nan 0.0100 2832.0835
## 7 154942.2634 -nan 0.0100 3080.5128
## 8 152284.4334 -nan 0.0100 2934.1241
## 9 149516.6482 -nan 0.0100 2593.3490
## 10 146834.9703 -nan 0.0100 2483.8295
## 20 122305.9652 -nan 0.0100 2208.5315
## 40 85035.9991 -nan 0.0100 1355.9890
## 60 60247.2510 -nan 0.0100 1026.1131
## 80 42989.6458 -nan 0.0100 716.3366
## 100 31173.6986 -nan 0.0100 484.6117
## 120 23059.0727 -nan 0.0100 324.2833
## 140 17228.8974 -nan 0.0100 222.2774
## 160 13274.9002 -nan 0.0100 142.4912
## 180 10530.3479 -nan 0.0100 88.9521
## 200 8690.9026 -nan 0.0100 47.4802
## 220 7337.6798 -nan 0.0100 46.0251
## 240 6334.4432 -nan 0.0100 28.7453
## 260 5571.8850 -nan 0.0100 27.0925
## 280 4972.5692 -nan 0.0100 18.4007
## 300 4545.5782 -nan 0.0100 1.8946
## 320 4205.9717 -nan 0.0100 1.0341
## 340 3953.9478 -nan 0.0100 3.7207
## 360 3692.7394 -nan 0.0100 5.2049
## 380 3519.6278 -nan 0.0100 -2.6352
## 400 3339.6402 -nan 0.0100 0.8791
## 420 3215.7365 -nan 0.0100 -5.1922
## 440 3089.4796 -nan 0.0100 -3.2648
## 460 2978.5958 -nan 0.0100 -7.7196
## 480 2875.5584 -nan 0.0100 -0.9347
## 500 2784.7280 -nan 0.0100 -5.7573
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179279.5803 -nan 0.0100 3205.5655
## 2 176115.0252 -nan 0.0100 3016.4079
## 3 172773.5500 -nan 0.0100 2965.9869
## 4 169431.2995 -nan 0.0100 2867.5033
## 5 166415.1013 -nan 0.0100 2783.2963
## 6 163297.2002 -nan 0.0100 2972.7472
## 7 160151.9691 -nan 0.0100 3322.7139
## 8 157154.5423 -nan 0.0100 2641.9268
## 9 154290.0311 -nan 0.0100 2457.7545
## 10 151497.3223 -nan 0.0100 2711.5694
## 20 125812.0275 -nan 0.0100 2429.4334
## 40 87662.3312 -nan 0.0100 1616.0243
## 60 61676.9726 -nan 0.0100 939.8541
## 80 43817.9758 -nan 0.0100 722.3703
## 100 31715.6133 -nan 0.0100 400.3167
## 120 23326.0085 -nan 0.0100 286.3828
## 140 17488.6952 -nan 0.0100 220.0964
## 160 13360.9675 -nan 0.0100 137.5304
## 180 10553.3108 -nan 0.0100 110.5324
## 200 8568.4788 -nan 0.0100 61.0138
## 220 7088.2735 -nan 0.0100 38.6506
## 240 6059.2596 -nan 0.0100 37.7442
## 260 5338.0135 -nan 0.0100 24.0160
## 280 4842.1380 -nan 0.0100 3.7248
## 300 4446.9441 -nan 0.0100 3.1917
## 320 4126.8414 -nan 0.0100 4.0153
## 340 3889.2332 -nan 0.0100 7.8309
## 360 3657.9866 -nan 0.0100 2.1652
## 380 3501.5785 -nan 0.0100 -2.2831
## 400 3366.6204 -nan 0.0100 3.5313
## 420 3236.9446 -nan 0.0100 -7.0344
## 440 3112.2066 -nan 0.0100 -1.0359
## 460 3007.0119 -nan 0.0100 -4.9600
## 480 2897.9534 -nan 0.0100 -2.3513
## 500 2807.7334 -nan 0.0100 -5.5899
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182517.9690 -nan 0.0100 3647.2698
## 2 179031.8736 -nan 0.0100 3655.7960
## 3 175799.6142 -nan 0.0100 3333.3402
## 4 172676.4336 -nan 0.0100 3541.4361
## 5 169548.1994 -nan 0.0100 3264.3092
## 6 166569.6933 -nan 0.0100 2888.2579
## 7 163495.4115 -nan 0.0100 3573.7615
## 8 160397.0187 -nan 0.0100 3002.9564
## 9 157358.9225 -nan 0.0100 3245.6561
## 10 154566.5175 -nan 0.0100 2499.1761
## 20 128358.8575 -nan 0.0100 2436.3006
## 40 88986.8175 -nan 0.0100 1294.8351
## 60 62168.5085 -nan 0.0100 1122.8907
## 80 44051.2339 -nan 0.0100 709.2207
## 100 31627.7691 -nan 0.0100 446.9618
## 120 23144.3449 -nan 0.0100 332.4817
## 140 17263.3393 -nan 0.0100 178.0484
## 160 13143.2036 -nan 0.0100 153.4804
## 180 10264.0264 -nan 0.0100 85.2974
## 200 8140.5642 -nan 0.0100 76.8764
## 220 6723.4846 -nan 0.0100 50.6976
## 240 5658.8507 -nan 0.0100 25.2710
## 260 4874.0243 -nan 0.0100 26.2739
## 280 4335.4220 -nan 0.0100 10.5120
## 300 3926.8164 -nan 0.0100 -0.3095
## 320 3626.8322 -nan 0.0100 4.1181
## 340 3404.1845 -nan 0.0100 -0.9201
## 360 3191.0977 -nan 0.0100 -2.0706
## 380 3023.7782 -nan 0.0100 3.9688
## 400 2876.1742 -nan 0.0100 0.1304
## 420 2766.8987 -nan 0.0100 -2.2918
## 440 2643.8578 -nan 0.0100 -3.3016
## 460 2532.0050 -nan 0.0100 -3.7239
## 480 2443.4387 -nan 0.0100 1.4652
## 500 2371.1017 -nan 0.0100 -2.3705
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 174600.5924 -nan 0.0100 3169.4613
## 2 171309.7858 -nan 0.0100 3186.1089
## 3 168159.2204 -nan 0.0100 3001.6202
## 4 165045.5829 -nan 0.0100 3195.5995
## 5 162133.6508 -nan 0.0100 2816.4002
## 6 159128.0500 -nan 0.0100 2906.3402
## 7 156109.1884 -nan 0.0100 2881.5080
## 8 153276.7232 -nan 0.0100 3057.6898
## 9 150400.1718 -nan 0.0100 2833.3437
## 10 147684.3966 -nan 0.0100 2665.0952
## 20 122549.3737 -nan 0.0100 2137.5452
## 40 85022.8837 -nan 0.0100 1551.0351
## 60 59748.7111 -nan 0.0100 1114.7815
## 80 42142.9650 -nan 0.0100 688.3808
## 100 30290.9210 -nan 0.0100 433.5910
## 120 22035.2992 -nan 0.0100 363.3498
## 140 16303.0516 -nan 0.0100 223.8660
## 160 12415.3710 -nan 0.0100 155.6084
## 180 9720.9932 -nan 0.0100 85.2684
## 200 7720.2844 -nan 0.0100 66.7022
## 220 6350.0669 -nan 0.0100 50.3614
## 240 5411.1661 -nan 0.0100 29.6951
## 260 4713.9957 -nan 0.0100 23.4088
## 280 4154.6366 -nan 0.0100 17.6745
## 300 3750.6629 -nan 0.0100 1.1046
## 320 3463.3701 -nan 0.0100 9.1023
## 340 3218.8032 -nan 0.0100 -7.6162
## 360 3026.9082 -nan 0.0100 0.6782
## 380 2873.1607 -nan 0.0100 0.4097
## 400 2736.7039 -nan 0.0100 0.8775
## 420 2621.4269 -nan 0.0100 -1.4282
## 440 2507.1402 -nan 0.0100 0.9055
## 460 2411.3687 -nan 0.0100 -1.8774
## 480 2331.3798 -nan 0.0100 -1.2368
## 500 2255.6381 -nan 0.0100 -0.9415
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180469.8446 -nan 0.0100 3679.5024
## 2 177201.4706 -nan 0.0100 3175.6822
## 3 174008.5094 -nan 0.0100 2698.9308
## 4 170781.1306 -nan 0.0100 3113.1618
## 5 167582.8990 -nan 0.0100 2895.8265
## 6 164374.0296 -nan 0.0100 3188.0694
## 7 161274.0559 -nan 0.0100 2543.2860
## 8 158221.8136 -nan 0.0100 2827.1045
## 9 155480.0474 -nan 0.0100 2481.1956
## 10 152681.8567 -nan 0.0100 2891.4468
## 20 126812.3005 -nan 0.0100 2228.8559
## 40 88285.6811 -nan 0.0100 1364.9772
## 60 62018.9479 -nan 0.0100 1248.5178
## 80 44052.3389 -nan 0.0100 636.8643
## 100 31548.0601 -nan 0.0100 495.5048
## 120 23108.6302 -nan 0.0100 345.0690
## 140 17272.3355 -nan 0.0100 234.6738
## 160 13296.9158 -nan 0.0100 130.9732
## 180 10341.7725 -nan 0.0100 104.1902
## 200 8299.1753 -nan 0.0100 67.5559
## 220 6896.1548 -nan 0.0100 33.1171
## 240 5832.8263 -nan 0.0100 31.3242
## 260 5134.8075 -nan 0.0100 11.5208
## 280 4648.3904 -nan 0.0100 10.8295
## 300 4300.9310 -nan 0.0100 2.7361
## 320 3943.7065 -nan 0.0100 6.7716
## 340 3700.9112 -nan 0.0100 -0.0894
## 360 3507.1458 -nan 0.0100 -3.7699
## 380 3333.4464 -nan 0.0100 -0.7246
## 400 3168.7160 -nan 0.0100 -4.1692
## 420 3056.0704 -nan 0.0100 -0.8445
## 440 2931.4171 -nan 0.0100 -6.3130
## 460 2841.0655 -nan 0.0100 -1.3884
## 480 2738.4915 -nan 0.0100 0.4078
## 500 2656.0029 -nan 0.0100 -4.5916
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182860.2919 -nan 0.0100 3276.4265
## 2 179445.7166 -nan 0.0100 3421.1502
## 3 176132.3555 -nan 0.0100 3238.3076
## 4 172971.6787 -nan 0.0100 3203.8343
## 5 169840.8645 -nan 0.0100 2791.6125
## 6 166771.3150 -nan 0.0100 2807.5394
## 7 163726.4286 -nan 0.0100 3278.5457
## 8 160603.4050 -nan 0.0100 2851.0198
## 9 157747.6073 -nan 0.0100 2463.7585
## 10 155088.1513 -nan 0.0100 2567.0036
## 20 129270.9363 -nan 0.0100 2233.2851
## 40 90055.1959 -nan 0.0100 1646.3305
## 60 63420.5786 -nan 0.0100 1228.2485
## 80 45249.5822 -nan 0.0100 723.4697
## 100 32491.2045 -nan 0.0100 511.3293
## 120 23821.7455 -nan 0.0100 265.9580
## 140 17815.1763 -nan 0.0100 245.9568
## 160 13558.0884 -nan 0.0100 120.5875
## 180 10544.4405 -nan 0.0100 93.5002
## 200 8501.5549 -nan 0.0100 82.3148
## 220 7048.4115 -nan 0.0100 57.1648
## 240 6006.6737 -nan 0.0100 43.6301
## 260 5257.9284 -nan 0.0100 9.3541
## 280 4717.1795 -nan 0.0100 16.0618
## 300 4350.8814 -nan 0.0100 13.6272
## 320 4028.1600 -nan 0.0100 6.0202
## 340 3768.9297 -nan 0.0100 -0.3671
## 360 3568.1596 -nan 0.0100 0.7351
## 380 3394.5545 -nan 0.0100 0.2447
## 400 3239.0968 -nan 0.0100 4.5822
## 420 3099.4722 -nan 0.0100 -1.1503
## 440 2989.6746 -nan 0.0100 -2.9088
## 460 2870.6199 -nan 0.0100 -1.7883
## 480 2748.6058 -nan 0.0100 -4.5451
## 500 2659.2300 -nan 0.0100 -1.5075
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180440.6791 -nan 0.0100 3100.4125
## 2 177112.1971 -nan 0.0100 3182.7148
## 3 173913.2487 -nan 0.0100 3166.9668
## 4 170689.4250 -nan 0.0100 3379.7501
## 5 167483.5602 -nan 0.0100 3481.9536
## 6 164475.6467 -nan 0.0100 2991.0563
## 7 161530.8266 -nan 0.0100 3443.9415
## 8 158645.7446 -nan 0.0100 2803.7598
## 9 155709.1448 -nan 0.0100 2829.0500
## 10 152860.7098 -nan 0.0100 2639.0452
## 20 127282.8331 -nan 0.0100 1967.0021
## 40 88385.6170 -nan 0.0100 1471.7735
## 60 61751.9119 -nan 0.0100 1144.2616
## 80 43648.3126 -nan 0.0100 738.6915
## 100 31513.3205 -nan 0.0100 488.8777
## 120 22885.1754 -nan 0.0100 277.0776
## 140 16978.2949 -nan 0.0100 235.4224
## 160 12895.5554 -nan 0.0100 140.5023
## 180 10054.5249 -nan 0.0100 82.7152
## 200 8022.3501 -nan 0.0100 82.0318
## 220 6627.3504 -nan 0.0100 49.9360
## 240 5645.6703 -nan 0.0100 33.1690
## 260 4925.0423 -nan 0.0100 13.9627
## 280 4418.6706 -nan 0.0100 17.4003
## 300 4027.1857 -nan 0.0100 9.7678
## 320 3700.1935 -nan 0.0100 5.3503
## 340 3480.2371 -nan 0.0100 -4.0432
## 360 3269.1307 -nan 0.0100 3.0670
## 380 3101.2271 -nan 0.0100 1.5756
## 400 2957.1700 -nan 0.0100 -0.3309
## 420 2820.0983 -nan 0.0100 -5.3358
## 440 2699.7578 -nan 0.0100 -4.4602
## 460 2589.3245 -nan 0.0100 4.4772
## 480 2493.0090 -nan 0.0100 -3.2972
## 500 2407.6555 -nan 0.0100 -2.6806
model2.2 <- train(X[train, ], Y[train], method = "blackboost", trControl = myControl)
model3.2 <- train(X[train, ], Y[train], method = "parRF", trControl = myControl)
model4.2 <- train(X[train, ], Y[train], method = "mlpWeightDecay", trControl = myControl,
trace = FALSE)
model5.2 <- train(X[train, ], Y[train], method = "ppr", trControl = myControl)
model6.2 <- train(X[train, ], Y[train], method = "earth", trControl = myControl)
model7.2 <- train(X[train, ], Y[train], method = "glm", trControl = myControl)
model8.2 <- train(X[train, ], Y[train], method = "svmRadial", trControl = myControl)
model9.2 <- train(X[train, ], Y[train], method = "gam", trControl = myControl)
model10.2 <- train(X[train, ], Y[train], method = "glmnet", trControl = myControl)
# Make a list of all the models
all.models.2 <- list(model1.2, model2.2, model3.2, model4.2, model5.2, model6.2,
model7.2, model8.2, model9.2, model10.2)
names(all.models.2) <- sapply(all.models.2, function(x) x$method)
sort(sapply(all.models.2, function(x) min(x$results$RMSE)))
## earth parRF gbm blackboost ppr
## 78.60 80.46 83.10 93.53 95.11
## gam glmnet svmRadial glm mlpWeightDecay
## 105.75 118.37 120.30 121.31 791.20
# Make a greedy ensemble - currently can only use RMSE
greedy2 <- caretEnsemble(all.models.2, iter = 1000L)
sort(greedy2$weights, decreasing = TRUE)
## earth ppr gbm parRF svmRadial
## 0.352 0.298 0.173 0.149 0.025
## mlpWeightDecay
## 0.003
greedy2$error
## RMSE
## NA
# Make a linear regression ensemble
linear2 <- caretStack(all.models.2, method = "glm", trControl = trainControl(method = "cv"))
summary(linear2$ens_model$finalModel)
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -229.27 -33.09 0.51 30.03 291.36
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -54.44330 45.63067 -1.19 0.2347
## gbm -0.08165 0.20634 -0.40 0.6929
## blackboost -0.03999 0.15033 -0.27 0.7906
## parRF 0.60639 0.18810 3.22 0.0015 **
## mlpWeightDecay 0.00282 0.00762 0.37 0.7121
## ppr 0.08360 0.07366 1.14 0.2582
## earth 0.45354 0.08944 5.07 1.1e-06 ***
## glm 0.44211 0.33048 1.34 0.1830
## svmRadial 0.05512 0.06546 0.84 0.4011
## gam 0.00619 0.05269 0.12 0.9066
## glmnet -0.51093 0.34472 -1.48 0.1404
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 3638)
##
## Null deviance: 28979141 on 162 degrees of freedom
## Residual deviance: 552945 on 152 degrees of freedom
## (68 observations deleted due to missingness)
## AIC: 1812
##
## Number of Fisher Scoring iterations: 2
linear2$error
## parameter RMSE Rsquared RMSESD RsquaredSD
## 1 none 67.21 0.9748 28.69 0.02446
# Predict for test set:
preds2 <- data.frame(sapply(all.models.2, predict, newdata = X[!train, ]))
preds2$ENS_greedy <- predict(greedy2, newdata = X[!train, ])
preds2$ENS_linear <- predict(linear2, newdata = X[!train, ])
sort(sqrt(colMeans((preds2 - Y[!train])^2)))
## ENS_greedy ENS_linear earth gbm parRF
## 56.14 58.90 79.14 85.49 86.65
## ppr blackboost glm glmnet svmRadial
## 93.80 100.94 114.86 115.35 127.46
## gam mlpWeightDecay
## 139.70 563.36
Now we can test the paper's second proposal for continuous range: Just as a remainder those values are:
#
require(xtable)
print(xtable(bi[, 1:7]), "html")
| Element | From | To | ContFrom_1 | ContTo_1 | ContFrom_2 | ContTo_2 | |
|---|---|---|---|---|---|---|---|
| 1 | Pa1 | 8461 | 8474 | 8474 | 8484 | 8563 | 8577 |
| 2 | Ca1 | 8484 | 8513 | 8474 | 8484 | 8563 | 8577 |
| 3 | Ca2 | 8522 | 8562 | 8474 | 8484 | 8563 | 8577 |
| 4 | Pa2 | 8577 | 8619 | 8563 | 8577 | 8619 | 8642 |
| 5 | Ca3 | 8642 | 8682 | 8619 | 8642 | 8700 | 8725 |
| 6 | Pa3 | 8730 | 8772 | 8700 | 8725 | 8776 | 8792 |
| 7 | Mg | 8802 | 8811 | 8776 | 8792 | 8815 | 8850 |
| 8 | Pa4 | 8850 | 8890 | 8815 | 8850 | 8890 | 8900 |
| 9 | Pa5 | 9000 | 9030 | 8983 | 8998 | 9040 | 9050 |
#
lgth <- 3.6
org <- 8461 - lgth
signal3 <- paste(round((bi[1:8, 2] - org)/lgth), round((bi[1:8, 3] - org)/lgth),
sep = ":")
noise3 <- paste(round((bi[1:8, 6] - org)/lgth), round((bi[1:8, 7] - org)/lgth),
sep = ":")
sn3 <- cbind(signal3, noise3)
xx3 <- apply(sn3, 1, feature_extr, bp_clean)
colnames(xx3) <- as.character(sn3[, 1])
xx3 <- cbind(xx3, unlist(lapply(bp_clean, function(x) {
return(x$stellarp[1])
})))
colnames(xx3)[9] <- "T"
Now we perform the regression analysis
# Data
xx3 <- as.data.frame(xx3)
X <- xx3[, -9]
rownames(X) <- 1:nrow(X)
X <- data.frame(X)
Y <- xx3$T
# Train some models
model1.3 <- train(X[train, ], Y[train], method = "gbm", trControl = myControl,
tuneGrid = expand.grid(.n.trees = 500, .interaction.depth = 15, .shrinkage = 0.01))
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179566.1840 -nan 0.0100 2621.9613
## 2 176659.2868 -nan 0.0100 2738.6662
## 3 173579.7064 -nan 0.0100 2726.1078
## 4 170523.7419 -nan 0.0100 2496.3388
## 5 167748.5838 -nan 0.0100 2780.0482
## 6 164891.8726 -nan 0.0100 2498.8200
## 7 162083.1620 -nan 0.0100 3116.1065
## 8 159293.9758 -nan 0.0100 2976.9081
## 9 156468.9843 -nan 0.0100 2530.0339
## 10 153724.5900 -nan 0.0100 2366.0815
## 20 130338.4727 -nan 0.0100 2036.2892
## 40 93984.0785 -nan 0.0100 1503.2754
## 60 68555.5787 -nan 0.0100 1072.2220
## 80 51017.3575 -nan 0.0100 732.5624
## 100 38424.5499 -nan 0.0100 606.2867
## 120 29701.8834 -nan 0.0100 361.0850
## 140 23526.9228 -nan 0.0100 289.0111
## 160 19133.4319 -nan 0.0100 173.3200
## 180 15928.3574 -nan 0.0100 134.2242
## 200 13352.3107 -nan 0.0100 91.0118
## 220 11688.8270 -nan 0.0100 45.7836
## 240 10437.7279 -nan 0.0100 41.9977
## 260 9367.5149 -nan 0.0100 31.8559
## 280 8617.9287 -nan 0.0100 26.4581
## 300 7959.9910 -nan 0.0100 25.7075
## 320 7486.5455 -nan 0.0100 10.3768
## 340 7036.9560 -nan 0.0100 5.1615
## 360 6659.1549 -nan 0.0100 -0.7522
## 380 6326.3950 -nan 0.0100 1.9460
## 400 6011.6865 -nan 0.0100 0.8108
## 420 5736.4294 -nan 0.0100 -1.1695
## 440 5462.4868 -nan 0.0100 0.9490
## 460 5224.2741 -nan 0.0100 -5.8521
## 480 5024.1811 -nan 0.0100 4.9038
## 500 4855.5353 -nan 0.0100 -5.3560
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 181148.6440 -nan 0.0100 2834.8250
## 2 178058.2331 -nan 0.0100 2823.5337
## 3 174946.5444 -nan 0.0100 3528.9515
## 4 172116.4034 -nan 0.0100 2506.8680
## 5 169130.5996 -nan 0.0100 2791.6772
## 6 166232.6561 -nan 0.0100 3145.4744
## 7 163481.9174 -nan 0.0100 2721.5650
## 8 160673.9457 -nan 0.0100 2678.3519
## 9 157957.3791 -nan 0.0100 2676.7843
## 10 155236.3587 -nan 0.0100 2882.1456
## 20 130775.2031 -nan 0.0100 1935.4905
## 40 94578.0575 -nan 0.0100 1399.9701
## 60 69239.9742 -nan 0.0100 1107.8551
## 80 51125.9785 -nan 0.0100 772.1597
## 100 38582.7416 -nan 0.0100 499.9567
## 120 30277.8340 -nan 0.0100 202.3704
## 140 23942.5285 -nan 0.0100 241.1376
## 160 19414.7269 -nan 0.0100 179.9009
## 180 16137.8431 -nan 0.0100 127.4908
## 200 13826.6294 -nan 0.0100 54.0967
## 220 12141.4407 -nan 0.0100 76.1656
## 240 10969.9855 -nan 0.0100 34.6293
## 260 10020.4568 -nan 0.0100 12.0504
## 280 9259.4305 -nan 0.0100 22.7728
## 300 8605.8387 -nan 0.0100 18.1694
## 320 8004.7115 -nan 0.0100 -5.1857
## 340 7524.2830 -nan 0.0100 5.3877
## 360 7130.9518 -nan 0.0100 -7.0527
## 380 6752.3726 -nan 0.0100 3.1441
## 400 6436.6907 -nan 0.0100 -8.1831
## 420 6122.3549 -nan 0.0100 -3.1630
## 440 5855.3640 -nan 0.0100 3.5278
## 460 5596.1898 -nan 0.0100 3.9990
## 480 5376.3726 -nan 0.0100 -7.6329
## 500 5171.0719 -nan 0.0100 0.1239
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 181785.3879 -nan 0.0100 3401.2717
## 2 178744.8464 -nan 0.0100 3086.3122
## 3 175864.9903 -nan 0.0100 2514.4860
## 4 173039.5793 -nan 0.0100 2356.8688
## 5 170112.0847 -nan 0.0100 2962.6008
## 6 167249.8613 -nan 0.0100 3027.3424
## 7 164572.3390 -nan 0.0100 2555.3766
## 8 161787.1299 -nan 0.0100 2372.8361
## 9 158921.4923 -nan 0.0100 2465.5379
## 10 156087.7744 -nan 0.0100 2082.3709
## 20 131663.8273 -nan 0.0100 2215.2868
## 40 95176.5145 -nan 0.0100 1350.3604
## 60 70019.4901 -nan 0.0100 1079.1526
## 80 51788.3950 -nan 0.0100 733.3068
## 100 39072.0086 -nan 0.0100 473.7427
## 120 30352.7235 -nan 0.0100 299.9521
## 140 24204.1332 -nan 0.0100 182.1418
## 160 19501.3181 -nan 0.0100 169.5382
## 180 16297.1787 -nan 0.0100 61.6725
## 200 13903.8095 -nan 0.0100 62.7457
## 220 12254.4502 -nan 0.0100 89.8760
## 240 10879.6528 -nan 0.0100 44.2730
## 260 9790.1809 -nan 0.0100 18.1243
## 280 8959.7935 -nan 0.0100 30.6953
## 300 8297.6673 -nan 0.0100 -0.7273
## 320 7810.9063 -nan 0.0100 8.2419
## 340 7384.8115 -nan 0.0100 -6.1816
## 360 7020.0634 -nan 0.0100 -10.5691
## 380 6643.8831 -nan 0.0100 -0.0793
## 400 6331.9502 -nan 0.0100 0.9820
## 420 6041.3156 -nan 0.0100 -5.8254
## 440 5771.6551 -nan 0.0100 -9.5565
## 460 5505.0068 -nan 0.0100 -4.1051
## 480 5298.3372 -nan 0.0100 -2.2239
## 500 5089.9243 -nan 0.0100 9.6792
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 189264.5732 -nan 0.0100 2926.2008
## 2 186008.8419 -nan 0.0100 3304.0369
## 3 182732.3176 -nan 0.0100 3448.8369
## 4 179588.4223 -nan 0.0100 3194.4014
## 5 176366.1138 -nan 0.0100 3330.2371
## 6 173099.0366 -nan 0.0100 3199.0724
## 7 169857.2161 -nan 0.0100 2803.5306
## 8 166868.8995 -nan 0.0100 3179.7922
## 9 163888.1060 -nan 0.0100 2890.5185
## 10 161113.8024 -nan 0.0100 2262.7972
## 20 135931.0078 -nan 0.0100 2334.4333
## 40 97207.2742 -nan 0.0100 1556.3939
## 60 70621.3896 -nan 0.0100 1218.0312
## 80 52193.7722 -nan 0.0100 705.5964
## 100 39506.5742 -nan 0.0100 484.3078
## 120 30756.9930 -nan 0.0100 361.5291
## 140 23993.6930 -nan 0.0100 231.4748
## 160 19595.9465 -nan 0.0100 168.3160
## 180 16423.8607 -nan 0.0100 64.9630
## 200 14100.2914 -nan 0.0100 86.1904
## 220 12227.3915 -nan 0.0100 76.7572
## 240 10854.9830 -nan 0.0100 32.7396
## 260 9838.4245 -nan 0.0100 39.9594
## 280 9050.6279 -nan 0.0100 -7.8451
## 300 8404.4775 -nan 0.0100 19.0361
## 320 7811.9232 -nan 0.0100 8.5431
## 340 7356.3325 -nan 0.0100 7.3920
## 360 6929.0701 -nan 0.0100 4.2989
## 380 6571.0561 -nan 0.0100 -1.3371
## 400 6224.0760 -nan 0.0100 -4.0158
## 420 5929.2286 -nan 0.0100 11.9530
## 440 5677.0798 -nan 0.0100 -2.6767
## 460 5454.0039 -nan 0.0100 -0.0152
## 480 5203.3535 -nan 0.0100 -12.7383
## 500 4991.8279 -nan 0.0100 -4.9561
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 173229.5834 -nan 0.0100 2651.0837
## 2 170226.4154 -nan 0.0100 2668.1732
## 3 167322.9507 -nan 0.0100 2734.8576
## 4 164378.0551 -nan 0.0100 2964.8315
## 5 161452.7818 -nan 0.0100 2704.4132
## 6 158850.8250 -nan 0.0100 2845.3269
## 7 156267.0713 -nan 0.0100 2033.8974
## 8 153587.8927 -nan 0.0100 2724.6752
## 9 150936.6174 -nan 0.0100 2472.6181
## 10 148436.8000 -nan 0.0100 2199.6339
## 20 125367.2740 -nan 0.0100 2083.4240
## 40 90440.0727 -nan 0.0100 1698.9837
## 60 66245.8837 -nan 0.0100 891.3377
## 80 49712.8094 -nan 0.0100 668.1216
## 100 38106.0451 -nan 0.0100 416.3251
## 120 29715.6115 -nan 0.0100 312.1839
## 140 23844.8153 -nan 0.0100 218.0027
## 160 19367.9363 -nan 0.0100 156.0783
## 180 16107.4915 -nan 0.0100 95.8917
## 200 13748.3317 -nan 0.0100 75.6262
## 220 11973.6048 -nan 0.0100 60.9875
## 240 10511.2279 -nan 0.0100 53.2894
## 260 9415.4189 -nan 0.0100 32.6098
## 280 8563.1447 -nan 0.0100 3.0606
## 300 7924.2144 -nan 0.0100 15.1118
## 320 7402.2232 -nan 0.0100 25.0855
## 340 6942.4853 -nan 0.0100 2.0323
## 360 6600.0813 -nan 0.0100 -5.1250
## 380 6224.4596 -nan 0.0100 -7.8986
## 400 5933.3582 -nan 0.0100 -5.6039
## 420 5643.5761 -nan 0.0100 -10.0801
## 440 5392.6246 -nan 0.0100 -3.0571
## 460 5175.3882 -nan 0.0100 0.7056
## 480 4976.1496 -nan 0.0100 7.2388
## 500 4783.6004 -nan 0.0100 -1.9476
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179462.4403 -nan 0.0100 3368.5161
## 2 176240.8765 -nan 0.0100 2745.5834
## 3 173199.0424 -nan 0.0100 2973.8038
## 4 170244.7051 -nan 0.0100 2739.8035
## 5 167135.1119 -nan 0.0100 3047.7570
## 6 164312.2984 -nan 0.0100 2746.8008
## 7 161444.8150 -nan 0.0100 2768.9470
## 8 158717.8046 -nan 0.0100 2752.2280
## 9 155847.6878 -nan 0.0100 2519.1673
## 10 153146.2275 -nan 0.0100 2402.3151
## 20 129420.3067 -nan 0.0100 2000.4558
## 40 92916.7073 -nan 0.0100 1439.8153
## 60 67743.7707 -nan 0.0100 822.1993
## 80 50255.2367 -nan 0.0100 690.6133
## 100 38370.2116 -nan 0.0100 501.2803
## 120 29824.1831 -nan 0.0100 324.2014
## 140 23682.1509 -nan 0.0100 159.8312
## 160 19300.1632 -nan 0.0100 92.7044
## 180 16228.1517 -nan 0.0100 66.1609
## 200 13658.1654 -nan 0.0100 111.0190
## 220 11914.8863 -nan 0.0100 16.7632
## 240 10705.3513 -nan 0.0100 28.6346
## 260 9635.0968 -nan 0.0100 44.0888
## 280 8904.2135 -nan 0.0100 26.1533
## 300 8237.9890 -nan 0.0100 16.1300
## 320 7744.2652 -nan 0.0100 -2.2557
## 340 7300.0689 -nan 0.0100 4.6130
## 360 6966.7833 -nan 0.0100 6.0302
## 380 6636.7568 -nan 0.0100 -1.2152
## 400 6328.0984 -nan 0.0100 1.1963
## 420 6048.8618 -nan 0.0100 -3.2227
## 440 5795.2011 -nan 0.0100 2.8643
## 460 5553.9079 -nan 0.0100 -5.0997
## 480 5319.6494 -nan 0.0100 6.5264
## 500 5064.5218 -nan 0.0100 9.5895
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182936.4019 -nan 0.0100 2807.4657
## 2 179756.3749 -nan 0.0100 2957.1046
## 3 176724.3716 -nan 0.0100 3457.4348
## 4 173640.2099 -nan 0.0100 2690.3381
## 5 170330.2543 -nan 0.0100 2927.3921
## 6 167369.0985 -nan 0.0100 2652.8371
## 7 164501.3667 -nan 0.0100 2623.1646
## 8 161549.0555 -nan 0.0100 3151.7976
## 9 158897.2106 -nan 0.0100 2784.9175
## 10 156256.7982 -nan 0.0100 2736.2576
## 20 131507.0971 -nan 0.0100 2158.5961
## 40 94106.5642 -nan 0.0100 1523.4950
## 60 68470.1355 -nan 0.0100 1067.4575
## 80 50658.4512 -nan 0.0100 617.7061
## 100 38199.3240 -nan 0.0100 506.3356
## 120 29291.4820 -nan 0.0100 268.7774
## 140 23197.4276 -nan 0.0100 158.6767
## 160 18595.0609 -nan 0.0100 162.7028
## 180 15483.8263 -nan 0.0100 91.4352
## 200 13126.5313 -nan 0.0100 52.8197
## 220 11392.4692 -nan 0.0100 17.8204
## 240 10165.0389 -nan 0.0100 -2.4090
## 260 9189.3820 -nan 0.0100 27.2830
## 280 8442.5933 -nan 0.0100 20.8993
## 300 7813.9645 -nan 0.0100 -3.9987
## 320 7322.9756 -nan 0.0100 -8.9000
## 340 6927.1496 -nan 0.0100 4.4926
## 360 6558.7543 -nan 0.0100 -0.8569
## 380 6209.5350 -nan 0.0100 1.6222
## 400 5925.4225 -nan 0.0100 0.1678
## 420 5637.5081 -nan 0.0100 0.6345
## 440 5402.1077 -nan 0.0100 2.4633
## 460 5193.1335 -nan 0.0100 -0.4239
## 480 4995.6673 -nan 0.0100 3.4323
## 500 4826.4523 -nan 0.0100 -8.4073
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 174787.4389 -nan 0.0100 3110.3479
## 2 171718.1785 -nan 0.0100 2987.4545
## 3 168778.0557 -nan 0.0100 2782.5033
## 4 165943.7311 -nan 0.0100 3073.6618
## 5 163078.4283 -nan 0.0100 2583.3264
## 6 160301.0984 -nan 0.0100 2843.6553
## 7 157361.4836 -nan 0.0100 3158.2566
## 8 154672.6792 -nan 0.0100 2529.6080
## 9 152042.1118 -nan 0.0100 2889.5818
## 10 149387.4932 -nan 0.0100 2302.8602
## 20 125683.5360 -nan 0.0100 1790.7486
## 40 89655.6297 -nan 0.0100 1232.1691
## 60 64663.8927 -nan 0.0100 934.0812
## 80 47577.5596 -nan 0.0100 634.5400
## 100 35776.3747 -nan 0.0100 412.8421
## 120 27434.0845 -nan 0.0100 312.5651
## 140 21672.3733 -nan 0.0100 127.8818
## 160 17374.5318 -nan 0.0100 157.6080
## 180 14396.1942 -nan 0.0100 104.6725
## 200 12090.5177 -nan 0.0100 48.1162
## 220 10465.6561 -nan 0.0100 36.6877
## 240 9270.9668 -nan 0.0100 26.3449
## 260 8375.4793 -nan 0.0100 1.4242
## 280 7664.8130 -nan 0.0100 25.0894
## 300 7075.1418 -nan 0.0100 10.4083
## 320 6547.9254 -nan 0.0100 10.4218
## 340 6157.7988 -nan 0.0100 2.6614
## 360 5812.5073 -nan 0.0100 11.9035
## 380 5471.0562 -nan 0.0100 -2.4089
## 400 5200.6719 -nan 0.0100 0.4957
## 420 4953.4745 -nan 0.0100 -1.5098
## 440 4724.2374 -nan 0.0100 5.8585
## 460 4512.1398 -nan 0.0100 7.8548
## 480 4329.1907 -nan 0.0100 -14.5750
## 500 4112.1262 -nan 0.0100 0.5445
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180703.9045 -nan 0.0100 3031.2231
## 2 177504.0154 -nan 0.0100 3047.7842
## 3 174338.2587 -nan 0.0100 3006.2147
## 4 171279.0168 -nan 0.0100 3092.8211
## 5 168371.3532 -nan 0.0100 2831.8515
## 6 165487.7448 -nan 0.0100 2105.9190
## 7 162574.0956 -nan 0.0100 3035.3538
## 8 159765.2974 -nan 0.0100 2504.5210
## 9 156920.9972 -nan 0.0100 2444.1827
## 10 154199.7560 -nan 0.0100 2452.7513
## 20 129713.6562 -nan 0.0100 2186.9821
## 40 92624.0792 -nan 0.0100 1258.2625
## 60 66965.5971 -nan 0.0100 1026.3151
## 80 49414.7247 -nan 0.0100 758.6917
## 100 37091.6863 -nan 0.0100 400.5053
## 120 28721.3207 -nan 0.0100 245.0791
## 140 22719.1458 -nan 0.0100 178.0906
## 160 18406.9594 -nan 0.0100 138.2401
## 180 15422.5973 -nan 0.0100 98.5417
## 200 13078.9720 -nan 0.0100 27.8512
## 220 11475.8889 -nan 0.0100 63.8040
## 240 10251.1206 -nan 0.0100 23.7009
## 260 9356.1380 -nan 0.0100 29.3687
## 280 8621.4824 -nan 0.0100 -9.9701
## 300 8078.8754 -nan 0.0100 8.4473
## 320 7578.9853 -nan 0.0100 9.9314
## 340 7207.0600 -nan 0.0100 6.8375
## 360 6872.9900 -nan 0.0100 4.6350
## 380 6549.0513 -nan 0.0100 -7.4846
## 400 6262.3230 -nan 0.0100 -2.8231
## 420 6016.5508 -nan 0.0100 -1.1674
## 440 5792.0194 -nan 0.0100 -7.4770
## 460 5585.8304 -nan 0.0100 -3.3386
## 480 5392.9033 -nan 0.0100 -4.8489
## 500 5207.1838 -nan 0.0100 3.6022
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 183324.6567 -nan 0.0100 2922.5451
## 2 180203.1692 -nan 0.0100 3245.2051
## 3 177047.2529 -nan 0.0100 3242.2776
## 4 173978.7361 -nan 0.0100 2975.2453
## 5 170718.2585 -nan 0.0100 3211.6862
## 6 167587.0142 -nan 0.0100 3589.0981
## 7 164977.3801 -nan 0.0100 2491.5285
## 8 162081.5923 -nan 0.0100 2733.0393
## 9 159323.0115 -nan 0.0100 2636.5640
## 10 156642.4499 -nan 0.0100 2632.6399
## 20 132421.7483 -nan 0.0100 2345.9481
## 40 95557.5859 -nan 0.0100 1635.3704
## 60 69751.2155 -nan 0.0100 864.2972
## 80 51469.9692 -nan 0.0100 671.2258
## 100 38885.4113 -nan 0.0100 352.1480
## 120 30146.1308 -nan 0.0100 241.4681
## 140 23615.6746 -nan 0.0100 329.2660
## 160 19062.1049 -nan 0.0100 189.5163
## 180 15934.7462 -nan 0.0100 104.1434
## 200 13670.2872 -nan 0.0100 93.0511
## 220 11936.9142 -nan 0.0100 74.2831
## 240 10601.9442 -nan 0.0100 24.7828
## 260 9580.6299 -nan 0.0100 22.2149
## 280 8779.7606 -nan 0.0100 9.3704
## 300 8160.6745 -nan 0.0100 9.2278
## 320 7662.8121 -nan 0.0100 11.5221
## 340 7224.2026 -nan 0.0100 5.4115
## 360 6846.0840 -nan 0.0100 7.8479
## 380 6494.8587 -nan 0.0100 4.9660
## 400 6175.3573 -nan 0.0100 -0.0957
## 420 5890.1894 -nan 0.0100 1.7910
## 440 5614.7788 -nan 0.0100 -5.5687
## 460 5387.3615 -nan 0.0100 0.9808
## 480 5166.8443 -nan 0.0100 4.4705
## 500 4997.5806 -nan 0.0100 -0.7284
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180726.4753 -nan 0.0100 3152.6085
## 2 177543.7120 -nan 0.0100 2685.7379
## 3 174479.0182 -nan 0.0100 2992.7591
## 4 171292.3605 -nan 0.0100 3317.9167
## 5 168213.6594 -nan 0.0100 3287.4026
## 6 165393.0422 -nan 0.0100 2859.8833
## 7 162448.9293 -nan 0.0100 2630.8900
## 8 159635.7169 -nan 0.0100 2885.0815
## 9 156914.9836 -nan 0.0100 2416.3707
## 10 154281.9010 -nan 0.0100 2502.3046
## 20 129709.0922 -nan 0.0100 2038.3363
## 40 92643.2271 -nan 0.0100 1523.4916
## 60 67262.1752 -nan 0.0100 872.9210
## 80 49824.9036 -nan 0.0100 729.8286
## 100 37568.3283 -nan 0.0100 422.6178
## 120 28850.5041 -nan 0.0100 269.9710
## 140 22506.3190 -nan 0.0100 189.9546
## 160 18018.6006 -nan 0.0100 176.8485
## 180 14856.5266 -nan 0.0100 99.0966
## 200 12570.9374 -nan 0.0100 44.5280
## 220 10934.2805 -nan 0.0100 44.1732
## 240 9754.5259 -nan 0.0100 18.9974
## 260 8745.8011 -nan 0.0100 9.8663
## 280 8015.5328 -nan 0.0100 24.6065
## 300 7449.1435 -nan 0.0100 14.2684
## 320 6947.6187 -nan 0.0100 16.0260
## 340 6534.1345 -nan 0.0100 4.1627
## 360 6171.7758 -nan 0.0100 8.4227
## 380 5854.0290 -nan 0.0100 3.3418
## 400 5563.9130 -nan 0.0100 4.4084
## 420 5318.5039 -nan 0.0100 -4.8066
## 440 5085.0558 -nan 0.0100 -2.3260
## 460 4860.4562 -nan 0.0100 -7.9730
## 480 4658.8874 -nan 0.0100 -0.6596
## 500 4478.6384 -nan 0.0100 -1.2806
model2.3 <- train(X[train, ], Y[train], method = "blackboost", trControl = myControl)
model3.3 <- train(X[train, ], Y[train], method = "parRF", trControl = myControl)
model4.3 <- train(X[train, ], Y[train], method = "mlpWeightDecay", trControl = myControl,
trace = FALSE)
model5.3 <- train(X[train, ], Y[train], method = "ppr", trControl = myControl)
model6.3 <- train(X[train, ], Y[train], method = "earth", trControl = myControl)
model7.3 <- train(X[train, ], Y[train], method = "glm", trControl = myControl)
model8.3 <- train(X[train, ], Y[train], method = "svmRadial", trControl = myControl)
model9.3 <- train(X[train, ], Y[train], method = "gam", trControl = myControl)
model10.3 <- train(X[train, ], Y[train], method = "glmnet", trControl = myControl)
# Make a list of all the models
all.models.3 <- list(model1.3, model2.3, model3.3, model4.3, model5.3, model6.3,
model7.3, model8.3, model9.3, model10.3)
names(all.models.3) <- sapply(all.models.3, function(x) x$method)
sort(sapply(all.models.3, function(x) min(x$results$RMSE)))
## ppr parRF gbm svmRadial earth
## 86.98 103.13 111.30 126.72 127.93
## blackboost glmnet glm gam mlpWeightDecay
## 131.64 138.68 139.24 335.74 528.75
# Make a greedy ensemble - currently can only use RMSE
greedy3 <- caretEnsemble(all.models.3, iter = 1000L)
sort(greedy3$weights, decreasing = TRUE)
## ppr parRF svmRadial earth gam
## 0.612 0.176 0.120 0.085 0.007
greedy2$error
## RMSE
## NA
# Make a linear regression ensemble
linear3 <- caretStack(all.models.3, method = "glm", trControl = trainControl(method = "cv"))
summary(linear3$ens_model$finalModel)
##
## Call:
## NULL
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -430.1 -40.8 -0.4 42.6 289.5
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -68.3815 57.1022 -1.20 0.2324
## gbm -0.2075 0.1395 -1.49 0.1383
## blackboost -0.1244 0.0951 -1.31 0.1924
## parRF 0.6422 0.1545 4.16 4.6e-05 ***
## mlpWeightDecay -0.0117 0.0124 -0.94 0.3480
## ppr 0.5947 0.0667 8.92 < 2e-16 ***
## earth 0.1204 0.0605 1.99 0.0478 *
## glm 1.2932 0.6724 1.92 0.0557 .
## svmRadial 0.1576 0.0581 2.71 0.0072 **
## gam -0.0013 0.0113 -0.12 0.9085
## glmnet -1.4415 0.6895 -2.09 0.0377 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 6300)
##
## Null deviance: 42463442 on 230 degrees of freedom
## Residual deviance: 1386104 on 220 degrees of freedom
## AIC: 2689
##
## Number of Fisher Scoring iterations: 2
linear3$error
## parameter RMSE Rsquared RMSESD RsquaredSD
## 1 none 83.5 0.9614 25.24 0.025
# Predict for test set:
preds3 <- data.frame(sapply(all.models.3, predict, newdata = X[!train, ]))
preds3$ENS_greedy <- predict(greedy3, newdata = X[!train, ])
preds3$ENS_linear <- predict(linear3, newdata = X[!train, ])
sort(sqrt(colMeans((preds3 - Y[!train])^2)))
## ENS_linear ENS_greedy gam ppr parRF
## 102.3 105.4 116.3 118.4 134.5
## gbm earth svmRadial glmnet glm
## 135.4 136.8 143.9 146.4 146.8
## blackboost mlpWeightDecay
## 148.4 820.6