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", "48:51_55:62", "57:62_46:53", "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}} dlambda} \) 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)[6] <- "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 | 8630.20 | 8641.00 | 8655.40 | 8680.60 |
3 | 8662.60 | 8680.60 | 8623.00 | 8648.20 |
4 | 8756.20 | 8767.00 | 8720.20 | 8752.60 |
5 | 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 2142714 114.5 6910418 369.1 2142714 114.5
## Vcells 566268933 4320.3 769748627 5872.8 566268933 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[, -6]
rownames(X) <- 1:nrow(X)
X <- data.frame(X)
Y <- xx$T
# 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 179290.6756 -nan 0.0100 3449.4813
## 2 175924.1114 -nan 0.0100 3650.4133
## 3 172871.5828 -nan 0.0100 2816.4498
## 4 169565.8759 -nan 0.0100 3722.4145
## 5 166309.2222 -nan 0.0100 2953.1469
## 6 163188.4398 -nan 0.0100 2627.2671
## 7 160124.8503 -nan 0.0100 2833.4640
## 8 157038.2829 -nan 0.0100 2977.3407
## 9 154066.3264 -nan 0.0100 2959.1656
## 10 151206.4371 -nan 0.0100 2974.4705
## 20 125731.2368 -nan 0.0100 2295.7701
## 40 87144.6802 -nan 0.0100 1647.6697
## 60 60427.6257 -nan 0.0100 933.2772
## 80 42650.4567 -nan 0.0100 792.6213
## 100 30464.3794 -nan 0.0100 404.4520
## 120 22222.7277 -nan 0.0100 348.1633
## 140 16662.5197 -nan 0.0100 224.6389
## 160 12788.1064 -nan 0.0100 149.0559
## 180 10185.8651 -nan 0.0100 107.3944
## 200 8255.0302 -nan 0.0100 50.7436
## 220 6900.7945 -nan 0.0100 30.9922
## 240 5957.8823 -nan 0.0100 34.7786
## 260 5265.2262 -nan 0.0100 22.9824
## 280 4774.3978 -nan 0.0100 7.9768
## 300 4392.3341 -nan 0.0100 6.2300
## 320 4127.5256 -nan 0.0100 2.6225
## 340 3911.5160 -nan 0.0100 -0.7811
## 360 3731.6083 -nan 0.0100 0.0938
## 380 3605.8887 -nan 0.0100 -13.5423
## 400 3488.6971 -nan 0.0100 -6.1995
## 420 3380.4812 -nan 0.0100 -3.7972
## 440 3290.3131 -nan 0.0100 -2.7742
## 460 3201.1714 -nan 0.0100 0.6074
## 480 3122.9301 -nan 0.0100 -6.7846
## 500 3035.2478 -nan 0.0100 -3.3754
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180912.6788 -nan 0.0100 3076.1039
## 2 177491.6558 -nan 0.0100 3476.0803
## 3 174212.9223 -nan 0.0100 3050.3013
## 4 171041.3012 -nan 0.0100 3134.4460
## 5 167792.3145 -nan 0.0100 3114.8881
## 6 164687.5520 -nan 0.0100 3197.3762
## 7 161551.2629 -nan 0.0100 3136.6213
## 8 158510.8980 -nan 0.0100 3165.4616
## 9 155451.1966 -nan 0.0100 2930.0809
## 10 152462.0014 -nan 0.0100 3343.3901
## 20 126645.0338 -nan 0.0100 2070.3030
## 40 87458.0379 -nan 0.0100 1506.5785
## 60 60835.7274 -nan 0.0100 1002.8963
## 80 42796.5255 -nan 0.0100 681.6587
## 100 30723.6866 -nan 0.0100 500.1387
## 120 22434.9566 -nan 0.0100 319.1192
## 140 16827.7076 -nan 0.0100 188.0334
## 160 13054.2416 -nan 0.0100 117.7106
## 180 10268.7649 -nan 0.0100 103.4030
## 200 8419.8439 -nan 0.0100 79.0092
## 220 7000.5604 -nan 0.0100 36.1001
## 240 6070.5954 -nan 0.0100 19.5363
## 260 5423.5554 -nan 0.0100 17.9201
## 280 4874.6011 -nan 0.0100 2.5073
## 300 4491.3550 -nan 0.0100 3.6627
## 320 4207.2599 -nan 0.0100 5.0352
## 340 3965.7381 -nan 0.0100 -3.6509
## 360 3778.5756 -nan 0.0100 -2.1880
## 380 3645.4784 -nan 0.0100 1.9233
## 400 3501.5179 -nan 0.0100 -6.5030
## 420 3371.1858 -nan 0.0100 -8.8150
## 440 3252.1586 -nan 0.0100 -6.0876
## 460 3140.8605 -nan 0.0100 0.5251
## 480 3059.4407 -nan 0.0100 -3.8562
## 500 2978.9388 -nan 0.0100 -9.5219
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 181555.4807 -nan 0.0100 3067.6590
## 2 178076.1752 -nan 0.0100 3143.8524
## 3 174754.9127 -nan 0.0100 3158.8047
## 4 171426.0028 -nan 0.0100 3499.3733
## 5 168250.6720 -nan 0.0100 3367.1626
## 6 165125.4923 -nan 0.0100 2998.0795
## 7 162059.2632 -nan 0.0100 2956.9210
## 8 159098.2969 -nan 0.0100 3003.1056
## 9 156173.2811 -nan 0.0100 2710.0201
## 10 153261.1831 -nan 0.0100 2858.1986
## 20 127080.1921 -nan 0.0100 2216.6041
## 40 87702.1586 -nan 0.0100 1556.3787
## 60 61302.3751 -nan 0.0100 1089.7144
## 80 43268.3041 -nan 0.0100 621.9405
## 100 31014.7562 -nan 0.0100 467.4122
## 120 22534.4469 -nan 0.0100 328.4570
## 140 16958.5830 -nan 0.0100 185.9166
## 160 13056.8996 -nan 0.0100 130.8775
## 180 10320.7001 -nan 0.0100 66.9451
## 200 8444.7758 -nan 0.0100 69.0655
## 220 7152.3156 -nan 0.0100 50.0892
## 240 6201.1581 -nan 0.0100 24.0518
## 260 5482.3256 -nan 0.0100 18.3081
## 280 4959.3316 -nan 0.0100 13.5270
## 300 4572.7137 -nan 0.0100 2.3583
## 320 4292.2765 -nan 0.0100 -4.0026
## 340 4073.3105 -nan 0.0100 -2.6376
## 360 3903.0377 -nan 0.0100 -3.2307
## 380 3742.1824 -nan 0.0100 -4.4067
## 400 3602.6183 -nan 0.0100 -6.4981
## 420 3491.5048 -nan 0.0100 -5.4746
## 440 3398.6622 -nan 0.0100 -1.5090
## 460 3289.7407 -nan 0.0100 -11.7832
## 480 3187.8200 -nan 0.0100 -5.9593
## 500 3100.1104 -nan 0.0100 -2.4360
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 189050.1915 -nan 0.0100 3510.3418
## 2 185428.0170 -nan 0.0100 3910.4349
## 3 181951.7019 -nan 0.0100 3654.0943
## 4 178413.2833 -nan 0.0100 3601.8139
## 5 175071.0759 -nan 0.0100 3240.3316
## 6 171715.9136 -nan 0.0100 3264.8749
## 7 168413.0334 -nan 0.0100 3246.4949
## 8 165187.6621 -nan 0.0100 3224.2356
## 9 162078.2189 -nan 0.0100 2933.5884
## 10 158968.7351 -nan 0.0100 2766.2756
## 20 131625.5462 -nan 0.0100 2250.3539
## 40 90431.0894 -nan 0.0100 1606.6971
## 60 63175.3808 -nan 0.0100 1273.7639
## 80 44495.5144 -nan 0.0100 712.0235
## 100 31812.6820 -nan 0.0100 492.1736
## 120 23109.9172 -nan 0.0100 385.7201
## 140 17104.9103 -nan 0.0100 241.2376
## 160 13062.8692 -nan 0.0100 179.5442
## 180 10244.6594 -nan 0.0100 93.5667
## 200 8327.0764 -nan 0.0100 64.8814
## 220 6978.8418 -nan 0.0100 42.6870
## 240 6057.7964 -nan 0.0100 37.1927
## 260 5355.5857 -nan 0.0100 14.2391
## 280 4860.4783 -nan 0.0100 16.7950
## 300 4500.7915 -nan 0.0100 6.4336
## 320 4227.1208 -nan 0.0100 7.6112
## 340 3995.4284 -nan 0.0100 2.9987
## 360 3799.8770 -nan 0.0100 4.1219
## 380 3623.9772 -nan 0.0100 -3.7763
## 400 3490.2749 -nan 0.0100 1.5276
## 420 3385.6882 -nan 0.0100 -5.8123
## 440 3288.3149 -nan 0.0100 -2.0150
## 460 3203.0731 -nan 0.0100 -13.0881
## 480 3120.3683 -nan 0.0100 -4.8818
## 500 3052.3156 -nan 0.0100 -0.8426
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 172895.4458 -nan 0.0100 3707.5933
## 2 169847.1383 -nan 0.0100 3117.0799
## 3 166662.1109 -nan 0.0100 3349.3722
## 4 163437.0341 -nan 0.0100 3542.5793
## 5 160421.0792 -nan 0.0100 2732.7173
## 6 157572.7805 -nan 0.0100 2819.4386
## 7 154711.3524 -nan 0.0100 2633.3310
## 8 151779.4900 -nan 0.0100 3319.3703
## 9 148879.7787 -nan 0.0100 2931.3127
## 10 146046.2465 -nan 0.0100 2862.2353
## 20 120877.7623 -nan 0.0100 2379.6293
## 40 83960.8753 -nan 0.0100 1408.4273
## 60 58729.1951 -nan 0.0100 1155.2843
## 80 41619.0453 -nan 0.0100 516.6235
## 100 29737.4909 -nan 0.0100 494.5595
## 120 21705.3142 -nan 0.0100 314.8177
## 140 16163.8570 -nan 0.0100 205.6146
## 160 12428.4761 -nan 0.0100 160.3794
## 180 9870.4851 -nan 0.0100 97.7310
## 200 8101.4123 -nan 0.0100 50.1720
## 220 6839.2060 -nan 0.0100 34.6143
## 240 5948.0439 -nan 0.0100 32.1059
## 260 5329.4012 -nan 0.0100 10.7630
## 280 4854.2699 -nan 0.0100 4.0034
## 300 4491.5398 -nan 0.0100 16.6955
## 320 4204.5474 -nan 0.0100 8.2026
## 340 3961.1897 -nan 0.0100 4.3021
## 360 3769.0487 -nan 0.0100 -4.8070
## 380 3624.4165 -nan 0.0100 -2.5215
## 400 3479.4727 -nan 0.0100 2.8709
## 420 3353.9994 -nan 0.0100 -8.7182
## 440 3246.0430 -nan 0.0100 0.9098
## 460 3161.7512 -nan 0.0100 -7.4962
## 480 3059.9811 -nan 0.0100 -4.3569
## 500 2965.8538 -nan 0.0100 -3.7445
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179296.8108 -nan 0.0100 3551.3548
## 2 176096.0189 -nan 0.0100 3417.5753
## 3 172802.2068 -nan 0.0100 3005.5931
## 4 169541.8418 -nan 0.0100 3370.0602
## 5 166267.9818 -nan 0.0100 3175.6485
## 6 163213.6012 -nan 0.0100 3302.7908
## 7 160104.4645 -nan 0.0100 3068.4469
## 8 157099.5303 -nan 0.0100 2743.5744
## 9 154118.7947 -nan 0.0100 2764.1320
## 10 151293.8828 -nan 0.0100 2762.6866
## 20 125399.4141 -nan 0.0100 2337.3398
## 40 86749.9893 -nan 0.0100 1701.8883
## 60 60608.7089 -nan 0.0100 1054.4965
## 80 42735.6735 -nan 0.0100 648.0236
## 100 30618.9774 -nan 0.0100 414.0266
## 120 22317.6415 -nan 0.0100 359.3509
## 140 16614.0952 -nan 0.0100 211.2492
## 160 12788.0282 -nan 0.0100 134.7489
## 180 9984.1944 -nan 0.0100 113.3066
## 200 8136.5710 -nan 0.0100 48.4987
## 220 6804.9680 -nan 0.0100 55.3231
## 240 5857.7154 -nan 0.0100 33.5586
## 260 5189.5502 -nan 0.0100 23.3230
## 280 4718.4146 -nan 0.0100 17.7238
## 300 4361.4018 -nan 0.0100 2.8188
## 320 4097.8704 -nan 0.0100 -0.5482
## 340 3889.7961 -nan 0.0100 4.4900
## 360 3723.4608 -nan 0.0100 -3.2263
## 380 3560.0907 -nan 0.0100 3.2863
## 400 3426.3206 -nan 0.0100 -8.6422
## 420 3314.7080 -nan 0.0100 0.2924
## 440 3219.7816 -nan 0.0100 -3.9917
## 460 3133.1492 -nan 0.0100 -8.6189
## 480 3044.2161 -nan 0.0100 -6.9106
## 500 2973.0018 -nan 0.0100 -2.2413
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182521.5809 -nan 0.0100 3231.3557
## 2 179182.8821 -nan 0.0100 3809.4275
## 3 175712.8656 -nan 0.0100 3010.7257
## 4 172303.6894 -nan 0.0100 3411.7117
## 5 169028.2429 -nan 0.0100 3774.0642
## 6 165744.9402 -nan 0.0100 3077.4976
## 7 162547.5270 -nan 0.0100 3115.0629
## 8 159438.5078 -nan 0.0100 3172.2675
## 9 156407.5566 -nan 0.0100 2781.3710
## 10 153536.9136 -nan 0.0100 3080.7905
## 20 127132.1672 -nan 0.0100 2250.1426
## 40 87664.5633 -nan 0.0100 1725.5455
## 60 60628.8640 -nan 0.0100 1212.1554
## 80 42438.3971 -nan 0.0100 783.2344
## 100 30058.3598 -nan 0.0100 462.5452
## 120 21507.4596 -nan 0.0100 359.1727
## 140 15811.9338 -nan 0.0100 218.0352
## 160 11823.2375 -nan 0.0100 135.6783
## 180 9178.1890 -nan 0.0100 99.1947
## 200 7313.5482 -nan 0.0100 58.8838
## 220 6024.6547 -nan 0.0100 41.7402
## 240 5129.2074 -nan 0.0100 32.6645
## 260 4470.5188 -nan 0.0100 12.9794
## 280 4000.4962 -nan 0.0100 12.9082
## 300 3673.2386 -nan 0.0100 3.8143
## 320 3416.0399 -nan 0.0100 -1.5341
## 340 3232.0376 -nan 0.0100 0.5454
## 360 3056.9010 -nan 0.0100 -4.0369
## 380 2937.7512 -nan 0.0100 -6.3901
## 400 2817.9370 -nan 0.0100 -3.9459
## 420 2723.7531 -nan 0.0100 -1.1297
## 440 2639.7933 -nan 0.0100 -1.9682
## 460 2577.1891 -nan 0.0100 -2.8133
## 480 2515.9969 -nan 0.0100 -3.1721
## 500 2448.7845 -nan 0.0100 0.0515
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 174654.6731 -nan 0.0100 3050.9672
## 2 171658.6711 -nan 0.0100 3113.2176
## 3 168515.6986 -nan 0.0100 3181.6632
## 4 165411.7591 -nan 0.0100 3127.0437
## 5 162319.8698 -nan 0.0100 2953.0267
## 6 159443.3829 -nan 0.0100 2902.4102
## 7 156615.0750 -nan 0.0100 2847.8342
## 8 153772.8902 -nan 0.0100 2694.5024
## 9 150954.8349 -nan 0.0100 2912.3203
## 10 148389.2793 -nan 0.0100 2756.3250
## 20 123372.3822 -nan 0.0100 2208.0367
## 40 85139.0900 -nan 0.0100 1514.1613
## 60 59192.0807 -nan 0.0100 1122.4057
## 80 41811.3479 -nan 0.0100 697.0307
## 100 30032.8220 -nan 0.0100 435.1154
## 120 21963.0249 -nan 0.0100 312.4659
## 140 16489.3155 -nan 0.0100 233.0801
## 160 12554.3764 -nan 0.0100 148.0965
## 180 10050.5135 -nan 0.0100 76.5435
## 200 8211.6511 -nan 0.0100 53.2932
## 220 7026.4926 -nan 0.0100 41.8047
## 240 6108.5642 -nan 0.0100 24.4610
## 260 5433.5438 -nan 0.0100 28.3330
## 280 4960.5320 -nan 0.0100 6.3201
## 300 4593.6810 -nan 0.0100 9.7330
## 320 4347.1932 -nan 0.0100 -4.1386
## 340 4085.0722 -nan 0.0100 2.8133
## 360 3901.8773 -nan 0.0100 -1.5323
## 380 3748.0176 -nan 0.0100 0.1315
## 400 3599.4279 -nan 0.0100 -4.2810
## 420 3477.4223 -nan 0.0100 -4.6731
## 440 3368.2125 -nan 0.0100 -6.9314
## 460 3268.8318 -nan 0.0100 -2.5734
## 480 3170.2733 -nan 0.0100 -3.2102
## 500 3089.9489 -nan 0.0100 -4.8216
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180505.4695 -nan 0.0100 3194.3077
## 2 176882.5503 -nan 0.0100 3781.0935
## 3 173378.9161 -nan 0.0100 3550.6578
## 4 170222.1000 -nan 0.0100 2733.1950
## 5 167094.1314 -nan 0.0100 3054.9965
## 6 163908.8276 -nan 0.0100 2942.1081
## 7 160960.5046 -nan 0.0100 2779.1790
## 8 157968.7934 -nan 0.0100 3435.6038
## 9 155167.6896 -nan 0.0100 3179.0610
## 10 152220.8055 -nan 0.0100 2809.9726
## 20 126230.0534 -nan 0.0100 2228.0748
## 40 87183.1335 -nan 0.0100 1612.6739
## 60 60807.9376 -nan 0.0100 1204.2402
## 80 42619.7181 -nan 0.0100 598.6200
## 100 30557.1255 -nan 0.0100 462.0330
## 120 22349.6422 -nan 0.0100 311.9872
## 140 16514.8674 -nan 0.0100 229.2890
## 160 12594.0771 -nan 0.0100 145.5517
## 180 9790.4918 -nan 0.0100 78.3545
## 200 7949.0073 -nan 0.0100 64.9700
## 220 6604.5963 -nan 0.0100 35.8757
## 240 5733.4518 -nan 0.0100 22.2263
## 260 5057.6308 -nan 0.0100 18.7855
## 280 4579.2172 -nan 0.0100 -2.1979
## 300 4242.8742 -nan 0.0100 8.0177
## 320 3973.4934 -nan 0.0100 0.1302
## 340 3761.3209 -nan 0.0100 1.8514
## 360 3593.4661 -nan 0.0100 -4.9383
## 380 3456.0977 -nan 0.0100 -3.5878
## 400 3333.9171 -nan 0.0100 -4.3075
## 420 3224.1942 -nan 0.0100 -4.2443
## 440 3135.8365 -nan 0.0100 -3.4775
## 460 3046.7203 -nan 0.0100 -6.8691
## 480 2957.6733 -nan 0.0100 -6.4531
## 500 2885.4532 -nan 0.0100 -9.3480
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182809.3295 -nan 0.0100 3699.8001
## 2 179388.1214 -nan 0.0100 3459.6492
## 3 175878.0538 -nan 0.0100 3446.4266
## 4 172510.8127 -nan 0.0100 3332.5098
## 5 169182.7299 -nan 0.0100 3054.8305
## 6 166062.4797 -nan 0.0100 3159.2190
## 7 162982.5671 -nan 0.0100 2859.3682
## 8 159837.8834 -nan 0.0100 2942.1230
## 9 156835.4001 -nan 0.0100 2964.0026
## 10 153921.4163 -nan 0.0100 2925.2120
## 20 127394.4344 -nan 0.0100 2179.5175
## 40 88296.9979 -nan 0.0100 1562.1830
## 60 61570.9452 -nan 0.0100 870.2543
## 80 43171.0548 -nan 0.0100 659.4346
## 100 30677.6043 -nan 0.0100 483.0924
## 120 22072.4422 -nan 0.0100 393.5813
## 140 16234.2907 -nan 0.0100 228.9434
## 160 12310.3129 -nan 0.0100 170.4798
## 180 9653.6370 -nan 0.0100 89.7174
## 200 7786.3114 -nan 0.0100 70.2031
## 220 6451.7690 -nan 0.0100 41.2557
## 240 5498.9343 -nan 0.0100 35.8068
## 260 4791.5098 -nan 0.0100 17.1448
## 280 4307.6510 -nan 0.0100 8.5792
## 300 3941.1789 -nan 0.0100 4.2447
## 320 3663.4196 -nan 0.0100 -0.1407
## 340 3439.9978 -nan 0.0100 -2.2878
## 360 3249.7832 -nan 0.0100 -3.9335
## 380 3097.6176 -nan 0.0100 -1.7505
## 400 2960.5609 -nan 0.0100 0.2262
## 420 2842.4860 -nan 0.0100 -6.4762
## 440 2733.1067 -nan 0.0100 -0.7972
## 460 2639.7022 -nan 0.0100 -1.9787
## 480 2560.3355 -nan 0.0100 -2.3919
## 500 2483.1297 -nan 0.0100 -1.3719
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180300.3810 -nan 0.0100 3493.8635
## 2 176847.2663 -nan 0.0100 3325.1028
## 3 173531.2643 -nan 0.0100 3895.8545
## 4 170178.7444 -nan 0.0100 2947.4752
## 5 166958.7103 -nan 0.0100 3150.3364
## 6 163661.2166 -nan 0.0100 3362.6307
## 7 160437.1233 -nan 0.0100 3166.1541
## 8 157416.1655 -nan 0.0100 2517.4354
## 9 154434.8307 -nan 0.0100 2953.9066
## 10 151492.9404 -nan 0.0100 2720.1202
## 20 125371.1249 -nan 0.0100 2154.8025
## 40 86255.6606 -nan 0.0100 1630.6219
## 60 60080.8193 -nan 0.0100 952.3057
## 80 42386.6434 -nan 0.0100 664.7829
## 100 30280.5067 -nan 0.0100 464.5393
## 120 21965.4648 -nan 0.0100 334.7773
## 140 16343.2889 -nan 0.0100 227.4824
## 160 12498.1651 -nan 0.0100 154.3943
## 180 9824.5771 -nan 0.0100 88.8799
## 200 7945.4057 -nan 0.0100 64.1962
## 220 6636.4891 -nan 0.0100 39.2606
## 240 5670.7704 -nan 0.0100 29.2992
## 260 4981.6326 -nan 0.0100 22.5874
## 280 4526.0910 -nan 0.0100 12.1338
## 300 4144.5798 -nan 0.0100 1.2385
## 320 3834.4095 -nan 0.0100 2.4866
## 340 3570.2221 -nan 0.0100 9.4946
## 360 3377.1558 -nan 0.0100 3.2826
## 380 3216.2047 -nan 0.0100 -9.7074
## 400 3090.1029 -nan 0.0100 4.5483
## 420 3002.0631 -nan 0.0100 -3.9290
## 440 2913.3161 -nan 0.0100 -12.6389
## 460 2814.0676 -nan 0.0100 -2.3569
## 480 2738.2060 -nan 0.0100 -2.8661
## 500 2670.3260 -nan 0.0100 -7.7681
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)))
## earth gam ppr parRF gbm
## 59.32 62.92 70.95 77.28 82.05
## blackboost glm glmnet svmRadial mlpWeightDecay
## 88.18 102.01 102.16 117.24 396.80
# Make a greedy ensemble - currently can only use RMSE
greedy <- caretEnsemble(all.models, iter = 1000L)
## Loading required package: pbapply
sort(greedy$weights, decreasing = TRUE)
## earth parRF ppr gam
## 0.463 0.217 0.205 0.115
greedy$error
## RMSE
## 56.18
# 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
## -217.08 -26.11 0.11 28.80 224.34
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 39.10687 36.41750 1.07 0.2841
## gbm -0.20480 0.15756 -1.30 0.1950
## blackboost -0.18870 0.11666 -1.62 0.1072
## parRF 0.71215 0.14603 4.88 2.1e-06 ***
## mlpWeightDecay 0.00744 0.01138 0.65 0.5138
## ppr 0.30563 0.07345 4.16 4.5e-05 ***
## earth 0.50430 0.12725 3.96 0.0001 ***
## glm 1.71630 0.85300 2.01 0.0454 *
## svmRadial -0.09517 0.04747 -2.00 0.0462 *
## gam 0.03065 0.10765 0.28 0.7761
## glmnet -1.80049 0.85606 -2.10 0.0366 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 3042)
##
## Null deviance: 42463442 on 230 degrees of freedom
## Residual deviance: 669182 on 220 degrees of freedom
## AIC: 2521
##
## Number of Fisher Scoring iterations: 2
linear$error
## parameter RMSE Rsquared RMSESD RsquaredSD
## 1 none 61.6 0.9806 7.872 0.006314
# 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_greedy ENS_linear gam earth parRF
## 55.27 58.30 63.66 63.95 72.97
## gbm ppr blackboost glmnet glm
## 76.93 81.66 85.66 115.39 115.95
## svmRadial mlpWeightDecay
## 122.60 533.94
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] 4.765
sd(dd[, 1] - predf$ENS_greedy[idx])
## [1] 636.9
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 179445.0091 -nan 0.0100 3314.8931
## 2 176204.4837 -nan 0.0100 3407.0007
## 3 172988.2950 -nan 0.0100 3309.7664
## 4 169767.2731 -nan 0.0100 3243.8598
## 5 166752.0394 -nan 0.0100 2884.2308
## 6 163579.5742 -nan 0.0100 3021.4193
## 7 160583.1556 -nan 0.0100 2863.9737
## 8 157556.4919 -nan 0.0100 2948.8068
## 9 154872.1398 -nan 0.0100 2529.7055
## 10 152149.8912 -nan 0.0100 2776.0688
## 20 126595.9125 -nan 0.0100 2203.0916
## 40 87922.1610 -nan 0.0100 1734.9142
## 60 61857.7379 -nan 0.0100 1001.1975
## 80 44066.1849 -nan 0.0100 688.3692
## 100 31962.8839 -nan 0.0100 487.6291
## 120 23461.1087 -nan 0.0100 342.3530
## 140 17512.6943 -nan 0.0100 213.1078
## 160 13415.1583 -nan 0.0100 104.4063
## 180 10614.1665 -nan 0.0100 126.3339
## 200 8605.4747 -nan 0.0100 64.5891
## 220 7152.2044 -nan 0.0100 49.5786
## 240 6130.3479 -nan 0.0100 32.5434
## 260 5417.4061 -nan 0.0100 22.6540
## 280 4829.6650 -nan 0.0100 17.6767
## 300 4427.1794 -nan 0.0100 14.2165
## 320 4096.8869 -nan 0.0100 8.0810
## 340 3860.7530 -nan 0.0100 -1.3809
## 360 3664.7491 -nan 0.0100 0.6119
## 380 3486.7197 -nan 0.0100 -8.1842
## 400 3346.6435 -nan 0.0100 -1.8841
## 420 3190.4075 -nan 0.0100 -1.8405
## 440 3067.4885 -nan 0.0100 -0.3704
## 460 2944.4376 -nan 0.0100 -2.6919
## 480 2843.7108 -nan 0.0100 -8.4598
## 500 2749.5311 -nan 0.0100 -3.7408
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180802.1159 -nan 0.0100 3307.8582
## 2 177412.7585 -nan 0.0100 3393.5947
## 3 174172.8617 -nan 0.0100 3091.7678
## 4 171170.4818 -nan 0.0100 2667.2954
## 5 168006.4188 -nan 0.0100 3170.7767
## 6 164915.3299 -nan 0.0100 2588.8424
## 7 162048.4881 -nan 0.0100 2055.6316
## 8 159223.2853 -nan 0.0100 2554.1612
## 9 156437.5611 -nan 0.0100 2794.7770
## 10 153693.8646 -nan 0.0100 3113.9286
## 20 127900.3343 -nan 0.0100 2065.8493
## 40 89241.1954 -nan 0.0100 1525.2010
## 60 62677.1519 -nan 0.0100 994.7882
## 80 44586.5397 -nan 0.0100 883.8525
## 100 32364.8634 -nan 0.0100 477.4207
## 120 23749.7339 -nan 0.0100 343.9178
## 140 17797.7154 -nan 0.0100 214.0946
## 160 13823.8291 -nan 0.0100 161.9267
## 180 10781.2492 -nan 0.0100 83.0017
## 200 8758.8651 -nan 0.0100 61.8085
## 220 7284.1889 -nan 0.0100 48.3711
## 240 6283.1948 -nan 0.0100 31.9307
## 260 5542.1157 -nan 0.0100 19.0477
## 280 4982.3368 -nan 0.0100 9.8610
## 300 4545.6055 -nan 0.0100 6.2612
## 320 4237.6663 -nan 0.0100 -1.0775
## 340 3992.5845 -nan 0.0100 2.0102
## 360 3759.7364 -nan 0.0100 -6.2455
## 380 3576.2507 -nan 0.0100 -3.7255
## 400 3420.1741 -nan 0.0100 0.1382
## 420 3283.7989 -nan 0.0100 -5.5520
## 440 3146.1010 -nan 0.0100 -4.4418
## 460 3045.9011 -nan 0.0100 -0.7124
## 480 2936.4634 -nan 0.0100 -5.0077
## 500 2830.8786 -nan 0.0100 -0.8950
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 181648.4928 -nan 0.0100 3057.3595
## 2 178390.3995 -nan 0.0100 3522.7490
## 3 175299.3076 -nan 0.0100 3652.2996
## 4 172244.0135 -nan 0.0100 2825.7204
## 5 168995.1841 -nan 0.0100 3516.5245
## 6 165815.8042 -nan 0.0100 2928.6002
## 7 162740.3648 -nan 0.0100 3159.0529
## 8 160040.6028 -nan 0.0100 2613.6945
## 9 157115.0883 -nan 0.0100 3169.2118
## 10 154174.9236 -nan 0.0100 2914.3465
## 20 127913.1627 -nan 0.0100 2492.9214
## 40 89017.2814 -nan 0.0100 1530.1240
## 60 62628.0484 -nan 0.0100 927.4124
## 80 44592.2426 -nan 0.0100 725.4507
## 100 32315.5987 -nan 0.0100 538.5748
## 120 23797.9375 -nan 0.0100 361.5696
## 140 17728.1322 -nan 0.0100 263.9159
## 160 13747.3121 -nan 0.0100 161.6578
## 180 10796.3624 -nan 0.0100 100.6915
## 200 8702.9041 -nan 0.0100 80.0431
## 220 7258.2648 -nan 0.0100 46.0947
## 240 6196.2400 -nan 0.0100 27.2165
## 260 5430.3107 -nan 0.0100 24.8229
## 280 4924.8261 -nan 0.0100 4.6141
## 300 4481.8405 -nan 0.0100 13.1262
## 320 4182.9155 -nan 0.0100 5.6090
## 340 3893.3217 -nan 0.0100 4.9757
## 360 3677.5524 -nan 0.0100 -5.5066
## 380 3513.2839 -nan 0.0100 -2.4458
## 400 3354.3031 -nan 0.0100 -3.2189
## 420 3210.8769 -nan 0.0100 -1.1445
## 440 3092.5747 -nan 0.0100 -2.0456
## 460 2970.0296 -nan 0.0100 -2.3250
## 480 2866.6667 -nan 0.0100 -2.3249
## 500 2773.8351 -nan 0.0100 -9.8697
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 189177.4266 -nan 0.0100 3389.5750
## 2 185623.5952 -nan 0.0100 3330.6154
## 3 182211.7509 -nan 0.0100 3732.1488
## 4 178839.3934 -nan 0.0100 2911.0088
## 5 175561.0028 -nan 0.0100 3161.0052
## 6 172254.8348 -nan 0.0100 2679.9907
## 7 169078.0496 -nan 0.0100 3304.7331
## 8 166018.9399 -nan 0.0100 3023.5596
## 9 162905.8477 -nan 0.0100 3106.6096
## 10 159854.9654 -nan 0.0100 2712.8134
## 20 132944.2294 -nan 0.0100 2227.4107
## 40 92666.3401 -nan 0.0100 1639.8125
## 60 65170.2927 -nan 0.0100 1124.9875
## 80 46285.4016 -nan 0.0100 616.6015
## 100 33355.4511 -nan 0.0100 488.7676
## 120 24446.3357 -nan 0.0100 365.1312
## 140 18137.3066 -nan 0.0100 233.1558
## 160 13752.2929 -nan 0.0100 156.9903
## 180 10835.9478 -nan 0.0100 115.9096
## 200 8797.5618 -nan 0.0100 82.8223
## 220 7309.2783 -nan 0.0100 36.5429
## 240 6276.7383 -nan 0.0100 38.4420
## 260 5537.0351 -nan 0.0100 20.7257
## 280 4956.4890 -nan 0.0100 10.1447
## 300 4571.2637 -nan 0.0100 10.7087
## 320 4289.3882 -nan 0.0100 2.1109
## 340 4025.8376 -nan 0.0100 2.0079
## 360 3776.8608 -nan 0.0100 -4.0240
## 380 3590.1845 -nan 0.0100 -2.5410
## 400 3421.9131 -nan 0.0100 -0.6144
## 420 3301.3996 -nan 0.0100 1.0975
## 440 3182.1628 -nan 0.0100 -2.8445
## 460 3072.3360 -nan 0.0100 -0.5009
## 480 2957.9069 -nan 0.0100 -5.5704
## 500 2875.0104 -nan 0.0100 -2.9976
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 172962.2465 -nan 0.0100 3240.1958
## 2 169571.9116 -nan 0.0100 3194.2310
## 3 166441.0905 -nan 0.0100 2969.4029
## 4 163316.2929 -nan 0.0100 3564.3742
## 5 160373.0507 -nan 0.0100 2926.5410
## 6 157394.2064 -nan 0.0100 2486.2859
## 7 154548.3460 -nan 0.0100 2915.5848
## 8 151759.5399 -nan 0.0100 2796.1975
## 9 148919.1926 -nan 0.0100 2808.6227
## 10 146353.7756 -nan 0.0100 2845.0085
## 20 121833.2170 -nan 0.0100 2356.7797
## 40 85355.0479 -nan 0.0100 1657.9792
## 60 60199.0385 -nan 0.0100 1055.2818
## 80 42919.9932 -nan 0.0100 764.6807
## 100 31101.0581 -nan 0.0100 452.3415
## 120 22864.7791 -nan 0.0100 230.0907
## 140 17195.1357 -nan 0.0100 202.7614
## 160 13345.3652 -nan 0.0100 149.9095
## 180 10624.1334 -nan 0.0100 114.2349
## 200 8590.1942 -nan 0.0100 62.5145
## 220 7180.7656 -nan 0.0100 55.6644
## 240 6109.9651 -nan 0.0100 42.9793
## 260 5343.2717 -nan 0.0100 13.4036
## 280 4821.2190 -nan 0.0100 11.4373
## 300 4393.1294 -nan 0.0100 8.8547
## 320 4046.3976 -nan 0.0100 -1.7611
## 340 3809.5617 -nan 0.0100 3.6664
## 360 3604.6794 -nan 0.0100 7.0390
## 380 3421.6200 -nan 0.0100 -3.1602
## 400 3286.8996 -nan 0.0100 -3.4779
## 420 3153.6859 -nan 0.0100 1.3997
## 440 3027.8187 -nan 0.0100 -0.5909
## 460 2925.7346 -nan 0.0100 -3.4509
## 480 2836.5252 -nan 0.0100 0.6045
## 500 2743.3084 -nan 0.0100 -0.1533
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179347.1834 -nan 0.0100 3658.2386
## 2 176021.9847 -nan 0.0100 2790.9039
## 3 172834.2847 -nan 0.0100 3188.5945
## 4 169725.2588 -nan 0.0100 3338.0800
## 5 166771.0903 -nan 0.0100 3436.6585
## 6 163674.7060 -nan 0.0100 3063.6291
## 7 160697.0529 -nan 0.0100 3332.8936
## 8 157746.1208 -nan 0.0100 2868.6741
## 9 154796.8475 -nan 0.0100 2961.1436
## 10 152088.0634 -nan 0.0100 2579.2105
## 20 126854.9890 -nan 0.0100 1849.7370
## 40 87884.1304 -nan 0.0100 1528.6530
## 60 61664.0334 -nan 0.0100 1014.9169
## 80 43832.5666 -nan 0.0100 675.3175
## 100 31502.2239 -nan 0.0100 471.9732
## 120 23069.0455 -nan 0.0100 261.9049
## 140 17328.2332 -nan 0.0100 144.1412
## 160 13346.5674 -nan 0.0100 170.6402
## 180 10610.7973 -nan 0.0100 122.3278
## 200 8623.0232 -nan 0.0100 72.2113
## 220 7079.3716 -nan 0.0100 46.4378
## 240 6117.3499 -nan 0.0100 41.9476
## 260 5356.6008 -nan 0.0100 14.6314
## 280 4808.5966 -nan 0.0100 8.8988
## 300 4418.1643 -nan 0.0100 -4.0479
## 320 4088.6311 -nan 0.0100 9.4720
## 340 3829.5021 -nan 0.0100 6.0794
## 360 3595.0544 -nan 0.0100 6.1924
## 380 3421.0029 -nan 0.0100 3.2150
## 400 3291.5773 -nan 0.0100 -5.3025
## 420 3168.0713 -nan 0.0100 -4.0054
## 440 3057.5715 -nan 0.0100 -7.3039
## 460 2948.2054 -nan 0.0100 -4.8111
## 480 2847.7809 -nan 0.0100 -2.8430
## 500 2752.2320 -nan 0.0100 -1.8050
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182989.8128 -nan 0.0100 3318.5461
## 2 179615.2152 -nan 0.0100 3059.9227
## 3 176340.7357 -nan 0.0100 3510.0982
## 4 172950.4543 -nan 0.0100 3526.3998
## 5 169890.7241 -nan 0.0100 3403.1022
## 6 166751.0800 -nan 0.0100 2988.0202
## 7 163557.1440 -nan 0.0100 2817.3661
## 8 160533.0015 -nan 0.0100 2706.5549
## 9 157531.6232 -nan 0.0100 2927.2076
## 10 154631.0315 -nan 0.0100 2585.1608
## 20 128429.0106 -nan 0.0100 2342.8350
## 40 88792.0880 -nan 0.0100 1734.2848
## 60 62305.5130 -nan 0.0100 916.6672
## 80 44357.0238 -nan 0.0100 653.2070
## 100 31873.6684 -nan 0.0100 490.0681
## 120 23215.9882 -nan 0.0100 317.2659
## 140 17241.7092 -nan 0.0100 244.6502
## 160 13133.0613 -nan 0.0100 181.6092
## 180 10276.6629 -nan 0.0100 94.4888
## 200 8158.8976 -nan 0.0100 68.1566
## 220 6706.9458 -nan 0.0100 62.1828
## 240 5610.6609 -nan 0.0100 30.4679
## 260 4869.7075 -nan 0.0100 22.2786
## 280 4325.9350 -nan 0.0100 8.6543
## 300 3947.6766 -nan 0.0100 5.9386
## 320 3616.8692 -nan 0.0100 5.2659
## 340 3346.9311 -nan 0.0100 12.0551
## 360 3133.8614 -nan 0.0100 -2.7944
## 380 2967.6166 -nan 0.0100 -1.5663
## 400 2847.6581 -nan 0.0100 -6.5066
## 420 2718.7955 -nan 0.0100 -2.2658
## 440 2631.0444 -nan 0.0100 -4.2134
## 460 2522.6098 -nan 0.0100 0.0252
## 480 2429.1185 -nan 0.0100 2.4179
## 500 2332.0522 -nan 0.0100 -3.4717
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 174475.1494 -nan 0.0100 3328.1716
## 2 171177.4495 -nan 0.0100 3241.7076
## 3 168019.4129 -nan 0.0100 3267.6229
## 4 164917.7055 -nan 0.0100 3039.2485
## 5 161877.2854 -nan 0.0100 3462.3934
## 6 159081.4166 -nan 0.0100 2474.6396
## 7 156108.4056 -nan 0.0100 2552.5743
## 8 153170.8674 -nan 0.0100 3075.9586
## 9 150411.6005 -nan 0.0100 2730.3856
## 10 147704.6976 -nan 0.0100 2959.6957
## 20 122680.4431 -nan 0.0100 1993.4833
## 40 85160.2253 -nan 0.0100 1654.8740
## 60 59905.3002 -nan 0.0100 984.1646
## 80 42281.8847 -nan 0.0100 705.7755
## 100 30267.5606 -nan 0.0100 491.3174
## 120 22036.0829 -nan 0.0100 265.4609
## 140 16381.5182 -nan 0.0100 234.6781
## 160 12477.4489 -nan 0.0100 135.9498
## 180 9681.3549 -nan 0.0100 85.4198
## 200 7774.2683 -nan 0.0100 80.3217
## 220 6385.4739 -nan 0.0100 55.4490
## 240 5387.6783 -nan 0.0100 26.7191
## 260 4710.9067 -nan 0.0100 9.2347
## 280 4181.5375 -nan 0.0100 10.1532
## 300 3755.5223 -nan 0.0100 8.5276
## 320 3445.3414 -nan 0.0100 6.8672
## 340 3197.9142 -nan 0.0100 7.8333
## 360 3019.6126 -nan 0.0100 0.0108
## 380 2861.9221 -nan 0.0100 -5.2618
## 400 2719.7928 -nan 0.0100 -1.2715
## 420 2606.3637 -nan 0.0100 -1.2502
## 440 2481.7914 -nan 0.0100 -1.9550
## 460 2382.2404 -nan 0.0100 -4.3065
## 480 2299.8227 -nan 0.0100 -0.6351
## 500 2231.0603 -nan 0.0100 -2.6285
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180427.4344 -nan 0.0100 3349.4116
## 2 176986.6872 -nan 0.0100 2833.3262
## 3 173690.1140 -nan 0.0100 2710.3206
## 4 170457.3239 -nan 0.0100 2592.9440
## 5 167370.5996 -nan 0.0100 2656.0473
## 6 164296.2313 -nan 0.0100 3156.6567
## 7 161315.3381 -nan 0.0100 3011.3885
## 8 158299.9158 -nan 0.0100 3204.5312
## 9 155419.2735 -nan 0.0100 2648.6476
## 10 152610.0029 -nan 0.0100 2855.0519
## 20 126707.9898 -nan 0.0100 2441.7567
## 40 87932.8138 -nan 0.0100 1586.4756
## 60 61724.2314 -nan 0.0100 992.8255
## 80 43881.5188 -nan 0.0100 601.3610
## 100 31575.2843 -nan 0.0100 576.8949
## 120 23232.8999 -nan 0.0100 273.2499
## 140 17495.0874 -nan 0.0100 217.4653
## 160 13372.0214 -nan 0.0100 161.1615
## 180 10392.3765 -nan 0.0100 112.9783
## 200 8387.0940 -nan 0.0100 83.5188
## 220 6891.4407 -nan 0.0100 52.7940
## 240 5871.0891 -nan 0.0100 27.3906
## 260 5082.6692 -nan 0.0100 25.2838
## 280 4565.4086 -nan 0.0100 10.2740
## 300 4149.9939 -nan 0.0100 5.3932
## 320 3868.3955 -nan 0.0100 4.8904
## 340 3614.2791 -nan 0.0100 0.8740
## 360 3387.8490 -nan 0.0100 4.4917
## 380 3241.6633 -nan 0.0100 -3.8277
## 400 3089.2513 -nan 0.0100 -2.9099
## 420 2969.7569 -nan 0.0100 0.5733
## 440 2867.9550 -nan 0.0100 -1.8894
## 460 2763.0996 -nan 0.0100 -4.2643
## 480 2656.0868 -nan 0.0100 -5.3459
## 500 2572.8924 -nan 0.0100 -1.6244
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182994.6102 -nan 0.0100 3242.4034
## 2 179809.5704 -nan 0.0100 3350.2444
## 3 176408.6821 -nan 0.0100 3346.2534
## 4 173224.6194 -nan 0.0100 3593.5816
## 5 170079.3857 -nan 0.0100 3649.6286
## 6 167046.6660 -nan 0.0100 2777.8348
## 7 163949.1293 -nan 0.0100 3228.1778
## 8 161108.1597 -nan 0.0100 2865.6246
## 9 158138.8627 -nan 0.0100 3057.2755
## 10 155333.5363 -nan 0.0100 2618.9342
## 20 129042.1163 -nan 0.0100 2280.3632
## 40 90101.0813 -nan 0.0100 1500.8083
## 60 63522.2098 -nan 0.0100 1116.3479
## 80 45311.9358 -nan 0.0100 603.7064
## 100 32836.4534 -nan 0.0100 474.8936
## 120 24241.7600 -nan 0.0100 362.1998
## 140 18165.6681 -nan 0.0100 246.8387
## 160 13883.6339 -nan 0.0100 175.2391
## 180 10939.1249 -nan 0.0100 113.0845
## 200 8829.5713 -nan 0.0100 84.0874
## 220 7394.7012 -nan 0.0100 61.1350
## 240 6279.6483 -nan 0.0100 17.7947
## 260 5443.0124 -nan 0.0100 23.3477
## 280 4840.9230 -nan 0.0100 19.4786
## 300 4423.7960 -nan 0.0100 8.4413
## 320 4099.1755 -nan 0.0100 3.2354
## 340 3836.2906 -nan 0.0100 -1.7482
## 360 3593.2324 -nan 0.0100 1.3882
## 380 3431.2936 -nan 0.0100 -2.8528
## 400 3279.1931 -nan 0.0100 3.3129
## 420 3151.5336 -nan 0.0100 -0.7165
## 440 3025.6396 -nan 0.0100 -3.4522
## 460 2909.5420 -nan 0.0100 -3.9018
## 480 2808.1866 -nan 0.0100 -5.4572
## 500 2715.8593 -nan 0.0100 -3.1184
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180257.5064 -nan 0.0100 3848.6552
## 2 176904.6715 -nan 0.0100 3197.9544
## 3 173672.6746 -nan 0.0100 3132.2871
## 4 170405.5657 -nan 0.0100 2824.8469
## 5 167213.6228 -nan 0.0100 3008.2092
## 6 164128.0946 -nan 0.0100 3055.4635
## 7 161052.5260 -nan 0.0100 3068.8319
## 8 158005.7062 -nan 0.0100 2843.9057
## 9 155252.8921 -nan 0.0100 2823.8071
## 10 152289.7268 -nan 0.0100 2697.2809
## 20 126967.5817 -nan 0.0100 2356.9609
## 40 88223.3660 -nan 0.0100 1672.3634
## 60 61632.9052 -nan 0.0100 1195.3011
## 80 43400.1421 -nan 0.0100 729.6176
## 100 31001.2361 -nan 0.0100 417.5663
## 120 22704.3522 -nan 0.0100 321.1080
## 140 16883.5510 -nan 0.0100 215.7166
## 160 12842.4912 -nan 0.0100 145.8655
## 180 9989.9525 -nan 0.0100 96.2549
## 200 7992.9759 -nan 0.0100 77.6544
## 220 6669.0326 -nan 0.0100 50.9184
## 240 5687.0128 -nan 0.0100 27.4601
## 260 4934.5339 -nan 0.0100 22.4137
## 280 4406.7040 -nan 0.0100 7.6819
## 300 4016.2177 -nan 0.0100 5.3613
## 320 3735.6146 -nan 0.0100 10.8004
## 340 3516.3358 -nan 0.0100 0.9274
## 360 3311.2825 -nan 0.0100 2.7866
## 380 3137.9076 -nan 0.0100 -7.6009
## 400 2997.6086 -nan 0.0100 -1.9281
## 420 2858.4642 -nan 0.0100 -2.9289
## 440 2755.0744 -nan 0.0100 -0.2170
## 460 2645.7761 -nan 0.0100 -0.4552
## 480 2562.4022 -nan 0.0100 -6.0316
## 500 2476.4244 -nan 0.0100 0.3883
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 79.64 81.88 93.53 95.11
## gam glmnet glm svmRadial mlpWeightDecay
## 105.75 118.37 121.31 132.48 676.21
# Make a greedy ensemble - currently can only use RMSE
greedy2 <- caretEnsemble(all.models.2, iter = 1000L)
sort(greedy2$weights, decreasing = TRUE)
## earth ppr parRF gbm svmRadial
## 0.323 0.301 0.257 0.109 0.010
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
## -214.16 -31.14 1.58 25.85 260.88
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -32.28652 45.14171 -0.72 0.47557
## gbm 0.08825 0.19395 0.45 0.64977
## blackboost -0.20125 0.14720 -1.37 0.17360
## parRF 0.60243 0.15753 3.82 0.00019 ***
## mlpWeightDecay -0.00685 0.00473 -1.45 0.15005
## ppr 0.06816 0.07032 0.97 0.33391
## earth 0.43423 0.08662 5.01 1.5e-06 ***
## glm 0.19262 0.32767 0.59 0.55750
## svmRadial 0.05455 0.05760 0.95 0.34510
## gam -0.00750 0.05187 -0.14 0.88520
## glmnet -0.21545 0.34160 -0.63 0.52918
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 3420)
##
## Null deviance: 28979141 on 162 degrees of freedom
## Residual deviance: 519826 on 152 degrees of freedom
## (68 observations deleted due to missingness)
## AIC: 1802
##
## Number of Fisher Scoring iterations: 2
linear2$error
## parameter RMSE Rsquared RMSESD RsquaredSD
## 1 none 64.76 0.9729 26.17 0.02657
# 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 parRF gbm
## 56.03 58.19 79.14 81.10 87.65
## ppr blackboost glm glmnet gam
## 93.80 100.94 114.86 115.35 139.70
## svmRadial mlpWeightDecay
## 147.07 582.76
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 179553.4388 -nan 0.0100 3120.0824
## 2 176296.7525 -nan 0.0100 3178.0412
## 3 173360.4593 -nan 0.0100 2505.5101
## 4 170376.1185 -nan 0.0100 2950.7233
## 5 167396.8188 -nan 0.0100 2782.1099
## 6 164494.4807 -nan 0.0100 2598.3687
## 7 161623.3715 -nan 0.0100 2915.4160
## 8 158832.6523 -nan 0.0100 2102.7270
## 9 156156.8783 -nan 0.0100 2532.9456
## 10 153572.0233 -nan 0.0100 2660.8061
## 20 129669.1651 -nan 0.0100 2147.3235
## 40 93214.4836 -nan 0.0100 1249.5984
## 60 68267.8796 -nan 0.0100 833.4305
## 80 50480.0172 -nan 0.0100 858.2302
## 100 38044.9780 -nan 0.0100 566.4014
## 120 29655.6519 -nan 0.0100 339.1302
## 140 23453.5040 -nan 0.0100 267.2947
## 160 18985.8300 -nan 0.0100 143.7085
## 180 15673.1295 -nan 0.0100 68.1079
## 200 13462.8134 -nan 0.0100 88.3344
## 220 11739.5052 -nan 0.0100 62.2357
## 240 10476.7398 -nan 0.0100 8.3373
## 260 9543.0681 -nan 0.0100 32.8244
## 280 8733.2852 -nan 0.0100 31.1274
## 300 8115.7770 -nan 0.0100 20.0176
## 320 7581.3384 -nan 0.0100 -2.9581
## 340 7158.6815 -nan 0.0100 6.9979
## 360 6784.4167 -nan 0.0100 4.9425
## 380 6404.5592 -nan 0.0100 -4.8293
## 400 6094.6405 -nan 0.0100 -4.2400
## 420 5813.5062 -nan 0.0100 -6.2604
## 440 5558.6149 -nan 0.0100 -2.5751
## 460 5309.0660 -nan 0.0100 5.1211
## 480 5092.8062 -nan 0.0100 -3.1038
## 500 4911.7362 -nan 0.0100 -7.2865
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 181159.6053 -nan 0.0100 2697.1425
## 2 178190.8551 -nan 0.0100 2903.5099
## 3 175194.0142 -nan 0.0100 2700.4493
## 4 172040.7059 -nan 0.0100 3182.8751
## 5 169164.7946 -nan 0.0100 2692.1850
## 6 166240.9690 -nan 0.0100 2992.6615
## 7 163415.0238 -nan 0.0100 2890.8930
## 8 160585.3702 -nan 0.0100 2304.8914
## 9 157828.0112 -nan 0.0100 2603.8594
## 10 155244.8313 -nan 0.0100 2638.6725
## 20 130718.0551 -nan 0.0100 2635.5667
## 40 94149.6585 -nan 0.0100 1486.4234
## 60 68885.4834 -nan 0.0100 846.8659
## 80 51302.0119 -nan 0.0100 741.6112
## 100 38655.9033 -nan 0.0100 417.8098
## 120 30070.4286 -nan 0.0100 299.7750
## 140 23768.7990 -nan 0.0100 219.5311
## 160 19415.5906 -nan 0.0100 205.1879
## 180 16304.7095 -nan 0.0100 62.9929
## 200 13983.5883 -nan 0.0100 40.1724
## 220 12197.2474 -nan 0.0100 51.4589
## 240 10816.4725 -nan 0.0100 48.6945
## 260 9875.7445 -nan 0.0100 13.6797
## 280 9110.5908 -nan 0.0100 17.5382
## 300 8498.7947 -nan 0.0100 3.9134
## 320 8011.1351 -nan 0.0100 -4.8225
## 340 7556.7807 -nan 0.0100 -9.1562
## 360 7161.5558 -nan 0.0100 -3.6279
## 380 6799.8243 -nan 0.0100 4.9723
## 400 6475.5271 -nan 0.0100 7.6944
## 420 6207.7343 -nan 0.0100 5.8952
## 440 5916.0974 -nan 0.0100 -0.7747
## 460 5671.2264 -nan 0.0100 0.3785
## 480 5450.3727 -nan 0.0100 0.2397
## 500 5244.6395 -nan 0.0100 4.4868
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 181821.3942 -nan 0.0100 2926.0235
## 2 178592.3760 -nan 0.0100 3045.7445
## 3 175737.0706 -nan 0.0100 2666.4230
## 4 172762.0008 -nan 0.0100 2890.2504
## 5 169811.6367 -nan 0.0100 3008.5229
## 6 166811.4282 -nan 0.0100 2585.6101
## 7 164152.1885 -nan 0.0100 2489.0439
## 8 161420.5751 -nan 0.0100 2851.0169
## 9 158764.9832 -nan 0.0100 2265.1858
## 10 156126.5403 -nan 0.0100 2015.4446
## 20 131100.4536 -nan 0.0100 2411.4176
## 40 94229.2479 -nan 0.0100 1478.6046
## 60 68975.4334 -nan 0.0100 1006.8055
## 80 51300.9561 -nan 0.0100 820.5546
## 100 39062.2720 -nan 0.0100 398.8423
## 120 30380.8853 -nan 0.0100 305.2962
## 140 23881.6953 -nan 0.0100 219.9196
## 160 19419.8758 -nan 0.0100 134.3542
## 180 16217.8324 -nan 0.0100 101.6273
## 200 13704.2553 -nan 0.0100 95.6188
## 220 11776.2124 -nan 0.0100 72.9186
## 240 10429.9229 -nan 0.0100 54.1692
## 260 9499.6673 -nan 0.0100 10.8964
## 280 8767.7401 -nan 0.0100 13.0734
## 300 8118.0581 -nan 0.0100 8.2191
## 320 7568.7719 -nan 0.0100 -16.4334
## 340 7145.6107 -nan 0.0100 -0.7293
## 360 6772.4021 -nan 0.0100 4.9470
## 380 6451.3270 -nan 0.0100 0.2992
## 400 6120.4377 -nan 0.0100 -4.5562
## 420 5820.0028 -nan 0.0100 2.9232
## 440 5586.2170 -nan 0.0100 -0.7270
## 460 5345.2089 -nan 0.0100 -0.2427
## 480 5145.5977 -nan 0.0100 -8.3337
## 500 4931.0147 -nan 0.0100 -4.4611
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 189174.8002 -nan 0.0100 3216.9886
## 2 185693.5350 -nan 0.0100 2966.3445
## 3 182357.3235 -nan 0.0100 3156.9501
## 4 179208.8382 -nan 0.0100 2777.8253
## 5 176052.1388 -nan 0.0100 2847.9926
## 6 173115.4364 -nan 0.0100 2712.6579
## 7 170201.0658 -nan 0.0100 2563.3259
## 8 167224.9930 -nan 0.0100 2869.2581
## 9 164374.4992 -nan 0.0100 2660.4375
## 10 161753.4944 -nan 0.0100 2829.7469
## 20 136159.5714 -nan 0.0100 1949.9695
## 40 98242.7687 -nan 0.0100 1461.3565
## 60 71226.5600 -nan 0.0100 954.2828
## 80 52816.1595 -nan 0.0100 725.7782
## 100 39768.7302 -nan 0.0100 408.5507
## 120 30788.9268 -nan 0.0100 248.4782
## 140 24237.4412 -nan 0.0100 203.1258
## 160 19733.7080 -nan 0.0100 184.1072
## 180 16426.4071 -nan 0.0100 90.4322
## 200 13932.8129 -nan 0.0100 85.8738
## 220 12190.3485 -nan 0.0100 41.5246
## 240 10776.3278 -nan 0.0100 43.1579
## 260 9714.3863 -nan 0.0100 26.6153
## 280 8887.4986 -nan 0.0100 24.1191
## 300 8243.4753 -nan 0.0100 10.5448
## 320 7658.4910 -nan 0.0100 -11.3195
## 340 7170.5710 -nan 0.0100 9.7543
## 360 6774.6438 -nan 0.0100 6.4386
## 380 6417.6120 -nan 0.0100 6.4583
## 400 6073.0570 -nan 0.0100 -8.6195
## 420 5771.0557 -nan 0.0100 0.5669
## 440 5506.4715 -nan 0.0100 -7.6647
## 460 5270.5700 -nan 0.0100 -2.2765
## 480 5051.7775 -nan 0.0100 -6.3446
## 500 4810.0987 -nan 0.0100 -3.1188
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 173348.2971 -nan 0.0100 2661.3908
## 2 170361.2770 -nan 0.0100 3051.6761
## 3 167465.0904 -nan 0.0100 2336.1070
## 4 164578.2054 -nan 0.0100 2462.4567
## 5 161661.0524 -nan 0.0100 2721.2608
## 6 158920.7851 -nan 0.0100 2675.8822
## 7 156169.4594 -nan 0.0100 2432.9702
## 8 153745.3018 -nan 0.0100 2286.1872
## 9 151158.6240 -nan 0.0100 2428.2110
## 10 148781.5477 -nan 0.0100 2449.7308
## 20 126232.2631 -nan 0.0100 1427.9496
## 40 91033.1934 -nan 0.0100 1289.1133
## 60 66846.9842 -nan 0.0100 921.6301
## 80 49830.6807 -nan 0.0100 667.8274
## 100 38115.3475 -nan 0.0100 479.1498
## 120 29632.8027 -nan 0.0100 297.9203
## 140 23530.5192 -nan 0.0100 316.5664
## 160 19177.9210 -nan 0.0100 167.9565
## 180 16044.4609 -nan 0.0100 46.1325
## 200 13742.6207 -nan 0.0100 73.2805
## 220 12138.0033 -nan 0.0100 33.3675
## 240 10884.0312 -nan 0.0100 19.1516
## 260 9800.4605 -nan 0.0100 20.6344
## 280 8975.2848 -nan 0.0100 17.6368
## 300 8327.1424 -nan 0.0100 -2.7372
## 320 7811.8899 -nan 0.0100 -0.7450
## 340 7348.8863 -nan 0.0100 10.9613
## 360 6955.6290 -nan 0.0100 1.7563
## 380 6632.9219 -nan 0.0100 0.3308
## 400 6327.1114 -nan 0.0100 7.5463
## 420 6052.7592 -nan 0.0100 -10.3489
## 440 5789.6616 -nan 0.0100 1.6533
## 460 5543.1423 -nan 0.0100 0.9619
## 480 5303.4802 -nan 0.0100 0.3681
## 500 5075.0055 -nan 0.0100 4.6775
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 179464.3274 -nan 0.0100 2990.9891
## 2 176432.4479 -nan 0.0100 2911.0726
## 3 173476.3697 -nan 0.0100 2763.9240
## 4 170564.9533 -nan 0.0100 2350.3365
## 5 167588.1515 -nan 0.0100 2670.9370
## 6 164885.8727 -nan 0.0100 2309.5498
## 7 162017.4513 -nan 0.0100 2813.2594
## 8 159236.3176 -nan 0.0100 2520.7941
## 9 156551.7396 -nan 0.0100 2507.0828
## 10 153962.6667 -nan 0.0100 2665.6884
## 20 130232.9713 -nan 0.0100 2135.3848
## 40 93392.3707 -nan 0.0100 1629.9472
## 60 67701.9216 -nan 0.0100 1259.9661
## 80 50158.9376 -nan 0.0100 671.2623
## 100 38143.7485 -nan 0.0100 281.6296
## 120 29593.9609 -nan 0.0100 306.8295
## 140 23476.4078 -nan 0.0100 150.6977
## 160 19086.2217 -nan 0.0100 100.5396
## 180 15972.8190 -nan 0.0100 153.5651
## 200 13622.3428 -nan 0.0100 117.6383
## 220 11823.5070 -nan 0.0100 51.9921
## 240 10559.7922 -nan 0.0100 47.9796
## 260 9674.4294 -nan 0.0100 22.8672
## 280 8907.3108 -nan 0.0100 11.0651
## 300 8282.6550 -nan 0.0100 8.6807
## 320 7741.4000 -nan 0.0100 -1.9956
## 340 7334.2223 -nan 0.0100 -0.8892
## 360 6911.4596 -nan 0.0100 4.4541
## 380 6556.0771 -nan 0.0100 -7.4334
## 400 6275.0297 -nan 0.0100 2.0255
## 420 6027.5460 -nan 0.0100 7.2564
## 440 5774.6139 -nan 0.0100 -5.1181
## 460 5538.5293 -nan 0.0100 -9.1742
## 480 5318.9001 -nan 0.0100 1.7298
## 500 5120.3286 -nan 0.0100 -4.2861
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 182944.6521 -nan 0.0100 2663.6856
## 2 179839.0382 -nan 0.0100 2897.9382
## 3 176636.5913 -nan 0.0100 3116.2393
## 4 173520.4688 -nan 0.0100 3105.7048
## 5 170509.1500 -nan 0.0100 2835.0153
## 6 167531.5830 -nan 0.0100 2451.2473
## 7 165021.5841 -nan 0.0100 2723.1534
## 8 162217.5466 -nan 0.0100 2861.6244
## 9 159360.3406 -nan 0.0100 2808.6032
## 10 156695.9520 -nan 0.0100 2611.0638
## 20 131666.2341 -nan 0.0100 2331.6573
## 40 94568.1869 -nan 0.0100 1539.9169
## 60 69235.8356 -nan 0.0100 1023.9897
## 80 51603.0507 -nan 0.0100 793.3382
## 100 38909.6630 -nan 0.0100 582.2489
## 120 29874.5573 -nan 0.0100 338.0921
## 140 23362.2798 -nan 0.0100 206.0839
## 160 18825.3823 -nan 0.0100 137.9662
## 180 15779.3565 -nan 0.0100 124.2654
## 200 13367.6495 -nan 0.0100 73.1646
## 220 11732.3102 -nan 0.0100 53.8478
## 240 10352.3316 -nan 0.0100 49.2639
## 260 9413.1629 -nan 0.0100 -3.4545
## 280 8621.8824 -nan 0.0100 17.9617
## 300 7990.1349 -nan 0.0100 10.5897
## 320 7514.7126 -nan 0.0100 8.6136
## 340 7046.3681 -nan 0.0100 -2.3397
## 360 6685.9784 -nan 0.0100 -8.9885
## 380 6361.6851 -nan 0.0100 -6.5969
## 400 6049.9531 -nan 0.0100 -4.7640
## 420 5758.6155 -nan 0.0100 3.3166
## 440 5511.3951 -nan 0.0100 -3.2634
## 460 5271.8677 -nan 0.0100 -4.6541
## 480 5074.9073 -nan 0.0100 -6.4858
## 500 4873.4827 -nan 0.0100 -6.2905
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 174571.6570 -nan 0.0100 3739.6418
## 2 171408.0983 -nan 0.0100 2996.8617
## 3 168390.0128 -nan 0.0100 2980.1560
## 4 165443.1848 -nan 0.0100 2809.8300
## 5 162619.9317 -nan 0.0100 2317.0174
## 6 159736.8843 -nan 0.0100 2509.2836
## 7 156901.9531 -nan 0.0100 2082.2842
## 8 154249.1444 -nan 0.0100 2454.0358
## 9 151491.7831 -nan 0.0100 2856.7322
## 10 148754.2603 -nan 0.0100 2676.2537
## 20 125166.9395 -nan 0.0100 2314.0078
## 40 89777.4652 -nan 0.0100 1388.1739
## 60 65071.2199 -nan 0.0100 918.3009
## 80 47849.8151 -nan 0.0100 646.3617
## 100 36016.3949 -nan 0.0100 524.5612
## 120 27638.2827 -nan 0.0100 340.1791
## 140 21711.0391 -nan 0.0100 186.8867
## 160 17483.1606 -nan 0.0100 165.9178
## 180 14453.5795 -nan 0.0100 74.8396
## 200 12212.1732 -nan 0.0100 83.5402
## 220 10565.2849 -nan 0.0100 32.2927
## 240 9363.4566 -nan 0.0100 39.1590
## 260 8386.1887 -nan 0.0100 6.7193
## 280 7595.0239 -nan 0.0100 28.8285
## 300 7042.8362 -nan 0.0100 11.7681
## 320 6581.9881 -nan 0.0100 0.4713
## 340 6154.8059 -nan 0.0100 4.7919
## 360 5753.2791 -nan 0.0100 -0.8824
## 380 5446.0427 -nan 0.0100 1.6062
## 400 5184.9071 -nan 0.0100 1.3536
## 420 4917.9646 -nan 0.0100 -0.8411
## 440 4670.8887 -nan 0.0100 -12.4186
## 460 4474.0091 -nan 0.0100 -5.7495
## 480 4278.8917 -nan 0.0100 -1.7501
## 500 4078.5888 -nan 0.0100 10.1417
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180486.3821 -nan 0.0100 3230.5074
## 2 177376.7592 -nan 0.0100 3329.0746
## 3 174250.3234 -nan 0.0100 2720.8124
## 4 171306.8817 -nan 0.0100 2980.4818
## 5 168341.0558 -nan 0.0100 3086.4656
## 6 165374.8082 -nan 0.0100 2923.9024
## 7 162354.6463 -nan 0.0100 3075.6636
## 8 159555.4008 -nan 0.0100 2675.7649
## 9 156854.9780 -nan 0.0100 2769.6226
## 10 154141.4810 -nan 0.0100 2677.3966
## 20 129859.1526 -nan 0.0100 1821.8383
## 40 92657.9243 -nan 0.0100 1481.9376
## 60 67221.8760 -nan 0.0100 802.0616
## 80 49831.3991 -nan 0.0100 537.5021
## 100 37772.5314 -nan 0.0100 514.9675
## 120 29225.8339 -nan 0.0100 338.6568
## 140 23049.0155 -nan 0.0100 251.3541
## 160 18698.1493 -nan 0.0100 142.1868
## 180 15517.0902 -nan 0.0100 84.0891
## 200 13236.9634 -nan 0.0100 65.4599
## 220 11557.5833 -nan 0.0100 48.5192
## 240 10287.9083 -nan 0.0100 35.0787
## 260 9402.9223 -nan 0.0100 30.0504
## 280 8672.4708 -nan 0.0100 19.2736
## 300 8104.2433 -nan 0.0100 13.9249
## 320 7647.6906 -nan 0.0100 -1.2660
## 340 7238.2897 -nan 0.0100 0.4483
## 360 6905.1524 -nan 0.0100 -5.4018
## 380 6600.4498 -nan 0.0100 -8.7176
## 400 6354.4613 -nan 0.0100 -17.4212
## 420 6082.9552 -nan 0.0100 -3.5187
## 440 5878.9046 -nan 0.0100 -7.3759
## 460 5641.6498 -nan 0.0100 -7.9061
## 480 5459.1956 -nan 0.0100 -7.0993
## 500 5307.7969 -nan 0.0100 -2.4281
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 183097.7060 -nan 0.0100 2992.3039
## 2 179799.4866 -nan 0.0100 3512.6343
## 3 176702.4137 -nan 0.0100 2934.9394
## 4 173589.0781 -nan 0.0100 2517.4386
## 5 170528.2518 -nan 0.0100 2743.7904
## 6 167449.2999 -nan 0.0100 2911.1442
## 7 164674.6220 -nan 0.0100 2944.2949
## 8 161823.8260 -nan 0.0100 2724.1059
## 9 159106.7200 -nan 0.0100 2648.8798
## 10 156327.2170 -nan 0.0100 2633.4134
## 20 132059.0279 -nan 0.0100 2472.6651
## 40 94692.7162 -nan 0.0100 1384.5564
## 60 68855.4914 -nan 0.0100 1003.7434
## 80 50732.9635 -nan 0.0100 573.5248
## 100 38273.0692 -nan 0.0100 422.8424
## 120 29456.4477 -nan 0.0100 334.2562
## 140 23261.5185 -nan 0.0100 241.5035
## 160 18982.9453 -nan 0.0100 152.8731
## 180 15888.2525 -nan 0.0100 63.2450
## 200 13488.6470 -nan 0.0100 90.7306
## 220 11863.6517 -nan 0.0100 62.1583
## 240 10615.8791 -nan 0.0100 12.5641
## 260 9624.1331 -nan 0.0100 12.7326
## 280 8827.4188 -nan 0.0100 12.9125
## 300 8219.0158 -nan 0.0100 3.0346
## 320 7692.5359 -nan 0.0100 8.5956
## 340 7184.4181 -nan 0.0100 16.7223
## 360 6785.7178 -nan 0.0100 3.6590
## 380 6476.2992 -nan 0.0100 2.9719
## 400 6142.1059 -nan 0.0100 -4.2732
## 420 5867.6741 -nan 0.0100 -4.2531
## 440 5636.4574 -nan 0.0100 -7.0563
## 460 5393.9419 -nan 0.0100 -16.3335
## 480 5169.8712 -nan 0.0100 -8.5764
## 500 4989.2899 -nan 0.0100 -3.3780
## Iter TrainDeviance ValidDeviance StepSize Improve
## 1 180596.1822 -nan 0.0100 3008.4185
## 2 177528.7417 -nan 0.0100 2924.7594
## 3 174488.7467 -nan 0.0100 2600.8216
## 4 171534.8314 -nan 0.0100 2941.7967
## 5 168639.2947 -nan 0.0100 3087.1306
## 6 165673.8623 -nan 0.0100 2575.4387
## 7 162891.3991 -nan 0.0100 2692.2450
## 8 160048.0507 -nan 0.0100 2761.3750
## 9 157381.5226 -nan 0.0100 2612.9546
## 10 154737.6153 -nan 0.0100 2123.2156
## 20 130058.3807 -nan 0.0100 1937.3801
## 40 93296.3414 -nan 0.0100 1732.8554
## 60 67609.9037 -nan 0.0100 1127.0017
## 80 49848.5760 -nan 0.0100 727.1784
## 100 37759.6758 -nan 0.0100 406.2785
## 120 29029.9526 -nan 0.0100 329.7076
## 140 22637.0263 -nan 0.0100 240.6013
## 160 18434.6890 -nan 0.0100 99.8279
## 180 15141.5248 -nan 0.0100 92.7513
## 200 12871.0519 -nan 0.0100 77.7678
## 220 11245.2026 -nan 0.0100 52.5604
## 240 9985.2714 -nan 0.0100 42.6621
## 260 9017.9758 -nan 0.0100 26.8540
## 280 8234.8059 -nan 0.0100 4.0552
## 300 7653.9035 -nan 0.0100 11.6780
## 320 7180.4321 -nan 0.0100 6.0730
## 340 6765.1337 -nan 0.0100 0.6889
## 360 6376.3614 -nan 0.0100 -2.8761
## 380 6074.7233 -nan 0.0100 -3.6191
## 400 5795.6989 -nan 0.0100 -7.8345
## 420 5556.2666 -nan 0.0100 -5.1912
## 440 5295.1376 -nan 0.0100 -11.4274
## 460 5055.0945 -nan 0.0100 -15.4156
## 480 4842.3959 -nan 0.0100 -0.7406
## 500 4673.1977 -nan 0.0100 2.1055
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.78 112.06 121.49 127.93
## blackboost glmnet glm gam mlpWeightDecay
## 131.64 138.68 139.24 335.74 464.92
# 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.611 0.159 0.139 0.084 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
## -437.4 -39.5 -1.0 43.4 296.1
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.19e+02 5.49e+01 -2.17 0.03111 *
## gbm -2.02e-01 1.43e-01 -1.41 0.15875
## blackboost -9.56e-02 9.59e-02 -1.00 0.32002
## parRF 5.79e-01 1.54e-01 3.76 0.00022 ***
## mlpWeightDecay 1.21e-02 1.39e-02 0.87 0.38490
## ppr 6.04e-01 6.84e-02 8.83 3.4e-16 ***
## earth 8.69e-02 5.74e-02 1.51 0.13166
## glm 1.29e+00 6.75e-01 1.91 0.05736 .
## svmRadial 1.91e-01 6.03e-02 3.16 0.00179 **
## gam 2.16e-03 1.06e-02 0.20 0.83885
## glmnet -1.43e+00 6.92e-01 -2.06 0.04015 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for gaussian family taken to be 6335)
##
## Null deviance: 42463442 on 230 degrees of freedom
## Residual deviance: 1393635 on 220 degrees of freedom
## AIC: 2690
##
## Number of Fisher Scoring iterations: 2
linear3$error
## parameter RMSE Rsquared RMSESD RsquaredSD
## 1 none 84.25 0.9639 23.08 0.02104
# 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 gbm
## 101.2 105.6 116.3 118.4 135.8
## parRF earth svmRadial glmnet glm
## 136.2 136.8 137.4 146.4 146.8
## blackboost mlpWeightDecay
## 148.4 601.2