Stratified sampling
अब आप जानते हैं कि volunteer डेटासेट के category_desc कॉलम में क्लास लेबल्स का वितरण असमान है। यदि आप category_desc की भविष्यवाणी करने के लिए कोई मॉडल ट्रेन करना चाहें, तो आपको यह सुनिश्चित करना होगा कि मॉडल ऐसे डेटा सैंपल पर ट्रेन हो जो पूरे डेटासेट का प्रतिनिधि हो। Stratified sampling इसे हासिल करने का एक तरीका है!
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Machine Learning के लिए Preprocessing
अभ्यास निर्देश
- सभी कॉलम्स (सिवाय
category_desc) से फीचर्स का DataFrameXबनाइए। - लेबल्स का DataFrame
ycategory_descकॉलम से बनाइए। Xऔरyको प्रशिक्षण और टेस्ट सेट में बाँटिए, यह सुनिश्चित करते हुए कि दोनों सेटों में लेबल्स का क्लास डिस्ट्रीब्यूशन समान रहे।.value_counts()का उपयोग करकेy_trainमें लेबल्स और उनकी काउंट्स प्रिंट कीजिए।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create a DataFrame with all columns except category_desc
X = volunteer.____(____, axis=____)
# Create a category_desc labels dataset
y = ____[[____]]
# Use stratified sampling to split up the dataset according to the y dataset
X_train, X_test, y_train, y_test = ____(____, ____, ____, random_state=42)
# Print the category_desc counts from y_train
print(____[____].____)