Rumah  >  Artikel  >  Peranti teknologi  >  Bagaimana untuk membahagikan set data dengan betul? Ringkasan tiga kaedah biasa

Bagaimana untuk membahagikan set data dengan betul? Ringkasan tiga kaedah biasa

WBOY
WBOYke hadapan
2023-04-08 18:51:071449semak imbas

Menguraikan set data menjadi set latihan boleh membantu kami memahami model, yang penting untuk cara model membuat generalisasi kepada data baharu yang tidak kelihatan. Sesuatu model mungkin tidak digeneralisasikan dengan baik kepada data baru yang tidak kelihatan jika ia terlalu dipasang. Oleh itu ramalan yang baik tidak boleh dibuat.

Memiliki strategi pengesahan yang betul ialah langkah pertama untuk berjaya mencipta ramalan yang baik dan menggunakan nilai perniagaan model AI. Artikel ini telah menyusun beberapa strategi pemisahan data biasa.

Latihan mudah dan pemisahan ujian

Bahagikan set data kepada 2 bahagian: latihan dan pengesahan, dengan 80% latihan dan 20% pengesahan. Anda boleh melakukan ini menggunakan pensampelan rawak Scikit.

Bagaimana untuk membahagikan set data dengan betul? Ringkasan tiga kaedah biasa

Pertama sekali, benih rawak perlu diperbaiki, jika tidak, pemisahan data yang sama tidak boleh diperoleh dengan perbandingan dan hasilnya tidak boleh dihasilkan semula semasa nyahpepijat. Jika set data kecil, tiada jaminan bahawa pemisahan pengesahan boleh tidak dikaitkan dengan pemisahan latihan. Jika data tidak seimbang, anda tidak akan mendapat nisbah pisah yang sama.

Pemisahan yang begitu mudah hanya boleh membantu kami mengembangkan dan nyahpepijat Latihan sebenar tidak cukup sempurna, jadi kaedah pemisahan berikut boleh membantu kami menamatkan masalah ini.

Pengesahan silang K-lipat

Pisah set data kepada partition k. Dalam imej di bawah, set data dibahagikan kepada 5 partition.

Bagaimana untuk membahagikan set data dengan betul? Ringkasan tiga kaedah biasa

Pilih satu partition sebagai set data pengesahan, manakala partition lain ialah set data latihan. Ini akan melatih model pada setiap set partition yang berbeza.

Akhir sekali, model K yang berbeza akan diperolehi, dan model ini akan digunakan bersama-sama menggunakan kaedah penyepaduan apabila membuat penaakulan dan ramalan kemudian.

K biasanya ditetapkan kepada [3,5,7,10,20]

Jika anda ingin menyemak prestasi model dengan berat sebelah rendah, gunakan K yang lebih tinggi [20]. Jika anda membina model untuk pemilihan pembolehubah, gunakan k rendah [3,5] dan model akan mempunyai varians yang lebih rendah.

Kelebihan:

  • Dengan purata ramalan model, anda boleh meningkatkan prestasi model pada data yang tidak kelihatan yang diambil daripada pengedaran yang sama.
  • Ini adalah kaedah yang digunakan secara meluas untuk mendapatkan model pengeluaran yang baik.
  • Anda boleh menggunakan teknik penyepaduan yang berbeza untuk membuat ramalan bagi setiap data dalam set data dan menggunakan ramalan ini untuk menambah baik model, yang dipanggil OOF (ramalan lipatan luar).

Soalan:

  • Jika anda mempunyai set data tidak seimbang, gunakan Stratified-kFold.
  • Jika anda melatih semula model pada semua set data, maka anda tidak boleh membandingkan prestasinya dengan mana-mana model yang dilatih dengan k-Fold. Kerana model ini dilatih pada k-1, bukan keseluruhan set data.

Stratified-kFold

boleh mengekalkan nisbah antara kelas yang berbeza dalam setiap lipatan. Jika set data tidak seimbang, katakan Kelas1 mempunyai 10 contoh dan Kelas2 mempunyai 100 contoh. Stratified-kFold mencipta setiap klasifikasi lipatan dengan nisbah yang sama dengan set data asal

Idea ini serupa dengan pengesahan silang K-fold, tetapi dengan nisbah yang sama untuk setiap lipatan seperti set data asal.

Bagaimana untuk membahagikan set data dengan betul? Ringkasan tiga kaedah biasa

Setiap pemisahan mengekalkan nisbah awal antara kelas. Jika set data anda besar, pengesahan silang K-fold juga boleh mengekalkan perkadaran, tetapi ini adalah stokastik, manakala Stratified-kFold adalah deterministik dan boleh digunakan dengan set data kecil.

Bootstrap dan Subsampling

Bootstrap dan Subsampling adalah serupa dengan pengesahan silang K-Fold, tetapi mereka tidak mempunyai lipatan tetap. Ia secara rawak memilih beberapa data daripada set data, menggunakan data lain sebagai pengesahan dan mengulanginya sebanyak n kali

Bootstrap=pensampelan berselang-seli, yang telah kami perkenalkan secara terperinci dalam artikel sebelumnya.

Bilakah saya harus menggunakan dia? Bootstrap dan Subsamlping hanya boleh digunakan jika ralat piawai anggaran ralat metrik adalah besar. Ini mungkin disebabkan oleh outlier dalam set data.

Ringkasan

Biasanya dalam pembelajaran mesin, pengesahan silang k-fold digunakan sebagai titik permulaan Jika set data tidak seimbang, Stratified-kFold digunakan. Bootstrap atau kaedah lain boleh digunakan.

Atas ialah kandungan terperinci Bagaimana untuk membahagikan set data dengan betul? Ringkasan tiga kaedah biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam