Saya memiliki dua dataset A dan B yang persis sama dalam hal jumlah kolom, nama kolom, dan nilai-nilai. Satu-satunya perbedaan adalah urutan kolom-kolom itu. Saya kemudian melatih model LightGBM pada masing-masing dua set data dengan langkah-langkah berikut
- Bagilah setiap dataset ke dalam pelatihan dan pengujian (gunakan seed dan rasio acak yang sama untuk A dan B)
- Biarkan hiperparameter sebagai default
- Tetapkan status acak sebagai nomor tetap (untuk reproduksi)
- Tune the learning_rate menggunakan Pencarian Grid
- Latih model LightGBM pada perangkat pelatihan dan ujilah pada perangkat uji
- Tingkat pembelajaran dengan kinerja terbaik pada set pengujian akan dipilih
Model output pada dua set data sangat berbeda, yang membuat saya berpikir bahwa urutan kolom tidak mempengaruhi kinerja pelatihan model menggunakan LightGBM.
Apakah Anda tahu mengapa demikian?
sumber
lightgbm
memungkinkan pengguna untuk mengatur benih acak yang digunakan untuk pengambilan sampel baris dan kolom.Sementara pemesanan data tidak penting dalam teori, penting dalam praktiknya. Mempertimbangkan Anda mengambil langkah-langkah untuk memastikan reproduksibilitas, urutan data yang berbeda akan mengubah logika split-tes kereta Anda (kecuali Anda tahu pasti bahwa set kereta dan set tes dalam kedua kasus persis sama). Meskipun Anda tidak menentukan bagaimana Anda membagi data, sangat mungkin bahwa bermacam-macam titik data tertentu membuat mesin lebih kuat untuk pencilan dan karenanya menawarkan kinerja model yang lebih baik. Jika kereta dan data uji sama dalam kedua kasus, Anda mungkin harus melihat apakah ada benih / ukuran reproduktifitas (di bagian mana pun dari kode Anda) yang belum Anda ambil.
sumber