Vous êtes sur la page 1sur 4

x=read.csv("X.

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')]

ptm <- proc.time()


#lm.fit=lm(y1.train~all_..idle+X..memused+X..swpused+proc.s+cswch.s+file.nr +sum
_intr.s +rtps +ldavg.1 +tcpsck +bread.s +pgfree.s ,data=Xframe)
lm.fit=lm(y1.train~.,data=x.train)
proc.time() - ptm
pr=predict(lm.fit,data=x.test)
plot(pr,col="blue",xlim=c(0,15000),ylim=c(0,30),pch="*")
par(new=T)
lines(y1.test,col="red")
res1=(sum(abs(y1.test-pr))/15000)/mean(y1.test)
cat("The NMAE of dispFrames using Qr decomposition is ",res1,"\n")

ptm <- proc.time()


lm.fit=lm(y2.train~.,data=x.train)

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")

ptm <- proc.time()


lm.fit=lm(y3.train~.,data=x.train)
proc.time() - ptm
pr=predict(lm.fit,data=x.test)
plot(pr,col="blue",xlim=c(0,15000),ylim=c(0,200))
par(new=T)
lines(y3.test,col="red")
res3=(sum(abs(y3.test-pr))/15000)/mean(y3.test)
cat("The NMAE of dispFrames using Qr decomposition is ",res3,"\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")

ptm <- proc.time()


cv.out=cv.glmnet(Xrid,y2.train,alpha=0)
bestlam=cv.out$lambda.min
out=glmnet(Xrid,y2.train,alpha=0)
predict.ridge.y2=predict(out,s=bestlam,newx=Xridt)
proc.time() - ptm
plot(predict.ridge.y2,xlab="time slot",ylab="percentage",pch="*",col="blue")
par(new=T)
lines(y1.test,col="red")
plot(y1.test,predict.ridge.y2)
res1=(sum(abs(y1.test-predict.ridge.y2))/3000)/mean(y2.test)
cat("The NMAE of dispFrames using Ridge Regression is ",res1,"\n")

ptm <- proc.time()


cv.out=cv.glmnet(Xrid,y3.train,alpha=0)
bestlam=cv.out$lambda.min
out=glmnet(Xrid,y3.train,alpha=0)
predict.ridge.y3=predict(out,s=bestlam,newx=Xridt)
proc.time() - ptm
plot(predict.ridge.y3,xlab="time slot",ylab="percentage",pch="*",col="blue",ylim
=c(0,100))
par(new=T)
lines(y3.test,col="red")
#plot(y3.test,predict.ridge.y3)
res1=(sum(abs(y3.test-predict.ridge.y3))/3000)/mean(y3.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")

ptm <- proc.time()


cv.out=cv.glmnet(Xrid,y2.train,alpha=1)
bestlam=cv.out$lambda.min
out=glmnet(Xrid,y2.train,alpha=1)
predict.lasso.y2=predict(out,s=bestlam,newx=Xridt)
proc.time() - ptm
plot(predict.lasso.y2,xlab="time slot",ylab="percentage",pch="*",col="blue")
par(new=T)
lines(y2.test,col="red")
#plot(y2.test,predict.lasso.y1)
res1=(sum(abs(y2.test-predict.lasso.y2))/3000)/mean(y2.test)
cat("The NMAE of dispFrames using The Lasso is ",res1,"\n")
ptm <- proc.time()
cv.out=cv.glmnet(Xrid,y3.train,alpha=1)
bestlam=cv.out$lambda.min
out=glmnet(Xrid,y3.train,alpha=1)
predict.lasso.y3=predict(out,s=bestlam,newx=Xridt)
proc.time() - ptm
plot(predict.lasso.y3,xlab="time slot",ylab="percentage",pch="*",col="blue",ylim
=c(0,100))
par(new=T)
lines(y3.test,col="red")
#plot(y3.test,predict.lasso.y3)
res1=(sum(abs(y3.test-predict.lasso.y3))/3000)/mean(y3.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")

Vous aimerez peut-être aussi