यह टेक्स्ट का वह हिस्सा है जिसे मैं सैंपलिंग के संदर्भ में दोहराने की कोशिश कर रहा हूं।  ऊपर की तस्वीर वह है जिसे मैं दोहराने की कोशिश कर रहा हूं। मुझे नहीं पता कि मैं इसके बारे में सही तरीके से जा रहा हूं या नहीं। मैं FakeNewsChallenge डेटासेट और इसके बेहद असंतुलित के साथ काम कर रहा हूं, और मैं एक पेपर में इस्तेमाल की जाने वाली विधि को दोहराने और सुधारने की कोशिश कर रहा हूं।


सहमत - 7.36%

असहमत - 1.68%

चर्चा - 17.82%

असंबंधित - 73.13%

मैं डेटा को इस तरह विभाजित कर रहा हूं:

(डेटासेट को ६७/३३ विभाजन में विभाजित करें)

  • ट्रेन ६७%, परीक्षण ३३%

(सत्यापन के लिए आगे 80/20 प्रशिक्षण विभाजित करें)

  • प्रशिक्षण 80%, सत्यापन 20%

(फिर 3 गुना क्रॉस सत्यापन सेट का उपयोग करके प्रशिक्षण और सत्यापन को विभाजित करें)

एक तरफ, उस 1.68% असहमत और सहमत होना बेहद मुश्किल रहा है।


यह वह जगह है जहां मुझे कोई समस्या हो रही है क्योंकि यह मेरे लिए पूरी तरह समझ में नहीं आ रहा है। क्या 80/20 विभाजन में बनाए गए सत्यापन सेट को 5 गुना में भी स्तरीकृत किया जा रहा है?

यहाँ मैं इस समय कहाँ हूँ:


डेटा को ६७% प्रशिक्षण सेट और ३३% परीक्षण सेट में विभाजित करें

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]

क्या मैं सत्यापन सेट के लिए भी फिर से skf चलाऊंगा? अनुक्रमिक मॉडल में उपयोग किए जा रहे skf से परीक्षण परीक्षण सेट कहाँ बनाए गए हैं?


मैं जिस विधि का उपयोग कर रहा हूं उसके लिए उद्धरण:

थोटा, अश्विनी; तिलक, प्रियंका; अहलूवालिया, सिमरत; और लोहिया, निब्रत (2018) "फेक न्यूज डिटेक्शन: ए डीप लर्निंग अप्रोच," एसएमयू डेटा साइंस रिव्यू: वॉल्यूम। १ : नंबर ३ , आर्टिकल १०. यहां उपलब्ध है: https://scholar.smu.edu/datasciencereview/vol1/iss3/10

1
StackPancakes 16 अगस्त 2020, 09:10

1 उत्तर

सबसे बढ़िया उत्तर

आपको 'train_test_split ()' फ़ंक्शन में एक और पैरामीटर जोड़ने की आवश्यकता है:

x_train1, x_test, y_train1, y_test = train_test_split(x, y, test_size=0.33, stratify = y)

यह आपको सभी लक्षित श्रेणियों का समान वितरण देगा।

2
Surya Lohia. 16 अगस्त 2020, 06:14