Académique Documents
Professionnel Documents
Culture Documents
csv")
y=read.csv("Y.csv")
X.m=model.matrix(~.,x)[,-1]
X.m=X.m[,colSums(X.m^2) !=0] #clear 0
y1=y$DispFrames
y2=y$NoAudioPlayed
y3=y$NoRTPPkts
set.seed(1)
train=sample(1:nrow(X.m),35000)
y1.train=y1[train]
y2.train=y2[train]
y3.train=y3[train]
x.train=X.m[train,1:ncol(X.m)]
Xframe=data.frame(x.train)
x.train=Xframe[,c('all_..idle','X..memused','X..swpused','proc.s','cswch.s','fil
e.nr','sum_intr.s','rtps','ldavg.1','tcpsck','bread.s','pgfree.s')]
test=-train
y1.test=y1[test]
y2.test=y1[test]
y3.test=y1[test]
set.seed(1)
trainx=sample(1:nrow(X.m),15000)
x.test=X.m[trainx,1:ncol(X.m)]
Xframe=data.frame(x.train)
Xframetest=data.frame(x.test)
x.test=Xframetest[,c('all_..idle','X..memused','X..swpused','proc.s','cswch.s','
file.nr','sum_intr.s','rtps','ldavg.1','tcpsck','bread.s','pgfree.s')]
proc.time() - ptm
pr=predict(lm.fit,data=x.test)
plot(pr,col="blue",xlim=c(0,15000),ylim=c(0,30))
par(new=T)
lines(y2.test,col="red")
res2=(sum(abs(y2.test-pr))/15000)/mean(y2.test)
cat("The NMAE of dispFrames using Qr decomposition is ",res2,"\n")
Xrid=model.matrix(~.,x.train)
Xridt=model.matrix(~.,x.test)
ptm <- proc.time()
cv.out=cv.glmnet(Xrid,y1.train,alpha=0)
bestlam=cv.out$lambda.min
out=glmnet(Xrid,y1.train,alpha=0)
predict.ridge.y1=predict(out,s=bestlam,newx=Xridt)
proc.time() - ptm
plot(predict.ridge.y1,xlab="time slot",ylab="percentage",pch="*",col="blue")
par(new=T)
lines(y1.test,col="red")
plot(y1.test,predict.ridge.y1)
res1=(sum(abs(y1.test-predict.ridge.y1))/3000)/mean(y1.test)
cat("The NMAE of dispFrames using Ridge Regression is ",res1,"\n")
#The Lasso
ptm <- proc.time()
cv.out=cv.glmnet(Xrid,y1.train,alpha=1)
bestlam=cv.out$lambda.min
out=glmnet(Xrid,y1.train,alpha=1)
predict.lasso.y1=predict(out,s=bestlam,newx=Xridt)
proc.time() - ptm
plot(predict.lasso.y1,xlab="time slot",ylab="percentage",pch="*",col="blue")
par(new=T)
lines(y1.test,col="red")
#plot(y1.test,predict.lasso.y1)
res1=(sum(abs(y1.test-predict.lasso.y1))/3000)/mean(y1.test)
cat("The NMAE of dispFrames using The Lasso is ",res1,"\n")
#Regression tree
ptm <- proc.time()
tree.y1=tree(y1.train~.,x.train,subset=train)
rt.y1=predict(tree.y1 ,newdata=x.test)
proc.time() - ptm
plot(rt.y1,xlab="time slot",ylab="percentage",pch="*",col="blue")
par(new=T)
lines(y1.test,col="red")
plot(y1.test,rt.y1)
res1=(sum(abs(y1.test-rt.y1))/3000)/mean(y1.test)
cat("The NMAE of dispFrames using Regression tree is ",res1,"\n")