Cross-validation ay isang pamamaraan na ginagamit upang tantiyahin ang pagganap ng mga pinangangasiwaang modelo sa pag-aaral. Tumutulong ito upang matiyak na ang modelong pangkalahatan ay mahusay na ma-publish sa hindi nakikitang data sa pamamagitan ng paghahati ng dataset sa maraming subset para sa pagsasanay at pagsubok. Ang pag-implementasyon ng cross-validation ay maaaring mapabuti ang pagkamaaasahan ng pagsusuri ng modelo.
Pag-unawa sa Cross-Validation
Ang cross-validation ay kinasasangkutan ng paghahati ng dataset sa ilang mga bahagi, o mga tiklop. Ang modelo ay sinasanay sa isang subset ng mga tiklop na ito at sinusubok sa natitirang fold. Ang prosesong ito ay paulit-ulit na maramihan, na may iba't ibang mga tiklop na ginagamit sa pagsubok sa bawat pagkakataon. Ang mga resulta ay saka katamtamang nagbibigay ng isang kabuuang performance metric.
Mga Uri ng Krus-Validasyon
Kabilang sa pinakakaraniwang uri ang:
- k-Fold Cross-Validation: Nahahati ang datos sa mga bahaging k-katumbas, pagsasanay sa mga bahagi ng k-1 at pagsubok sa natitirang bahagi.
- Ang estratibong k-Fold: Ang mga ekwasyong pang-ebolusyon sa bawat fold ay nagpapanatili ng distribusyon ng klase ng buong dataset.
- Ang DROP-One-Out (LOO): ay gumagamit ng nag-iisang puntong datos para sa pagsubok at ang natitira para sa pagsasanay, na inuulit para sa bawat puntong datos.
Pag-implementasyon ng Krus-Validasyon sa Gawain
Karamihan sa mga aklatan ng pag-aaral ng makina ay nagbibigay ng mga tungkuling ginawa-in para sa cross-validation. Halimbawa, sa scikit-learning ni Python, ang ay gumagana sa samplify ang proseso.[kailangan mong magtakda ng modelo, dataset, at bilang ng mga tupi.
Halimbawa ng mga code sappet:
mula sa sknowlear.model selection version cross val score]
scores = cross val score(model, X, y, cv=5)]
Ang kodigong ito ay nagsasagawa ng 5-fold cross-validation at ibinabalik ang mga iskor para sa bawat folk.