Orange: Data Sampler
Sumber: https://docs.biolab.si//3/visual-programming/widgets/data/datasampler.html
Memilih subset dari data instance dari input dataset.
Input
Data: input dataset
Output
Data Sample: sampled data instances Remaining Data: out-of-sample data
Widget Data Sampler mengimplementasikan beberapa metode pengambilan sampel data. Outputnya sampel dan dataset pelengkap (dengan contoh dari set input yang tidak termasuk dalam dataset sampel). Output diproses setelah dataset input disediakan dan Sample Data di Tekan.
- Informasi akan input dan output dataset.
- Metoda sampling yang di inginkan:
- Proporsi data yang tetap mengembalikan persentase yang dipilih dari seluruh data (mis. 70% dari semua data)
- Ukuran sampel yang fix akan mengeluarkan jumlah instance data yang dipilih dengan kesempatan untuk mengatur Sampel dengan penggantian, yang selalu men-sampel dari seluruh dataset (tidak mengurangi instance yang sudah ada dalam subset). Dengan penggantian, Anda dapat menghasilkan lebih banyak instance daripada yang tersedia di dataset input.
- Cross Validation memecah instance data ke dalam himpunan bagian pelengkap, di mana kita dapat memilih jumlah lipatan (subset) dan lipatan mana yang ingin kita gunakan sebagai sampel.
- Bootstrap meng-inferensi sampel dari statistik populasi.
- Pengambilan sampel yang dapat direplikasi mempertahankan pola pengambilan sampel yang dapat dilakukan lintas pengguna, sementara stratifikasi sampel meniru komposisi dataset input.
- Press Sample Data untuk mengeluarkan data sample.
Jika semua instance data dipilih (dengan mengatur proporsi ke 100% atau mengatur ukuran sampel tetap ke seluruh ukuran data), instance output akan dikocok / shuffled.
Contoh
Pertama, mari kita lihat cara kerja Sampler Data. Kami akan menggunakan data iris dari File widget. Kita lihat ada 150 contoh dalam data. Kita sampel data dengan widget Data Sampler dan kita memilih untuk mengambil ukuran sampel tetap 5 instance untuk kesederhanaan. Kita dapat mengamati data sampel dalam widget Data Table (Data Table (in-sample)). Tabel Data kedua (Data Table (out-of-sample)) menunjukkan 145 instance yang tersisa yang tidak ada dalam sampel. Untuk menampilkan data out-of-sample, klik dua kali koneksi antara widget dan rewire output ke Remaining Data -> Data.
Sekarang, kita akan menggunakan Data Sampler untuk membagi data menjadi bagian training dan testing. Kita menggunakan data iris, yang kita load dengan widget File. Dalam Data Sampler, kami membagi data dengan proporsi data Tetap, menjaga 70% dari instance data dalam sampel.
Kemudian kita menghubungkan dua output ke widget Test & Score, Sample Data -> Data dan Remaining Data -> Test Data. Akhirnya, kita menambahkan Logistic Regression sebagai learner. Ini akan menjalankan logistic regression pada input Data dan mengevaluasi hasil pada Test Data.
Over/Undersampling
Sampler Data juga dapat digunakan untuk meng-oversample class minoritas atau undersample class mayoritas dalam data. Mari kita tunjukkan contoh untuk oversampling. Pertama, pisahkan kelas minoritas menggunakan widget Select Rows. Kita menggunakan data iris dari widget File. Kumpulan data memiliki 150 instance data, 50 dari setiap kelas. Mari kita beri oversample, iris-setosa.
Pada Select Rows, atur kondisi ke iris sebagai iris-setosa. Ini akan menghasilkan 50 instance dari kelas iris-setosa. Sekarang, sambungkan Matching Data ke Data Sampler, pilih Ukuran sampel fix, atur ke, misalnya, 100 dan pilih Sampel with replacement. Setelah menekan Sampel Data, widget akan menampilkan 100 contoh kelas iris-setosa, beberapa di antaranya akan digandakan (karena kita menggunakan Sampel with replacement).
Terakhir, gunakan Concatenate untuk menggabungkan dengan instance oversample dan output Unmatched Data dari widget Select Rows. Ini menghasilkan kumpulan data dengan 200 instance. Kita dapat mengamati hasil akhir dalam Distribusi.