Cross-Validation is a data partitioning method that can be used to:
- Assess the stability of parameter estimates
- Assess the accuracy of classification algorithms
- Assess the addequacy of a fitted model
LS0tCnRpdGxlOiAiQ3Jvc3MtVmFsaWRhdGlvbiBpbiBQcmFjdGljZSBieSBNaWd1ZWwgQW5nZWwgTHVxdWUgRmVybmFuZGV6IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIyNDcm9zcy1WYWxpZGF0aW9uIGlzIGEgZGF0YSBwYXJ0aXRpb25pbmcgbWV0aG9kIHRoYXQgY2FuIGJlIHVzZWQgdG86CiogQXNzZXNzIHRoZSBzdGFiaWxpdHkgb2YgcGFyYW1ldGVyIGVzdGltYXRlcwoqIEFzc2VzcyB0aGUgYWNjdXJhY3kgb2YgY2xhc3NpZmljYXRpb24gYWxnb3JpdGhtcwoqIEFzc2VzcyB0aGUgYWRkZXF1YWN5IG9mIGEgZml0dGVkIG1vZGVsCgojIyNNb2RlbGxpbmcgdGhlIGNvcnJlY3QgZnVuY3Rpb25hbCBmb3JtCmBgYHtyfQpsaWJyYXJ5KERBQUcpO2F0dGFjaChpcm9uc2xhZyk7c3VtbWFyeShjaGVtaWNhbCk7c3VtbWFyeShtYWduZXRpYykKCmEgPC0gc2VxKDEwLCA0MCwgLjEpICAgICNzZXF1ZW5jZSBmb3IgcGxvdHRpbmcgZml0cwoKTDEgPC0gbG0obWFnbmV0aWMgfiBjaGVtaWNhbCkKeWhhdDEgPC0gTDEkY29lZlsxXSArIEwxJGNvZWZbMl0gKiBhCgpMMiA8LSBsbShtYWduZXRpYyB+IGNoZW1pY2FsICsgSShjaGVtaWNhbF4yKSkKeWhhdDIgPC0gTDIkY29lZlsxXSArIEwyJGNvZWZbMl0gKiBhICsgTDIkY29lZlszXSAqIGFeMgoKTDMgPC0gbG0obG9nKG1hZ25ldGljKSB+IGNoZW1pY2FsKQpsb2d5aGF0MyA8LSBMMyRjb2VmWzFdICsgTDMkY29lZlsyXSAqIGEKeWhhdDMgPC0gZXhwKGxvZ3loYXQzKQoKTDQgPC0gbG0obG9nKG1hZ25ldGljKSB+IGxvZyhjaGVtaWNhbCkpCnloYXQ0IDwtIEw0JGNvZWZbMV0gKyBMNCRjb2VmWzJdICogbG9nKGEpCgpwYXIobWZyb3cgPSBjKDIsIDIpKSAgICAjbGF5b3V0IGZvciBncmFwaHMKcGxvdChjaGVtaWNhbCwgbWFnbmV0aWMsIG1haW49IkxpbmVhciIsIHBjaD0xNikKbGluZXMoYSwgeWhhdDEsIGx3ZD0yKQpwbG90KGNoZW1pY2FsLCBtYWduZXRpYywgbWFpbj0iUXVhZHJhdGljIiwgcGNoPTE2KQpsaW5lcyhhLCB5aGF0MiwgbHdkPTIpCnBsb3QoY2hlbWljYWwsIG1hZ25ldGljLCBtYWluPSJFeHBvbmVudGlhbCIsIHBjaD0xNikKbGluZXMoYSwgeWhhdDMsIGx3ZD0yKQpwbG90KGxvZyhjaGVtaWNhbCksIGxvZyhtYWduZXRpYyksIG1haW49IkxvZy1Mb2ciLCBwY2g9MTYpCmxpbmVzKGxvZyhhKSwgeWhhdDQsIGx3ZD0yKQpwYXIobWZyb3cgPSBjKDEsIDEpKSAgICAjcmVzdG9yZSBkaXNwbGF5CmBgYAoKIyMjTW9kZWwgc2VsZWN0aW9uIChmdW5jdGlvbmFsIGZvcm0pOiBOLWZvbGQgY3Jvc3MtdmFsaWRhdGlvbiB3aXRoIGxlYXZlLW9uZS1vdXQgc2FtcGxlcwpgYGB7cn0KICAgIG4gPC0gbGVuZ3RoKG1hZ25ldGljKSAgICNpbiBEQUFHIGlyb25zbGFnCiAgICBlMSA8LSBlMiA8LSBlMyA8LSBlNCA8LSBudW1lcmljKG4pCgogICAgIyBmb3Igbi1mb2xkIGNyb3NzIHZhbGlkYXRpb24KICAgICMgZml0IG1vZGVscyBvbiBsZWF2ZS1vbmUtb3V0IHNhbXBsZXMKICAgIGZvciAoayBpbiAxOm4pIHsKICAgICAgICB5IDwtIG1hZ25ldGljWy1rXQogICAgICAgIHggPC0gY2hlbWljYWxbLWtdCgogICAgICAgIEoxIDwtIGxtKHkgfiB4KQogICAgICAgIHloYXQxIDwtIEoxJGNvZWZbMV0gKyBKMSRjb2VmWzJdICogY2hlbWljYWxba10KICAgICAgICBlMVtrXSA8LSBtYWduZXRpY1trXSAtIHloYXQxCgogICAgICAgIEoyIDwtIGxtKHkgfiB4ICsgSSh4XjIpKQogICAgICAgIHloYXQyIDwtIEoyJGNvZWZbMV0gKyBKMiRjb2VmWzJdICogY2hlbWljYWxba10gKwogICAgICAgICAgICAgICAgSjIkY29lZlszXSAqIGNoZW1pY2FsW2tdXjIKICAgICAgICBlMltrXSA8LSBtYWduZXRpY1trXSAtIHloYXQyCgogICAgICAgIEozIDwtIGxtKGxvZyh5KSB+IHgpCiAgICAgICAgbG9neWhhdDMgPC0gSjMkY29lZlsxXSArIEozJGNvZWZbMl0gKiBjaGVtaWNhbFtrXQogICAgICAgIHloYXQzIDwtIGV4cChsb2d5aGF0MykKICAgICAgICBlM1trXSA8LSBtYWduZXRpY1trXSAtIHloYXQzCgogICAgICAgIEo0IDwtIGxtKGxvZyh5KSB+IGxvZyh4KSkKICAgICAgICBsb2d5aGF0NCA8LSBKNCRjb2VmWzFdICsgSjQkY29lZlsyXSAqIGxvZyhjaGVtaWNhbFtrXSkKICAgICAgICB5aGF0NCA8LSBleHAobG9neWhhdDQpCiAgICAgICAgZTRba10gPC0gbWFnbmV0aWNba10gLSB5aGF0NAogICAgfQpgYGAKIyMjI0Jlc3QgbW9kZWwgYmFzZWQgb24gUk1TRTogcXVhZHJhdGljIG1vZGVsMiAKYGBge3J9CiAgICBjKG1lYW4oZTFeMiksIG1lYW4oZTJeMiksIG1lYW4oZTNeMiksIG1lYW4oZTReMikpIApgYGAKIyMjTW9kZWwgc2VsZWN0aW9uIChmdW5jdGlvbmFsIGZvcm0pOiBMZWF2ZS1PbmUtT3V0IENyb3NzLVZhbGlkYXRpb24gKExPT0MsIGxpYnJhcnk6IGJvb3QpCmBgYHtyfQpsaWJyYXJ5KElTTFIpCmxpYnJhcnkoYm9vdCkKZ2xtLmZpdD1nbG0obXBnfmhvcnNlcG93ZXIsIGRhdGE9QXV0bykKc3VtbWFyeShnbG0uZml0KQpjdi5nbG0oQXV0byxnbG0uZml0KSRkZWx0YSAKCiMjRmFzdGVyIGltcGxlbWVudGF0aW9uIGZ1bmN0aW9uIHVzaW5nIGxldmVyYWdlIHJlc2lkdWFscwpsb2N2PWZ1bmN0aW9uKGZpdCl7CiAgaD1sbS5pbmZsdWVuY2UoZml0KSRoCiAgbWVhbigocmVzaWR1YWxzKGZpdCkvKDEtaCkpXjIpCn0KIyNOb3cgd2UgdHJ5IGl0IG91dApjdi5lcnJvcj1yZXAoMCw0KQpkZWdyZWU9MTo0CmZvcihkIGluIGRlZ3JlZSl7CiAgZ2xtLmZpdD1nbG0obXBnfnBvbHkoaG9yc2Vwb3dlcixkKSwgZGF0YT1BdXRvKQogIGN2LmVycm9yW2RdPWxvY3YoZ2xtLmZpdCkKfQpwbG90KGRlZ3JlZSxjdi5lcnJvcix0eXBlPSJiIixjb2w9ImJsdWUiKQpjdi5lcnJvcgpgYGAKIyNNb2RlbCBzZWxlY3Rpb24gKGZ1bmN0aW9uYWwgZm9ybSk6ay1mb2xkID09PiAxMC1mb2xkIENWCmBgYHtyfQpkZWdyZWU9MTo0CmN2LmVycm9yMTA9cmVwKDAsNCkKZm9yKGQgaW4gZGVncmVlKXsKICBnbG0uZml0PWdsbShtcGd+cG9seShob3JzZXBvd2VyLGQpLCBkYXRhPUF1dG8pCiAgY3YuZXJyb3IxMFtkXT1jdi5nbG0oQXV0byxnbG0uZml0LEs9MTApJGRlbHRhWzFdCn0KY3YuZXJyb3IxMApwbG90KGRlZ3JlZSxjdi5lcnJvcix0eXBlPSJiIixjb2w9ImJsdWUiKQpsaW5lcyhkZWdyZWUsY3YuZXJyb3IxMCx0eXBlPSJiIixjb2w9InJlZCIpCmBgYAoK