# verify.cv

### Description

The `verify.cv`

function allows to estimate the quality of a model (an attack) with a k-cross-validation approach.

### Usage

1 |

### Arguments

`model` |
A model such as randomForest, gaussian, svm, etc. |

`filter` |
A feature selection such as filter.PCA, filter.mRMR, etc. |

`X` |
A matrix where each row is a physical measure. |

`Y` |
A vector where the |

`nbreVarX` |
The number of variables which represents each physical measure after the reduction by the feature selection. |

`k` |
The number of traces in the validation set. |

`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. |

### Details

The `verify.cv`

function estimates the quality of the attack with a k-cross-validation approach. It is executed in *N/k* rounds. Each round uses *N-k* traces to learn a model and the remaining trace to assess the generalization accuracy of the model. This is repeated until every set of k traces has been used for testing purposes. The best model is the one that maximizes the value returned by k-cross-validation.

### Value

The `verify.cv`

function returns an object which can be used with the `plot`

function to plot the quality of the model.

`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. |

### Author(s)

Liran Lerman llerman@ulb.ac.be & Gianluca Bontempi gbonte@ulb.ac.be@ulb.ac.be & Olivier Markowitch olivier.markowitch@ulb.ac.be

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 | ```
#data collection
data(powerC)
traces = powerC[,-301]
traces = traces[,1:10]
key = powerC[,301]
newIndice = c(sample(1:128,15),sample(129:256,15))
traces = traces[newIndice,]
key = key[newIndice]+1
#model checking
attack=verify.cv(model=dpa1,filter=filter.PCA,X=traces,Y=key,nbreVarX=c(2:4),k=2)
plot(attack)
``` |