Today, I did computing of Chapter 10.
Codes:
modelPrediction=function(x, mod)
{
if(x[1] < 0 | x[1] > 1) return(10^38)
if(x[2] < 0 | x[2] > 1) return(10^38)
if(x[3] < 0 | x[3] > 1) return(10^38)
if(x[4] < 0 | x[4] > 1) return(10^38)
if(x[5] < 0 | x[5] > 1) return(10^38)
if(x[6] < 0 | x[6] > 1) return(10^38)
x=c(x, 1 - sum(x))
if(x[7] < 0.05) return(10^38)
tmp <- as.data.frame(t(x))
names(tmp)=c('Cement','BlastFurnaceSlag','FlyAsh',
'Superplasticizer','CoarseAggregate',
'FineAggregate', 'Water')
tmp$Age=28
-predict(mod, tmp)
}
# Cubist mdoel
cbresults=startingvalues
cbresults$Water=NA
cbresults$Prediction=NA
cbresults
for(i in 1:nrow(cbresults))
{
results=optim(unlist(cbresults[i,1:6]),
modelPrediction,
method = "Nelder-Mead",
control=list(maxit=5000),
mod = cbmodel)
cbresults$Prediction[i]=-results$value
# save the final mixture values
cbresults[i,1:6]=results$par
}
#col.sums <- apply(x, 2, sum) row.sums <- apply(x, 1, sum) rbind cbind
cbresults$Water=1 - apply(cbresults[,1:6], 1, sum)
# Keep the top three mixtures, -: decreasing order
cbresults=cbresults[order(-cbresults$Prediction),][1:3,]
cbresults$Model="Cubist"
cbresults
Cement BlastFurnaceSlag FlyAsh Superplasticizer CoarseAggregate FineAggregate Water Prediction Model
523 0.1747206 0.17969922 0.012880890 0.0027363548 0.3200175 0.2532112 0.05673427 102.44370 Cubist
495 0.2098331 0.05295034 0.006751067 0.0003692619 0.3538669 0.3238973 0.05233208 86.01767 Cubist
477 0.2110388 0.04514574 0.062017524 0.0023323792 0.3178446 0.3077021 0.05391885 85.51025 Cubist
# neural network model
nnetresults=startingvalues
nnetresults$Water=NA
nnetresults$Prediction=NA
nnetresults
for(i in 1:nrow(nnetresults))
{
results=optim(unlist(nnetresults[i,1:6]),
modelPrediction,
method = "Nelder-Mead",
control=list(maxit=5000),
mod = nnetmodel)
nnetresults$Prediction[i]=-results$value
nnetresults[i,1:6]=results$par
}
nnetresults$Water=1 - apply(nnetresults[,1:6], 1, sum)
nnetresults=nnetresults[order(-nnetresults$Prediction),][1:3,]
nnetresults$Model="NNet"
nnetresults
Cement BlastFurnaceSlag FlyAsh Superplasticizer CoarseAggregate FineAggregate Water Prediction Model
69 0.1617514 0.13291706 5.509921e-10 0.007644831 0.3905959 0.2564540 0.05063673 81.92797 NNet
357 0.1366392 0.04989215 2.395829e-08 0.002012726 0.4513948 0.3012054 0.05885566 80.16362 NNet
477 0.2145572 0.04306283 4.614330e-02 0.001330241 0.2993219 0.3299018 0.06568276 79.59500 NNet
(I am faced with some problems of drawing graphs. Tomorrow, I will try to fix them.)
Tomorrow, I will fix some problems of the codes.
No comments:
Post a Comment