The verify.ho
function allows to estimate the quality of a model (an attack) with a holdout approach.
1 
model 
A model such as randomForest, gaussian, svm, etc. 
filter 
A feature selection such as filter.PCA, filter.mRMR, etc. 
Xlearn 
A matrix where each row is a physical measure for the training set. 
Ylearn 
A vector where the i_th element of the vector Ylearn is the key for the i_th physical measure in the matrix Xlearn. 
Xval 
A matrix where each row is a physical measure for the validation set. 
Yval 
A vector where the i_th element of the vector Yval is the key for the i_th physical measure in the matrix Xval. 
nbreVarX 
The number of variables which represents each physical measure after the reduction by the feature selection. 
param.model 
A list of parameters to insert into the model. 
param.fs 
A list of parameters to insert into the feature selection algorithm. 
... 
Currently ignored. 
The verify.ho
function estimates the quality of the attack with a holdout approach. It cuts randomly the set of observations in two subsets. The first one is retained as the training and the second is used for the validation phase where the quality of the model is estimatedby counting the number of time where model predicts correctly the key.
The verify.ho
function returns an object which can be used with the plot
function to plot the quality of the model.
The value of this function is an object of class verify.ho
, which is a list with the following components:
TP 
number of true positive 
TN 
number of true negative 
FN 
number of false negative 
FP 
number of false positive 
dim 
the number of variables which represents each physical measure after the reduction by the feature selection. 
Liran Lerman llerman@ulb.ac.be & Gianluca Bontempi gbonte@ulb.ac.be@ulb.ac.be & Olivier Markowitch olivier.markowitch@ulb.ac.be
1 2 3 4 5 6 7 8 9 10 11 12  #data collection
data(powerC)
traces = powerC[,301]
traces = powerC[,1:10]
key = powerC[,301]
newIndice = sample(1:256)
traces = traces[newIndice,]
key = key[newIndice]+1
#model checking
attack=verify.ho(model=gaussian,filter=filter.PCA,Xlearn=traces[1:128,],Ylearn=key[1:128],Xval=traces[128:256,],Yval=key[128:256],nbreVarX=c(3:4))
plot(attack)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.