हगिंग फेस ट्रेन और स्प्लिट डेटासेट

Haginga Phesa Trena Aura Splita Detaseta



हगिंग फेस लाइब्रेरी में ट्रेन_टेस्ट_स्प्लिट नामक कोई विशिष्ट फ़ंक्शन नहीं है। हालाँकि, जब मशीन लर्निंग कार्यों में प्रशिक्षण और परीक्षण के लिए डेटा को विभाजित करने की बात आती है, तो ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन का उपयोग आमतौर पर अन्य लोकप्रिय पुस्तकालयों जैसे कि स्किकिट-लर्न में किया जाता है। यहां, हम उन मापदंडों की व्याख्या करेंगे जो आमतौर पर स्किकिट-लर्न से ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन में उपयोग किए जाते हैं।

हगिंग फेस की डेटासेट लाइब्रेरी में ट्रेन_टेस्ट_स्प्लिट विधि का उपयोग डेटासेट को दो सबसेट में विभाजित करने के लिए किया जाता है: एक प्रशिक्षण सबसेट और एक परीक्षण सबसेट। इस पद्धति का उपयोग आमतौर पर मशीन लर्निंग में अनदेखे डेटा पर किसी मॉडल के प्रदर्शन का मूल्यांकन करने के लिए किया जाता है। प्रशिक्षण उपसमुच्चय का उपयोग मॉडल को प्रशिक्षित करने के लिए किया जाता है, जबकि परीक्षण उपसमुच्चय का उपयोग इसके प्रदर्शन और सामान्यीकरण क्षमताओं का आकलन करने के लिए किया जाता है।







हगिंग फेस में ट्रेन_टेस्ट_स्प्लिट विधि का अवलोकन यहां दिया गया है:



  1. test_size (numpy.random.Generator, वैकल्पिक) : परीक्षण विभाजन का आकार इस विकल्प द्वारा निर्धारित किया जाता है। प्रकार या तो फ़्लोट या पूर्णांक हो सकता है।
  • यदि इसे फ़्लोट के रूप में दिया गया है, तो इसे परीक्षण विभाजन में शामिल करने के लिए डेटासेट का प्रतिशत प्रतिबिंबित करना चाहिए और 0.0 और 1.0 के बीच होना चाहिए।
  • परीक्षण नमूनों की सटीक संख्या को मान द्वारा दर्शाया जाता है यदि इसे पूर्णांक के रूप में प्रदान किया जाता है।
  • यदि इसे कोई नहीं पर सेट किया जाता है, तो ट्रेन के आकार के पूरक का उपयोग मूल्य के रूप में किया जाता है।
  • यदि ट्रेन का आकार भी कोई नहीं है, तो इसे 0.25 (डेटासेट का 25%) पर सेट किया जाएगा।
  • ट्रेन_आकार (numpy.random.Generator, वैकल्पिक): ट्रेन विभाजन का आकार इस पैरामीटर द्वारा निर्धारित किया जाता है। यह test_size के समान दिशानिर्देशों का पालन करता है।
    • यदि इसे फ़्लोट के रूप में दिया गया है, तो इसे ट्रेन स्प्लिट में शामिल करने के लिए डेटासेट का प्रतिशत प्रतिबिंबित करना चाहिए और 0.0 और 1.0 के बीच होना चाहिए।
    • ट्रेन नमूनों की सटीक संख्या को मान द्वारा दर्शाया जाता है यदि इसे पूर्णांक के रूप में प्रदान किया जाता है।
    • यदि इसे कोई नहीं पर सेट किया जाता है, तो मान स्वचालित रूप से परीक्षण आकार के पूरक में बदल जाता है।
  • शफ़ल (बूल, वैकल्पिक, डिफ़ॉल्ट से सत्य)
    • यह पैरामीटर निर्धारित करता है कि विभाजन से पहले डेटा को फेरबदल करना है या नहीं।
    • यदि इसे सत्य पर सेट किया गया है, तो विभाजन से पहले डेटा को यादृच्छिक रूप से फेरबदल किया जाएगा।
    • यदि इसे गलत पर सेट किया गया है, तो डेटा बिना फेरबदल के विभाजित हो जाएगा।
  • stratify_by_column (str, वैकल्पिक, डिफ़ॉल्ट कोई नहीं)
    • इस पैरामीटर का उपयोग किसी विशिष्ट कॉलम के आधार पर डेटा के स्तरीकृत विभाजन के लिए किया जाता है।
    • यदि यह निर्दिष्ट है, तो यह लेबल या कक्षाओं का कॉलम नाम होना चाहिए।
    • डेटा को इस तरह से विभाजित किया जाएगा कि ट्रेन और परीक्षण विभाजन में लेबल या कक्षाओं का समान वितरण बनाए रखा जा सके।
  • बीज (int, वैकल्पिक)
    • यह पैरामीटर आपको डिफ़ॉल्ट BitGenerator को आरंभ करने के लिए एक बीज सेट करने की अनुमति देता है।
    • यदि इसे कोई नहीं पर सेट किया जाता है, तो ऑपरेटिंग सिस्टम से एक ताज़ा, अप्रत्याशित एन्ट्रापी खींच ली जाएगी।
    • यदि पूर्णांक या सरणी-जैसे पूर्णांक पारित किए जाते हैं, तो उनका उपयोग प्रारंभिक BitGenerator स्थिति प्राप्त करने के लिए किया जाएगा।
  • जनरेटर (numpy.random.Generator, वैकल्पिक)
    • यह पैरामीटर आपको डेटासेट पंक्तियों के क्रमपरिवर्तन की गणना करने के लिए एक NumPy यादृच्छिक जनरेटर निर्दिष्ट करने की अनुमति देता है।
    • यदि इसे कोई नहीं (डिफ़ॉल्ट) पर सेट किया गया है, तो यह np.random.default_rng का उपयोग करता है जो NumPy का डिफ़ॉल्ट BitGenerator (PCG64) है।
  • Keep_in_memory (बूल, डिफ़ॉल्ट से ग़लत)
    • यह पैरामीटर निर्धारित करता है कि विभाजित सूचकांकों को कैश फ़ाइल में लिखने के बजाय मेमोरी में रखा जाए या नहीं।
    • यदि इसे सही पर सेट किया जाता है, तो विभाजन प्रक्रिया के दौरान विभाजित सूचकांक मेमोरी में संग्रहीत हो जाएंगे।
    • यदि इसे गलत पर सेट किया गया है, तो विभाजित सूचकांकों को बाद में उपयोग के लिए कैश फ़ाइल में लिखा जाएगा।
  • Load_from_cache_file (वैकल्पिक[बूल], यदि कैशिंग सक्षम है तो डिफ़ॉल्ट रूप से यह सत्य है)
    • यह पैरामीटर निर्धारित करता है कि विभाजित सूचकांकों को पुन: गणना करने के बजाय उन्हें लोड करने के लिए कैश फ़ाइल का उपयोग किया जाए या नहीं।
    • यदि इसे सत्य पर सेट किया गया है और विभाजित सूचकांकों को संग्रहीत करने वाली कैश फ़ाइल की पहचान की जा सकती है, तो इसका उपयोग किया जाएगा।
    • यदि इसे गलत पर सेट किया गया है, तो कैश फ़ाइल मौजूद होने पर भी विभाजित सूचकांकों की पुन: गणना की जाएगी।
    • यदि कैशिंग सक्षम है तो डिफ़ॉल्ट मान सत्य है।
  • ट्रेन_कैश_फ़ाइल_नाम (str, वैकल्पिक)
    • यह पैरामीटर आपको कैश फ़ाइल के लिए एक विशिष्ट पथ या नाम प्रदान करने की अनुमति देता है जो ट्रेन स्प्लिट इंडेक्स को संग्रहीत करता है।
    • यदि यह निर्दिष्ट किया गया है, तो ट्रेन स्प्लिट इंडेक्स स्वचालित रूप से जेनरेट किए गए कैश फ़ाइल नाम के बजाय इस कैश फ़ाइल में संग्रहीत किए जाएंगे।
  • test_cache_file_name (str, वैकल्पिक)
    • यह पैरामीटर आपको कैश फ़ाइल के लिए एक विशिष्ट पथ या नाम प्रदान करने की अनुमति देता है जो परीक्षण विभाजन सूचकांकों को संग्रहीत करता है।
    • यदि यह निर्दिष्ट किया गया है, तो परीक्षण विभाजन सूचकांक स्वचालित रूप से उत्पन्न कैश फ़ाइल नाम के बजाय इस कैश फ़ाइल में संग्रहीत किए जाएंगे।
  • लेखक_बैच_आकार (int, डिफ़ॉल्ट 1000)
    • यह पैरामीटर कैश फ़ाइल राइटर के लिए प्रति राइट ऑपरेशन पंक्तियों की संख्या निर्धारित करता है।
    • यह मेमोरी उपयोग और प्रोसेसिंग गति के बीच एक समझौता है।
    • उच्च मान लेखन कार्यों की संख्या को कम करते हैं लेकिन प्रसंस्करण के दौरान अधिक मेमोरी की खपत करते हैं।
    • कम मान कम अस्थायी मेमोरी की खपत करते हैं लेकिन प्रसंस्करण गति को थोड़ा प्रभावित कर सकते हैं।
  • ट्रेन_न्यू_फ़िंगरप्रिंट (str, वैकल्पिक, डिफ़ॉल्ट कोई नहीं)
    • यह पैरामीटर परिवर्तन लागू करने के बाद ट्रेन सेट के नए फ़िंगरप्रिंट का प्रतिनिधित्व करता है।
    • यदि यह निर्दिष्ट है, तो यह ट्रेन सेट के लिए एक नया फ़िंगरप्रिंट प्रदान करता है।
    • यदि इसे कोई नहीं पर सेट किया गया है, तो नए फ़िंगरप्रिंट की गणना पिछले फ़िंगरप्रिंट के हैश और परिवर्तन तर्कों का उपयोग करके की जाती है।
  • test_new_fingerprint (str, वैकल्पिक, डिफ़ॉल्ट कोई नहीं)
    • यह पैरामीटर परिवर्तन लागू करने के बाद परीक्षण सेट के नए फ़िंगरप्रिंट का प्रतिनिधित्व करता है।
    • यदि यह निर्दिष्ट है, तो यह परीक्षण सेट के लिए एक नया फ़िंगरप्रिंट प्रदान करता है।
    • यदि इसे कोई नहीं पर सेट किया गया है, तो नए फ़िंगरप्रिंट की गणना पिछले फ़िंगरप्रिंट के हैश और परिवर्तन तर्कों का उपयोग करके की जाती है।

    वाक्य - विन्यास:

    sklearn.model_selection से ट्रेन_टेस्ट_स्प्लिट आयात करें

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, रैंडम_स्टेट=42)

    एक्स : यह आपके डेटासेट की इनपुट सुविधाओं या स्वतंत्र चर का प्रतिनिधित्व करता है।



    • और : यह उस आउटपुट या आश्रित चर का प्रतिनिधित्व करता है जिसका आप पूर्वानुमान लगाने का प्रयास कर रहे हैं।
    • परीक्षण_आकार : यह पैरामीटर उस डेटासेट का अनुपात निर्धारित करता है जिसे परीक्षण के लिए आवंटित किया जाएगा। इसे एक फ़्लोट (उदाहरण के लिए, 20% के लिए 0.2) या एक पूर्णांक (उदाहरण के लिए, 200 नमूनों के लिए 200) के रूप में निर्दिष्ट किया जा सकता है।
    • यादृच्छिक_स्थिति : यह एक वैकल्पिक पैरामीटर है जो आपको यादृच्छिक संख्या जनरेटर के लिए बीज सेट करने की अनुमति देता है। यह सुनिश्चित करता है कि विभाजन प्रतिलिपि प्रस्तुत करने योग्य है जिसका अर्थ है कि यदि आप समान यादृच्छिक स्थिति मान का उपयोग करते हैं तो आपको समान विभाजन प्राप्त होगा।

    ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन डेटा के चार सेट लौटाता है:





    • एक्स_ट्रेन : इनपुट सुविधाओं का प्रशिक्षण सेट.
    • एक्स_टेस्ट : इनपुट सुविधाओं का परीक्षण सेट।
    • y_train : आउटपुट लेबल का प्रशिक्षण सेट।
    • y_test : आउटपुट लेबल का परीक्षण सेट।

    उदाहरण : निम्नलिखित उदाहरण प्रोग्राम को 'के रूप में सहेजा गया है test.py ”।

    sklearn.model_selection से ट्रेन_टेस्ट_स्प्लिट आयात करें

    डेटासेट से लोड_डेटासेट आयात करें

    # चरण 1: डेटासेट लोड करें

    डेटासेट = लोड_डेटासेट('आईएमडीबी')

    एक्स = डेटासेट['ट्रेन']['टेक्स्ट']

    y = डेटासेट['ट्रेन']['लेबल']

    # चरण 2: डेटासेट को विभाजित करें

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,

    फेरबदल=सत्य, यादृच्छिक_स्थिति=42)

    # चरण 3: डेटासेट का अन्वेषण करें

    प्रिंट करें ('मूल डेटासेट में उदाहरणों की संख्या:', लेन (एक्स))

    प्रिंट करें ('ट्रेन डेटासेट में उदाहरणों की संख्या:', लेन (X_train))

    प्रिंट करें ('परीक्षण डेटासेट में उदाहरणों की संख्या:', लेन (X_test))

    # चरण 4: उदाहरण डेटा तक पहुंचें और प्रिंट करें

    प्रिंट करें ('\nट्रेन डेटासेट से उदाहरण:')

    प्रिंट(X_train[0], y_train[0])

    प्रिंट करें ('\nपरीक्षण डेटासेट से उदाहरण:')

    प्रिंट(X_test[0], y_test[0])

    यह आयात विवरण स्किकिट-लर्न से है, हगिंग फेस डेटासेट लाइब्रेरी से नहीं। कृपया सुनिश्चित करें कि आपने अपने वातावरण में स्किकिट-लर्न स्थापित कर लिया है। आप इसे निम्न कमांड का उपयोग करके इंस्टॉल कर सकते हैं:



    पिप इंस्टाल स्किकिट-लर्न

    स्पष्टीकरण: सबसे पहले, हम आवश्यक मॉड्यूल आयात करते हैं: ट्रेन_टेस्ट_स्प्लिट स्किकिट-लर्न से।

    • हम IMDb डेटासेट कोload_dataset('imdb') का उपयोग करके लोड करते हैं और इसे डेटासेट वेरिएबल पर असाइन करते हैं।
    • ट्रेन_टेस्ट_स्प्लिट का उपयोग करने के लिए, हमें इनपुट सुविधाओं (एक्स) और संबंधित लेबल (वाई) को अलग करना होगा। इस मामले में, हम मानते हैं कि डेटासेट में इनपुट सुविधाओं के रूप में 'टेक्स्ट' और संबंधित लेबल के रूप में 'लेबल' के साथ 'ट्रेन' नामक एक विभाजन है। आपको अपने डेटासेट की संरचना के आधार पर कुंजियों को समायोजित करने की आवश्यकता हो सकती है।
    • फिर हम अन्य मापदंडों के साथ इनपुट फीचर्स (X) और लेबल्स (y) को ट्रेन_टेस्ट_स्प्लिट में पास करते हैं। इस उदाहरण में, हमने test_size को 0.2 पर सेट किया है जिसका अर्थ है कि 20% डेटा परीक्षण के लिए आवंटित किया जाएगा। विभाजन से पहले डेटा को यादृच्छिक रूप से फेरबदल करने के लिए शफ़ल पैरामीटर को 'सही' पर सेट किया गया है, और प्रतिलिपि प्रस्तुत करने योग्यता के लिए रैंडम_स्टेट पैरामीटर को 42 पर सेट किया गया है।
    • ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन डेटा के चार सेट लौटाता है: X_train, X_test, y_train, और y_test। ये क्रमशः इनपुट सुविधाओं और लेबल के प्रशिक्षण और परीक्षण सबसेट का प्रतिनिधित्व करते हैं।
    • हम मूल डेटासेट (len(X)), प्रशिक्षण डेटासेट (len(X_train)), और परीक्षण डेटासेट (len(X_test)) में उदाहरणों की संख्या प्रिंट करते हैं। यह हमें विभाजन प्रक्रिया को सत्यापित करने और यह सुनिश्चित करने की अनुमति देता है कि उपसमुच्चय सही ढंग से बनाए गए हैं।
    • अंत में, हम प्रशिक्षण डेटासेट (X_train[0], y_train[0]) से एक उदाहरण और परीक्षण डेटासेट (X_test[0], y_test[0]) से एक उदाहरण तक पहुंचते हैं और प्रिंट करते हैं।

    उत्पादन : हम पहले से सहेजे गए प्रोग्राम को Python 'test.py' का उपयोग करके चलाते हैं।

    निष्कर्ष

    ट्रेन-टेस्ट स्प्लिट कार्यक्षमता, जो हगिंग फेस की डेटासेट लाइब्रेरी द्वारा प्रदान की जाती है, स्किकिट-लर्न के ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन के संयोजन में, डेटासेट को अलग-अलग प्रशिक्षण और परीक्षण सबसेट में विभाजित करने का एक सुविधाजनक और कुशल तरीका प्रदान करती है।

    ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन का उपयोग करके, आप परीक्षण सेट के आकार को नियंत्रित कर सकते हैं, डेटा को फेरबदल करना है या नहीं, और प्रतिलिपि प्रस्तुत करने योग्यता के लिए एक यादृच्छिक बीज सेट कर सकते हैं। यह लचीलापन अनदेखे डेटा पर मशीन लर्निंग मॉडल के प्रभावी मूल्यांकन की अनुमति देता है और ओवरफिटिंग या अंडरफिटिंग जैसे मुद्दों का पता लगाने में सहायता करता है।

    ट्रेन_टेस्ट_स्प्लिट फ़ंक्शन के पैरामीटर आपको विभाजन के विभिन्न पहलुओं को नियंत्रित करने की अनुमति देते हैं जैसे कि परीक्षण सेट का आकार (टेस्ट_साइज़), डेटा को फेरबदल करना (फेरबदल करना), और विशिष्ट कॉलम (स्तरीकृत_बाय_कॉलम) के आधार पर स्तरीकृत विभाजन करना। इसके अतिरिक्त, आप प्रतिलिपि प्रस्तुत करने योग्यता के लिए एक बीज मान (बीज) निर्दिष्ट कर सकते हैं और विभाजित सूचकांकों (train_cache_file_name और test_cache_file_name) को संग्रहीत करने के लिए कैश फ़ाइल नामों को अनुकूलित कर सकते हैं।

    हगिंग फेस द्वारा प्रदान की जाने वाली कार्यक्षमता मॉडल प्रशिक्षण और मूल्यांकन के लिए आपके डेटा को तैयार करना आसान बनाती है। अलग-अलग प्रशिक्षण और परीक्षण उपसमूह होने से, आप अनदेखे डेटा पर अपने मॉडल के प्रदर्शन का सटीक आकलन कर सकते हैं, ओवरफिटिंग जैसे संभावित मुद्दों का पता लगा सकते हैं और मॉडल में सुधार के लिए सूचित निर्णय ले सकते हैं।

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