Tren testi ve çapraz doğrulama kümesini içeren dengesiz veri kümesi nasıl doğru şekilde bölünür?
Katılıyorum -% 7,36
Katılmıyorum -% 1,68
Tartışma -% 17.82
İlgisiz -% 73,13
Verileri şu şekilde bölüyorum:
(veri kümesini 67/33 bölüme ayır)
- eğitim% 67, test% 33
(doğrulama için 80/20 ileri bölünmüş eğitim)
- eğitim% 80, doğrulama% 20
(Daha sonra eğitimi ve doğrulamayı 3 katlı çapraz doğrulama seti kullanarak bölün)
Bir kenara,% 1.68 katılmayan ve aynı fikirde olanların olması son derece zor oldu.
Bana tamamen mantıklı gelmediği için burada bir sorun yaşıyorum. 80/20 bölünmesinde oluşturulan doğrulama seti 5 katmanda da katmanlandırılıyor mu?
Şu anda bulunduğum yer burası:
Verileri% 67 Eğitim Seti ve% 33 Test Setine bölün
x_train1, x_test, y_train1, y_test = train_test_split(x, y, test_size=0.33)
x_train2, x_val, y_train2, y_val = train_test_split(x_train1, y_train1, test_size=0.20)
skf = StratifiedKFold(n_splits=3, shuffle = True)
skf.getn_splits(x_train2, y_train2)
for train_index, test_index in skf.split(x_train2, y_train2):
x_train_cros, x_test_cros = x_train2[train_index], x_train2[test_index]
y_train_cros, y_test_cros = y_train2[train_index], y_train[test_index]
Doğrulama seti için de skf'yi tekrar çalıştırabilir miyim? Sıralı modelde kullanılmak üzere skf tarafından oluşturulan test test setleri nerede?
Kullandığım yönteme ilişkin alıntı:
Thota, Aswini; Tilak, Priyanka; Ahluwalia, Simrat; ve Lohia, Nibrat (2018) "Fake News Detection: A Deep Learning Approach," SMU Data Science Review: Cilt. 1: No. 3, Madde 10. Şuradan ulaşılabilir:https://scholar.smu.edu/datasciencereview/vol1/iss3/10
Yanıtlar
'Train_test_split ()' işlevine bir parametre daha eklemeniz gerekir:
x_train1, x_test, y_train1, y_test = train_test_split(x, y, test_size=0.33, stratify = y)
Bu size tüm hedef kategorilerin eşit dağılımını sağlayacaktır.