Computer in Hindi | Business in Hindi: Machine Learning in Hindi
Showing posts with label Machine Learning in Hindi. Show all posts
Showing posts with label Machine Learning in Hindi. Show all posts

Monday, April 4, 2022

What is Machine learning Life cycle Hindi

April 04, 2022 0
What is Machine learning Life cycle Hindi

 मशीन लर्निंग ने कंप्यूटर सिस्टम को स्पष्ट रूप से प्रोग्राम किए बिना स्वचालित रूप से सीखने की क्षमता दी है। लेकिन मशीन लर्निंग सिस्टम कैसे काम करता है? तो, इसे मशीन लर्निंग के जीवन चक्र का उपयोग करके वर्णित किया जा सकता है। मशीन लर्निंग जीवन चक्र एक कुशल मशीन लर्निंग प्रोजेक्ट बनाने के लिए एक चक्रीय प्रक्रिया है। जीवन चक्र का मुख्य उद्देश्य समस्या या परियोजना का समाधान खोजना है।


Machine learning Life cycle
Machine learning Life cycle in hindi

Machine learning Life cycle in Hindi


मशीन लर्निंग जीवन चक्र में सात प्रमुख चरण शामिल हैं, जो नीचे दिए गए हैं:




  • Gathering Data
  • Data preparation
  • Data Wrangling
  • Analyse Data
  • Train the model
  • Test the model
  • Deployment


पूरी प्रक्रिया में सबसे महत्वपूर्ण बात समस्या को समझना और समस्या के उद्देश्य को जानना है। इसलिए जीवन चक्र शुरू करने से पहले हमें समस्या को समझने की जरूरत है क्योंकि अच्छा परिणाम समस्या की बेहतर समझ पर निर्भर करता है।


संपूर्ण जीवन चक्र प्रक्रिया में, किसी समस्या को हल करने के लिए, हम "मॉडल" नामक एक मशीन लर्निंग सिस्टम बनाते हैं, और यह मॉडल "प्रशिक्षण" प्रदान करके बनाया जाता है। लेकिन एक मॉडल को प्रशिक्षित करने के लिए, हमें डेटा की आवश्यकता होती है, इसलिए, डेटा एकत्र करने से जीवन चक्र शुरू होता है।


1. Gathering Data:

डेटा एकत्र करना मशीन सीखने के जीवन चक्र का पहला चरण है। इस कदम का लक्ष्य डेटा से संबंधित सभी समस्याओं की पहचान करना और उन्हें प्राप्त करना है।


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


इस चरण में निम्नलिखित कार्य शामिल हैं:


  • Identify various data sources
  • Collect data
  • Integrate the data obtained from different sources

उपरोक्त कार्य करने से, हमें डेटा का एक सुसंगत सेट मिलता है, जिसे डेटासेट भी कहा जाता है। इसका उपयोग आगे के चरणों में किया जाएगा।


2. Data preparation

डेटा एकत्र करने के बाद, हमें इसे आगे के चरणों के लिए तैयार करने की आवश्यकता है। डेटा तैयार करना एक ऐसा कदम है जहां हम अपने डेटा को एक उपयुक्त स्थान पर रखते हैं और इसे अपने मशीन लर्निंग ट्रेनिंग में उपयोग करने के लिए तैयार करते हैं।


इस चरण में, पहले हम सभी डेटा को एक साथ रखते हैं, और फिर डेटा के क्रम को यादृच्छिक बनाते हैं।


इस चरण को आगे दो प्रक्रियाओं में विभाजित किया जा सकता है:


Data exploration:

  • इसका उपयोग डेटा की प्रकृति को समझने के लिए किया जाता है जिसके साथ हमें काम करना है। हमें डेटा की विशेषताओं, प्रारूप और गुणवत्ता को समझने की आवश्यकता है।
  • डेटा की बेहतर समझ एक प्रभावी परिणाम की ओर ले जाती है। इसमें, हम सहसंबंध, सामान्य रुझान और आउटलेयर पाते हैं।

Data pre-processing:

अब अगला चरण इसके विश्लेषण के लिए डेटा का प्रीप्रोसेसिंग है।

3. Data Wrangling

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


यह आवश्यक नहीं है कि हमने जो डेटा एकत्र किया है वह हमेशा हमारे उपयोग का हो क्योंकि कुछ डेटा उपयोगी नहीं हो सकते हैं। वास्तविक दुनिया के अनुप्रयोगों में, एकत्रित डेटा में विभिन्न मुद्दे हो सकते हैं, जिनमें शामिल हैं:


  • Missing Values
  • Duplicate data
  • Invalid data
  • Noise

इसलिए, हम डेटा को साफ करने के लिए विभिन्न फ़िल्टरिंग तकनीकों का उपयोग करते हैं।


उपरोक्त मुद्दों का पता लगाना और उन्हें हटाना अनिवार्य है क्योंकि यह परिणाम की गुणवत्ता को नकारात्मक रूप से प्रभावित कर सकता है।


4. Data Analysis

अब साफ और तैयार डेटा को विश्लेषण चरण में भेज दिया गया है। इस कदम में शामिल हैं:


  • Selection of analytical techniques
  • Building models
  • Review the result

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


इसलिए, इस चरण में, हम डेटा लेते हैं और मॉडल बनाने के लिए मशीन लर्निंग एल्गोरिदम का उपयोग करते हैं।


5. Train Model

अब अगला कदम मॉडल को प्रशिक्षित करना है, इस चरण में हम समस्या के बेहतर परिणाम के लिए अपने प्रदर्शन को बेहतर बनाने के लिए अपने मॉडल को प्रशिक्षित करते हैं।


हम विभिन्न मशीन लर्निंग एल्गोरिदम का उपयोग करके मॉडल को प्रशिक्षित करने के लिए डेटासेट का उपयोग करते हैं। एक मॉडल को प्रशिक्षित करना आवश्यक है ताकि वह विभिन्न पैटर्न, नियमों और विशेषताओं को समझ सके।


6. Test Model

एक बार जब हमारा मशीन लर्निंग मॉडल किसी दिए गए डेटासेट पर प्रशिक्षित हो जाता है, तो हम मॉडल का परीक्षण करते हैं। इस चरण में, हम एक परीक्षण डेटासेट प्रदान करके अपने मॉडल की सटीकता की जांच करते हैं।


मॉडल का परीक्षण परियोजना या समस्या की आवश्यकता के अनुसार मॉडल की प्रतिशत सटीकता निर्धारित करता है।


7. Deployment

मशीन लर्निंग जीवन चक्र का अंतिम चरण परिनियोजन है, जहां हम वास्तविक दुनिया प्रणाली में मॉडल को तैनात करते हैं।


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

Sunday, April 3, 2022

What is boosting in machine learning HIndi

April 03, 2022 0
What is boosting in machine learning HIndi

 बूस्टिंग एल्गोरिदम विशेष एल्गोरिदम हैं जिनका उपयोग डेटा मॉडल के मौजूदा परिणाम को बढ़ाने और त्रुटियों को ठीक करने में मदद करने के लिए किया जाता है। वे भविष्यवाणी के लिए भारित औसत मूल्यों और उच्च वोट मूल्यों के माध्यम से कमजोर शिक्षार्थी और मजबूत शिक्षार्थी बातचीत की अवधारणा का उपयोग करते हैं। 


ये एल्गोरिदम प्रसंस्करण के लिए निर्णय टिकट, मार्जिन अधिकतम वर्गीकरण का उपयोग करते हैं। तीन प्रकार के एल्गोरिदम उपलब्ध हैं जैसे कि AdaBoost या Adaptive Boosting Algorithm, Gradient, और XG Boosting algorithm। ये मशीन लर्निंग एल्गोरिदम हैं जो परिणाम की भविष्यवाणी करने और उसे ठीक करने के लिए प्रशिक्षण की प्रक्रिया का पालन करते हैं।

boosting in machine learning

Example  :- 


आइए इस अवधारणा को निम्नलिखित उदाहरण की सहायता से समझते हैं। आइए ईमेल का उदाहरण लेते हैं। आप अपने ईमेल को कैसे पहचानेंगे, यह स्पैम है या नहीं? आप इसे निम्नलिखित शर्तों से पहचान सकते हैं:


  • अगर किसी ईमेल में बहुत सारे स्रोत हैं, तो इसका मतलब है कि वह स्पैम है।
  • यदि किसी ईमेल में केवल एक फ़ाइल छवि है, तो वह स्पैम है।\
  • यदि किसी ईमेल में "आप $xxxxx की लॉटरी के मालिक हैं" का संदेश है, तो इसका मतलब है कि यह स्पैम है।
  • यदि किसी ईमेल में कोई ज्ञात स्रोत है, तो वह स्पैम नहीं है।
  • ऊपर बताए गए नियम स्पैम को पहचानने के लिए उतने शक्तिशाली नहीं हैं या नहीं; इसलिए इन नियमों को कमजोर शिक्षार्थी कहा जाता है।


कमजोर शिक्षार्थी को मजबूत शिक्षार्थी में बदलने के लिए, निम्न विधियों का उपयोग करके कमजोर शिक्षार्थी की भविष्यवाणी को मिलाएं।


  • औसत या भारित औसत का उपयोग करना।
  • विचार करें कि भविष्यवाणी का वोट अधिक है।

उपर्युक्त 5 नियमों पर विचार करें; स्पैम के लिए 3 वोट हैं और स्पैम नहीं के लिए 2 वोट हैं। चूंकि उच्च वोट स्पैम है, इसलिए हम इसे स्पैम मानते हैं।


Working For boosting in machine learning in Hindi

बूस्टिंग एल्गोरिदम प्रत्येक कमजोर शिक्षार्थी को एक मजबूत भविष्यवाणी नियम बनाने के लिए जोड़ता है। कमजोर नियम की पहचान करने के लिए, एक आधार लर्निंग एल्गोरिथम (मशीन लर्निंग) है। जब भी बेस एल्गोरिथम लागू किया जाता है, तो यह पुनरावृत्ति प्रक्रिया का उपयोग करके नए भविष्यवाणी नियम बनाता है। कुछ पुनरावृत्ति के बाद, यह एक एकल भविष्यवाणी नियम बनाने के लिए सभी कमजोर नियमों को जोड़ता है।


सही वितरण चुनने के लिए नीचे दिए गए चरणों का पालन करें:


चरण 1: बेस लर्निंग एल्गोरिदम प्रत्येक वितरण को जोड़ता है और प्रत्येक वितरण पर समान भार लागू करता है।


चरण 2: यदि पहले बेस लर्निंग एल्गोरिथम के दौरान कोई भविष्यवाणी होती है, तो हम उस भविष्यवाणी त्रुटि पर अधिक ध्यान देते हैं।


चरण 3: चरण 2 को तब तक दोहराएं जब तक कि बेस लर्निंग एल्गोरिथम की सीमा पूरी नहीं हो जाती या उच्च सटीकता नहीं हो जाती।


चरण 4: अंत में, यह एक मजबूत भविष्यवाणी ट्यूल बनाने के लिए सभी कमजोर शिक्षार्थियों को जोड़ता है।


Types of Boosting Algorithm in Hindi

बूस्टिंग एल्गोरिदम विभिन्न इंजनों का उपयोग करता है जैसे कि निर्णय स्टैम्प, मार्जिन अधिकतम वर्गीकरण एल्गोरिदम, आदि। तीन प्रकार के बूस्टिंग एल्गोरिदम हैं जो इस प्रकार हैं:


  • AdaBoost (अनुकूली बूस्टिंग) एल्गोरिथम
  • ग्रेडिएंट बूस्टिंग एल्गोरिथम
  • एक्सजी बूस्ट एल्गोरिथम

AdaBoost (Adaptive Boosting) Algorithm

AdaBoost को समझने के लिए, कृपया नीचे दी गई छवि देखें:


boosting in machine learning
boosting in machine learning



बॉक्स 1: बॉक्स 1 में, प्रत्येक डेटा सेट के लिए, हमने समान भार दिए हैं और प्लस (+) और माइनस (-) चिह्नों को वर्गीकृत करने के लिए, हम निर्णय स्टंप D1 लागू करते हैं, जो बॉक्स 1 के बाईं ओर एक ऊर्ध्वाधर रेखा बनाता है। . इस लाइन ने गलत तरीके से थ्री-प्लस साइन (+) को माइनस (-) के रूप में भविष्यवाणी की थी; इसलिए हम इन प्लस चिन्ह पर अधिक भार लगाते हैं और एक और निर्णय स्टंप लगाते हैं।


बॉक्स 2: बॉक्स 2 में, तीन गलत भविष्यवाणी किए गए प्लस चिह्न (+) का आकार दूसरे की तुलना में बड़ा हो जाता है। ब्लॉक के दायीं ओर दूसरा डिसीजन स्टंप D2 इस गलत पूर्वानुमानित प्लस चिह्न (+) चिह्न को सही होने की भविष्यवाणी करता है। लेकिन चूंकि माइनस साइन (-) के साथ असमान वजन के कारण गलत वर्गीकरण त्रुटि हुई, इसलिए हम माइनस साइन (-) को अधिक वजन देते हैं और एक और निर्णय स्टंप लागू करते हैं।


बॉक्स 3: बॉक्स तीन में, गलत वर्गीकरण त्रुटि के कारण, तीन ऋण चिह्न (-) का भार अधिक है। यहाँ इस गलत वर्गीकरण की भविष्यवाणी करने और इसे ठीक करने के लिए निर्णय स्टंप D3 लागू किया गया है। इस बार प्लस (+) और माइनस (-) साइन को वर्गीकृत करने के लिए क्षैतिज रेखा बनाई गई है।


बॉक्स 4: बॉक्स 4 में, निर्णय स्टंप D1, D2 और D3 को एक नई मजबूत भविष्यवाणी बनाने के लिए जोड़ा जाता है।


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


gradient boosting in machine learning

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


1. Loss Function

हानि फ़ंक्शन का उपयोग समस्या के प्रकार पर निर्भर करता है। ग्रेडिएंट बूस्टिंग का लाभ यह है कि प्रत्येक लॉस फंक्शन के लिए नए बूस्टिंग एल्गोरिथम की आवश्यकता नहीं होती है।


2. Weak Learner

ग्रेडिएंट बूस्टिंग में, निर्णय वृक्षों का उपयोग कमजोर शिक्षार्थी के रूप में किया जाता है। एक प्रतिगमन वृक्ष का उपयोग वास्तविक मूल्य देने के लिए किया जाता है, जिसे सही भविष्यवाणियां बनाने के लिए एक साथ जोड़ा जा सकता है। जैसे AdaBoost एल्गोरिथम में, एकल विभाजन वाले छोटे पेड़ों का उपयोग किया जाता है, अर्थात निर्णय स्टंप। बड़े स्तर I, e 4-8 स्तरों के लिए बड़े पेड़ों का उपयोग किया जाता है।


3. Additive Model

इस मॉडल में पेड़ों को एक-एक करके जोड़ा जाता है। मौजूदा पेड़ वही रहते हैं। पेड़ों को जोड़ने के दौरान, नुकसान फ़ंक्शन को कम करने के लिए ग्रेडिएंट डिसेंट का उपयोग किया जाता है।


xgboost machine learning

एक्सजी बूस्ट एक्सट्रीम ग्रेडिएंट बूस्टिंग के लिए छोटा है। एक्सजी बूस्ट ग्रेडिएंट बूस्टिंग एल्गोरिथम का उन्नत कार्यान्वयन है, जिसे उच्च कम्प्यूटेशनल गति, मापनीयता और बेहतर प्रदर्शन के लिए विकसित किया गया है।


एक्सजी बूस्ट में विभिन्न विशेषताएं हैं, जो इस प्रकार हैं:


  • Parallel Processing: एक्सजी बूस्ट पेड़ निर्माण के लिए समानांतर प्रसंस्करण प्रदान करता है जो प्रशिक्षण के दौरान सीपीयू कोर का उपयोग करता है।
  • Cross-Validation: एक्सजी बूस्ट उपयोगकर्ताओं को प्रत्येक पुनरावृत्ति पर बूस्टिंग प्रक्रिया के क्रॉस-सत्यापन को चलाने में सक्षम बनाता है, जिससे एक बार में सटीक इष्टतम संख्या में बूस्टिंग पुनरावृत्तियों को प्राप्त करना आसान हो जाता है।
  • Cache Optimization: यह उच्च निष्पादन गति के लिए एल्गोरिदम का कैश ऑप्टिमाइज़ेशन प्रदान करता है।
  • Distributed Computing:  बड़े मॉडलों के प्रशिक्षण के लिए, एक्सजी बूस्ट वितरित कंप्यूटिंग की अनुमति देता है।

Friday, April 1, 2022

What is loss function in machine learning Hindi

April 01, 2022 0
What is loss function in machine learning Hindi

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


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


मोटे तौर पर, हानि कार्यों को दो प्रमुख श्रेणियों में वर्गीकृत किया जा सकता है, जो सीखने के कार्य के प्रकार पर निर्भर करता है -  Regression losses और Classification losses। वर्गीकरण में, हम परिमित श्रेणीबद्ध मूल्यों के सेट से आउटपुट की भविष्यवाणी करने की कोशिश कर रहे हैं यानी हाथ से लिखे अंकों की छवियों के बड़े डेटा सेट को देखते हुए, उन्हें 0–9 अंकों में से एक में वर्गीकृत करना। दूसरी ओर, प्रतिगमन, एक निरंतर मूल्य की भविष्यवाणी करने से संबंधित है, उदाहरण के लिए दिया गया फर्श क्षेत्र, कमरों की संख्या, कमरों का आकार, कमरे की कीमत की भविष्यवाणी करना।


        n        - Number of training examples.

        i        - ith training example in a data set.

        y(i)     - Ground truth label for ith training example.

        y_hat(i) - Prediction for ith training example.


loss function in machine learning in Hindi


Regression Losses

Mean Square Error/Quadratic Loss/L2 Loss


गणितीय सूत्रीकरण :-


loss function in machine learning
loss function in machine learning



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


import numpy as npy_hat = np.array([0.000, 0.166, 0.333])
y_true = np.array([0.000, 0.254, 0.998])
def rmse(predictions, targets):
differences = predictions - targets
differences_squared = differences ** 2
mean_of_differences_squared = differences_squared.mean()
rmse_val = np.sqrt(mean_of_differences_squared)
return rmse_val
print("d is: " + str(["%.8f" % elem for elem in y_hat]))
print("p is: " + str(["%.8f" % elem for elem in y_true]))
rmse_val = rmse(y_hat, y_true)
print("rms error is: " + str(rmse_val))



Mean Absolute Error/L1 Loss

Mathematical formulation :-



loss function in machine learning in Hindi
loss function in machine learning in Hindi



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

import numpy as npy_hat = np.array([0.000, 0.166, 0.333])
y_true = np.array([0.000, 0.254, 0.998])

print("d is: " + str(["%.8f" % elem for elem in y_hat]))
print("p is: " + str(["%.8f" % elem for elem in y_true]))

def mae(predictions, targets):
differences = predictions - targets
absolute_differences = np.absolute(differences)
mean_absolute_differences = absolute_differences.mean()
return mean_absolute_differences
mae_val = mae(y_hat, y_true)
print ("mae error is: " + str(mae_val))


Mean Bias Error

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


Mathematical formulation :-


Mathematical formulation
Mathematical formulation 


Classification Losses


Hinge Loss/Multi class SVM Loss

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

गणितीय सूत्रीकरण :-


Hinge Loss/Multi class SVM Loss
Hinge Loss/Multi class SVM Loss



एक उदाहरण पर विचार करें जहां हमारे पास तीन प्रशिक्षण उदाहरण और भविष्यवाणी करने के लिए तीन वर्ग हैं - कुत्ता, बिल्ली और घोड़ा। प्रत्येक वर्ग के लिए हमारे एल्गोरिथ्म द्वारा अनुमानित मूल्यों के नीचे: -


loss function machine learning example
loss function machine learning example




सभी 3 प्रशिक्षण उदाहरणों के लिए काज हानियों की गणना: -


## 1st training example
max(0, (1.49) - (-0.39) + 1) + max(0, (4.21) - (-0.39) + 1)
max(0, 2.88) + max(0, 5.6)
2.88 + 5.6
8.48 (High loss as very wrong prediction)
## 2nd training example
max(0, (-4.61) - (3.28)+ 1) + max(0, (1.46) - (3.28)+ 1)
max(0, -6.89) + max(0, -0.82)
0 + 0
0 (Zero loss as correct prediction)
## 3rd training example
max(0, (1.03) - (-2.27)+ 1) + max(0, (-2.37) - (-2.27)+ 1)
max(0, 4.3) + max(0, 0.9)
4.3 + 0.9
5.2 (High loss as very wrong prediction)

Cross Entropy Loss/Negative Log Likelihood

वर्गीकरण समस्याओं के लिए यह सबसे आम सेटिंग है। क्रॉस-एन्ट्रॉपी हानि बढ़ जाती है क्योंकि अनुमानित संभावना वास्तविक लेबल से अलग हो जाती है।

गणितीय सूत्रीकरण :-


Mathematical formulation
Mathematical formulation :-



ध्यान दें कि जब वास्तविक लेबल 1 (y(i) = 1) होता है, तो फ़ंक्शन का दूसरा भाग गायब हो जाता है जबकि वास्तविक लेबल 0 (y(i) = 0) होने की स्थिति में पहला आधा हटा दिया जाता है। संक्षेप में, हम जमीनी सच्चाई वर्ग के लिए वास्तविक अनुमानित संभावना के लॉग को केवल गुणा कर रहे हैं। इसका एक महत्वपूर्ण पहलू यह है कि क्रॉस एंट्रॉपी लॉस उन भविष्यवाणियों को भारी रूप से दंडित करता है जो आश्वस्त हैं लेकिन गलत हैं।



import numpy as nppredictions = np.array([[0.25,0.25,0.25,0.25],
[0.01,0.01,0.01,0.96]])
targets = np.array([[0,0,0,1],
[0,0,0,1]])
def cross_entropy(predictions, targets, epsilon=1e-10):
predictions = np.clip(predictions, epsilon, 1. - epsilon)
N = predictions.shape[0]
ce_loss = -np.sum(np.sum(targets * np.log(predictions + 1e-5)))/N
return ce_loss
cross_entropy_loss = cross_entropy(predictions, targets)
print ("Cross entropy loss is: " + str(cross_entropy_loss))

Sunday, March 27, 2022

logistic regression in machine learning in Hindi

March 27, 2022 0
logistic regression in machine learning in Hindi

Logistic regression एक supervised learning classification algorithm है जिसका उपयोग लक्ष्य चर की संभावना का अनुमान लगाने के लिए किया जाता है। लक्ष्य या आश्रित चर की प्रकृति द्विबीजपत्री है, जिसका अर्थ है कि केवल दो संभावित वर्ग होंगे।



सरल शब्दों में, आश्रित चर प्रकृति में द्विआधारी है जिसमें डेटा को 1 (सफलता/हां के लिए खड़ा है) या 0 (असफलता/नहीं के लिए खड़ा है) के रूप में कोडित किया गया है।


गणितीय रूप से, एक logistic regression model पी (वाई = 1) को एक्स के एक फ़ंक्शन के रूप में भविष्यवाणी करता है। यह सबसे सरल एमएल एल्गोरिदम में से एक है जिसका उपयोग विभिन्न वर्गीकरण समस्याओं जैसे कि स्पैम का पता लगाने, मधुमेह की भविष्यवाणी, कैंसर का पता लगाने आदि के लिए किया जा सकता है।


logistic regression in machine learning in Hindi


Type of logistic regression

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


Binary or Binomial

इस तरह के वर्गीकरण में, एक आश्रित चर के केवल दो संभावित प्रकार होंगे या तो 1 और 0। उदाहरण के लिए, ये चर सफलता या विफलता, हाँ या नहीं, जीत या हार आदि का प्रतिनिधित्व कर सकते हैं।


Multinomial

इस प्रकार के वर्गीकरण में, आश्रित चर के 3 या अधिक संभावित अनियंत्रित प्रकार हो सकते हैं या ऐसे प्रकार हो सकते हैं जिनका कोई मात्रात्मक महत्व नहीं है। उदाहरण के लिए, ये चर "टाइप ए" या "टाइप बी" या "टाइप सी" का प्रतिनिधित्व कर सकते हैं।


Ordinal

इस प्रकार के वर्गीकरण में आश्रित चर में 3 या अधिक संभावित क्रमबद्ध प्रकार या मात्रात्मक महत्व वाले प्रकार हो सकते हैं। उदाहरण के लिए, ये चर "खराब" या "अच्छा", "बहुत अच्छा", "उत्कृष्ट" का प्रतिनिधित्व कर सकते हैं और प्रत्येक श्रेणी में 0,1,2,3 जैसे स्कोर हो सकते हैं।


Assumptions For logistic regression in machine learning in Hindi

लॉजिस्टिक रिग्रेशन के कार्यान्वयन में गोता लगाने से पहले, हमें उसी के बारे में निम्नलिखित धारणाओं से अवगत होना चाहिए -


  • बाइनरी लॉजिस्टिक रिग्रेशन के मामले में, लक्ष्य चर हमेशा बाइनरी होना चाहिए और वांछित परिणाम कारक स्तर 1 द्वारा दर्शाया जाता है।


  • मॉडल में कोई बहु-संरेखता नहीं होनी चाहिए, जिसका अर्थ है कि स्वतंत्र चर एक दूसरे से स्वतंत्र होना चाहिए।


  • हमें अपने मॉडल में सार्थक चर शामिल करने चाहिए।


  • हमें लॉजिस्टिक रिग्रेशन के लिए एक बड़ा नमूना आकार चुनना चाहिए।


Regression Models in Machine Learning in Hindi

बाइनरी लॉजिस्टिक रिग्रेशन मॉडल - लॉजिस्टिक रिग्रेशन का सबसे सरल रूप बाइनरी या बिनोमियल लॉजिस्टिक रिग्रेशन है जिसमें लक्ष्य या आश्रित चर के केवल 2 संभावित प्रकार हो सकते हैं या तो 1 या 0।


मल्टीनोमियल लॉजिस्टिक रिग्रेशन मॉडल - लॉजिस्टिक रिग्रेशन का एक अन्य उपयोगी रूप मल्टीनोमियल लॉजिस्टिक रिग्रेशन है जिसमें लक्ष्य या आश्रित चर के 3 या अधिक संभावित अनियंत्रित प्रकार हो सकते हैं यानी वे प्रकार जिनका कोई मात्रात्मक महत्व नहीं है।

Friday, March 25, 2022

overfitting and underfitting machine learning with example Hindi

March 25, 2022 0
overfitting and underfitting machine learning with example Hindi

 ओवरफिटिंग और अंडरफिटिंग दो मुख्य समस्याएं हैं जो मशीन लर्निंग में होती हैं और मशीन लर्निंग मॉडल के प्रदर्शन को खराब करती हैं।


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


overfitting और underfitting को समझने से पहले, आइए कुछ बुनियादी शब्दों को समझते हैं जो इस विषय को अच्छी तरह से समझने में मदद करेंगे:


सिग्नल: यह डेटा के वास्तविक अंतर्निहित पैटर्न को संदर्भित करता है जो मशीन लर्निंग मॉडल को डेटा से सीखने में मदद करता है।

Noise: शोर अनावश्यक और अप्रासंगिक डेटा है जो मॉडल के प्रदर्शन को कम करता है।

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

Variance: यदि मशीन लर्निंग मॉडल प्रशिक्षण डेटासेट के साथ अच्छा प्रदर्शन करता है, लेकिन परीक्षण डेटासेट के साथ अच्छा प्रदर्शन नहीं करता है, तो विचरण होता है।

Overfitting in machine Learning In Hindi

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


जब तक हम अपने मॉडल को प्रशिक्षण प्रदान करते हैं, तब तक ओवरफिटिंग होने की संभावना बढ़ जाती है। इसका मतलब है कि जितना अधिक हम अपने मॉडल को प्रशिक्षित करते हैं, उतने ही अधिक मॉडल के होने की संभावना अधिक होती है।


ओवरफिटिंग मुख्य समस्या है जो पर्यवेक्षित शिक्षण में होती है।


उदाहरण: ओवरफिटिंग की अवधारणा को लीनियर रिग्रेशन आउटपुट के नीचे दिए गए ग्राफ से समझा जा सकता है:


overfitting in machine learning
overfitting in machine learning



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


 avoid the Overfitting in Model in machine Learning In Hindi

ओवरफिटिंग और अंडरफिटिंग दोनों ही मशीन लर्निंग मॉडल के खराब प्रदर्शन का कारण बनते हैं। लेकिन मुख्य कारण ओवरफिटिंग है, इसलिए कुछ ऐसे तरीके हैं जिनसे हम अपने मॉडल में ओवरफिटिंग की घटना को कम कर सकते हैं।


  • Cross-Validation
  • Training with more data
  • Removing features
  • Early stopping the training
  • Regularization
  • Ensembling


underfitting in machine learning in Hindi

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


अंडरफिटिंग के मामले में, मॉडल प्रशिक्षण डेटा से पर्याप्त सीखने में सक्षम नहीं है, और इसलिए यह सटीकता को कम करता है और अविश्वसनीय भविष्यवाणियां करता है।


एक अंडरफिट मॉडल में उच्च पूर्वाग्रह और कम विचरण होता है।


उदाहरण: हम लीनियर रिग्रेशन मॉडल के आउटपुट का उपयोग करके अंडरफिटिंग को समझ सकते हैं:


underfitting in machine learning in hindi
underfitting in machine learning in hindi



जैसा कि हम उपरोक्त आरेख से देख सकते हैं, मॉडल प्लॉट में मौजूद डेटा बिंदुओं को पकड़ने में असमर्थ है।


How to avoid underfitting in machine learning 

मॉडल के प्रशिक्षण समय को बढ़ाकर।

सुविधाओं की संख्या में वृद्धि करके।

Goodness of Fit

"Goodness of Fit" शब्द आँकड़ों से लिया गया है, और मशीन लर्निंग मॉडल का लक्ष्य Goodness of Fit को प्राप्त करना है। सांख्यिकी मॉडलिंग में, यह परिभाषित करता है कि परिणाम या अनुमानित मूल्य डेटासेट के वास्तविक मूल्यों से कितनी निकटता से मेल खाते हैं।


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


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


दो अन्य तरीके हैं जिनके द्वारा हम अपने मॉडल के लिए एक अच्छा बिंदु प्राप्त कर सकते हैं, जो मॉडल सटीकता और सत्यापन डेटासेट का अनुमान लगाने के लिए पुन: नमूनाकरण विधि है।

Sunday, March 20, 2022

Genetic algorithm in machine learning Hindi

March 20, 2022 0
Genetic algorithm in machine learning Hindi

 एक genetic algorithm एक अनुकूली heuristic search algorithm है जो "डार्विन के प्रकृति में विकास के सिद्धांत" से प्रेरित है। इसका उपयोग मशीन लर्निंग में अनुकूलन समस्याओं को हल करने के लिए किया जाता है। यह महत्वपूर्ण एल्गोरिदम में से एक है क्योंकि यह जटिल समस्याओं को हल करने में मदद करता है जिन्हें हल करने में लंबा समय लगता है


विभिन्न वास्तविक दुनिया के अनुप्रयोगों में  genetic algorithm का व्यापक रूप से उपयोग किया जा रहा है, उदाहरण के लिए, इलेक्ट्रॉनिक सर्किट डिजाइन करना, कोड-ब्रेकिंग, इमेज प्रोसेसिंग और artificial creativity।


इस विषय में, हम जेनेटिक एल्गोरिथम के बारे में विस्तार से बताएंगे, जिसमें जेनेटिक एल्गोरिथम में उपयोग की जाने वाली बुनियादी शब्दावली, यह कैसे काम करता है, जेनेटिक एल्गोरिथम के फायदे और सीमाएं आदि शामिल हैं।


Check also :- overfitting and underfitting in machine learning in Hindi


genetic algorithm in machine learning in Hindi

जेनेटिक एल्गोरिथम को समझने से पहले, आइए पहले इस एल्गोरिथम को बेहतर ढंग से समझने के लिए बुनियादी शब्दावली को समझें:


Population: जनसंख्या सभी संभावित या संभावित समाधानों का सबसेट है, जो दी गई समस्या को हल कर सकती है।

Chromosomes: एक क्रोमोसोम आबादी में दी गई समस्या के समाधान में से एक है, और जीन का संग्रह एक क्रोमोसोम उत्पन्न करता है।

Gene: एक गुणसूत्र एक अलग जीन में विभाजित होता है, या यह गुणसूत्र का एक तत्व होता है।

Allele: एलील एक विशेष गुणसूत्र के भीतर जीन को प्रदान किया गया मान है।

Fitness Function: जनसंख्या में व्यक्ति के फिटनेस स्तर को निर्धारित करने के लिए फिटनेस फ़ंक्शन का उपयोग किया जाता है। इसका अर्थ है एक व्यक्ति की अन्य व्यक्तियों के साथ प्रतिस्पर्धा करने की क्षमता। प्रत्येक पुनरावृत्ति में, व्यक्तियों का मूल्यांकन उनके फिटनेस कार्य के आधार पर किया जाता है।

Genetic Operators:जेनेटिक एल्गोरिथम में, माता-पिता की तुलना में संतानों को बेहतर बनाने के लिए सबसे अच्छा व्यक्तिगत साथी। यहां आनुवंशिक संचालक अगली पीढ़ी की आनुवंशिक संरचना को बदलने में भूमिका निभाते हैं।

Selection

जनसंख्या में प्रत्येक अस्तित्व की फिटनेस की गणना करने के बाद, एक चयन प्रक्रिया का उपयोग यह निर्धारित करने के लिए किया जाता है कि जनसंख्या में से कौन सा व्यक्ति प्रजनन करेगा और आने वाली पीढ़ी का निर्माण करेगा।


उपलब्ध चयन शैलियों के प्रकार


  • Roulette wheel selection
  • Event selection
  • Rank- grounded selection

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


Working For genetic algorithm in machine learning

genetic algorithm उच्च गुणवत्ता वाले समाधान उत्पन्न करने के लिए evolutionary generation cycle पर काम करता है। ये एल्गोरिदम विभिन्न कार्यों का उपयोग करते हैं जो एक बेहतर फिट समाधान देने के लिए जनसंख्या को बढ़ाते हैं या प्रतिस्थापित करते हैं।


इसमें मूल रूप से जटिल अनुकूलन समस्याओं को हल करने के लिए पांच चरण शामिल हैं, जो नीचे दिए गए हैं:


  • Initialization
  • Fitness Assignment
  • Selection
  • Reproduction
  • Termination

1. Initialization

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


genetic algorithm in machine learning
genetic algorithm in machine learning



2. Fitness Assignment

फिटनेस फ़ंक्शन का उपयोग यह निर्धारित करने के लिए किया जाता है कि कोई व्यक्ति कितना फिट है? इसका अर्थ है एक व्यक्ति की अन्य व्यक्तियों के साथ प्रतिस्पर्धा करने की क्षमता। प्रत्येक पुनरावृत्ति में, व्यक्तियों का मूल्यांकन उनके फिटनेस कार्य के आधार पर किया जाता है। फिटनेस फ़ंक्शन प्रत्येक व्यक्ति को एक फिटनेस स्कोर प्रदान करता है। यह स्कोर आगे प्रजनन के लिए चुने जाने की संभावना को निर्धारित करता है। फिटनेस स्कोर जितना अधिक होगा, प्रजनन के लिए चुने जाने की संभावना उतनी ही अधिक होगी।


3. Selection

चयन चरण में संतानों के प्रजनन के लिए व्यक्तियों का चयन शामिल है। फिर सभी चयनित व्यक्तियों को प्रजनन बढ़ाने के लिए दो की जोड़ी में व्यवस्थित किया जाता है। फिर ये व्यक्ति अपने जीन को अगली पीढ़ी में स्थानांतरित करते हैं।


तीन प्रकार की चयन विधियां उपलब्ध हैं, जो हैं:


  • Roulette wheel selection
  • Tournament selection
  • Rank-based selection

4. Reproduction

चयन प्रक्रिया के बाद, बच्चे का निर्माण प्रजनन चरण में होता है। इस चरण में, आनुवंशिक एल्गोरिथ्म दो भिन्नता ऑपरेटरों का उपयोग करता है जो मूल जनसंख्या पर लागू होते हैं। प्रजनन चरण में शामिल दो ऑपरेटर नीचे दिए गए हैं:


Crossover: क्रॉसओवर आनुवंशिक एल्गोरिथम के प्रजनन चरण में सबसे महत्वपूर्ण भूमिका निभाता है। इस प्रक्रिया में, जीन के भीतर यादृच्छिक रूप से एक क्रॉसओवर बिंदु का चयन किया जाता है। फिर क्रॉसओवर ऑपरेटर संतान का प्रतिनिधित्व करने वाले एक नए व्यक्ति का उत्पादन करने के लिए वर्तमान पीढ़ी से दो माता-पिता की अनुवांशिक जानकारी को स्वैप करता है।


genetic algorithm
genetic algorithm


  • One point crossover
  • Two-point crossover
  • Livery crossover
  • Inheritable Algorithms crossover

Mutation

Mutation संकारक जनसंख्या में विविधता बनाए रखने के लिए वंश (नए बच्चे) में यादृच्छिक जीन सम्मिलित करता है। यह गुणसूत्रों में कुछ बिट्स को फ़्लिप करके किया जा सकता है।

उत्परिवर्तन समयपूर्व अभिसरण के मुद्दे को हल करने में मदद करता है और विविधीकरण को बढ़ाता है। नीचे दी गई छवि उत्परिवर्तन प्रक्रिया को दर्शाती है:

उत्परिवर्तन शैलियों के प्रकार उपलब्ध हैं,

Flip bit mutation

Gaussian mutation

Exchange/Swap mutation


genetic algorithm in machine learning pdf
genetic algorithm in machine learning pdf



5. Termination For genetic algorithm in machine learning

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


General Workflow of a Simple Genetic Algorithm in Machine Learning In Hindi


General Workflow of a Simple Genetic Algorithm
General Workflow of a Simple Genetic Algorithm



Advantages of Genetic Algorithm

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

Limitations of Genetic Algorithms

  • सरल समस्याओं को हल करने के लिए जेनेटिक एल्गोरिदम कुशल एल्गोरिदम नहीं हैं।
  • यह किसी समस्या के अंतिम समाधान की गुणवत्ता की गारंटी नहीं देता है।
  • फिटनेस मूल्यों की दोहराव गणना कुछ कम्प्यूटेशनल चुनौतियां उत्पन्न कर सकती है।

Difference between Genetic Algorithms and Traditional Algorithms

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

Tuesday, March 15, 2022

candidate elimination algorithm in machine learning Hindi

March 15, 2022 0
candidate elimination algorithm in machine learning Hindi

 उम्मीदवार उन्मूलन एल्गोरिथ्म एक परिकल्पना स्थान एच और उदाहरणों के एक सेट ई दिए गए संस्करण स्थान का क्रमिक रूप से निर्माण करता है। उदाहरण एक-एक करके जोड़े जाते हैं; प्रत्येक उदाहरण संभवतः उन परिकल्पनाओं को हटाकर संस्करण स्थान को सिकोड़ता है जो उदाहरण के साथ असंगत हैं। उम्मीदवार उन्मूलन एल्गोरिथ्म प्रत्येक नए उदाहरण के लिए सामान्य और विशिष्ट सीमा को अद्यतन करके ऐसा करता है।


  • आप इसे Find-S एल्गोरिथम का विस्तारित रूप मान सकते हैं।
  • सकारात्मक और नकारात्मक दोनों उदाहरणों पर विचार करें।
  • दरअसल, सकारात्मक उदाहरणों का उपयोग यहां फाइंड-एस एल्गोरिथ्म के रूप में किया जाता है (मूल रूप से वे विनिर्देश से सामान्यीकरण कर रहे हैं)।
  • जबकि नकारात्मक उदाहरण सामान्यीकृत रूप से निर्दिष्ट है।

Terms Used For candidate elimination algorithm in machine learning in Hindi


अवधारणा सीखना: अवधारणा सीखना मूल रूप से मशीन का सीखने का कार्य है (ट्रेन डेटा द्वारा सीखें)

सामान्य परिकल्पना: मशीन सीखने के लिए सुविधाओं को निर्दिष्ट नहीं करना।

G = {‘?’, ‘?’,’?’,’?’…}: विशेषताओं की संख्या

विशिष्ट परिकल्पना: मशीन सीखने के लिए विशिष्ट सुविधाएँ (विशिष्ट विशेषता)

S= {‘pi’,’pi’,’pi’…}:  pi की संख्या विशेषताओं की संख्या पर निर्भर करती है।

वर्जन स्पेस: यह सामान्य परिकल्पना और विशिष्ट परिकल्पना का मध्यवर्ती है। इसने न केवल एक परिकल्पना बल्कि प्रशिक्षण डेटा-सेट के आधार पर सभी संभावित परिकल्पनाओं का एक सेट लिखा।

Steps For candidate elimination algorithm in machine learning 


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

चरण 2: सामान्य परिकल्पना और विशिष्ट परिकल्पना को प्रारंभ करें।

चरण 3: प्रत्येक प्रशिक्षण उदाहरण के लिए

Step4: यदि उदाहरण सकारात्मक उदाहरण है

          if attribute_value == hypothesis_value:

             Do nothing  

          else:

             replace attribute value with '?' (Basically generalizing it)

चरण 5: यदि उदाहरण नकारात्मक उदाहरण है

          Make generalize hypothesis more specific


उदाहरण:


candidate elimination algorithm in machine learning
candidate elimination algorithm in machine learning



नीचे दिए गए डेटासेट पर विचार करें:


Algorithmic steps:


प्रारंभ में: जी = [[?,?,?,?,?,?], [?,?,?,?,?,?], [?,?,?,?,?,?],

                 [?,?,?,?,?,?], [?,?,?,?,?,?], [?,?,?,?,?,?]]

            एस = [शून्य, शून्य, शून्य, शून्य, शून्य, शून्य]

            

उदाहरण के लिए 1: <'sunny','warm','normal','strong','warm ','same'> and positive output.

            G1 = G

            S1 = ['sunny','warm','normal','strong','warm ','same']

            

उदाहरण के लिए 2: <'sunny','warm','high','strong','warm ','same'> और सकारात्मक आउटपुट।

            जी2 = जी

            S2 = ['sunny','warm',?,'strong','warm ','same']

            

उदाहरण के लिए 3: <'rainy','cold','high','strong','warm ','change'> और नकारात्मक आउटपुट।

            G3 = [['धूप',?,?,?,?,?], [?, 'गर्म',?,?,?,?], [?,?,?,?,?,?],

                  [?, ?, ?, ?, ?, ?], [?, ?, ?, ?, ?, ?], [?, ?, ?, ?, ?, 'वही']]

            S3 = S2

            

उदाहरण के लिए 4: <'sunny','warm','high','strong','cool','change'> और सकारात्मक आउटपुट।

            जी4 = जी3

            S4 = ['sunny','warm',?,'strong', ?, ?]

  

अंत में, G4 और S4 एल्गोरिथम को सिंक्रोनाइज़ करके आउटपुट का उत्पादन करते हैं।

candidate elimination algorithm in machine learning
candidate elimination algorithm in machine learning




Thursday, March 3, 2022

random forest algorithm in machine learning in Hindi

March 03, 2022 0
random forest algorithm in machine learning in Hindi

random forest algorithm in machine learning एक लोकप्रिय algorithm  है जो पर्यवेक्षित शिक्षण तकनीक से संबंधित है। इसका उपयोग एमएल में वर्गीकरण और प्रतिगमन समस्याओं दोनों के लिए किया जा सकता है। यह पहनावा सीखने की अवधारणा पर आधारित है, जो एक जटिल समस्या को हल करने और मॉडल के प्रदर्शन को बेहतर बनाने के लिए कई क्लासिफायर के संयोजन की प्रक्रिया है।


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


जंगल में पेड़ों की अधिक संख्या उच्च सटीकता की ओर ले जाती है और ओवरफिटिंग की समस्या को रोकती है।


नीचे दिया गया चित्र रैंडम फ़ॉरेस्ट एल्गोरिथम के कार्य की व्याख्या करता है:


random forest algorithm in machine learning
random forest algorithm in machine learning



Assumptions for Random Forest algorithm in machine learning

चूंकि Random Forest डेटासेट के वर्ग की भविष्यवाणी करने के लिए कई पेड़ों को जोड़ता है, यह संभव है कि कुछ निर्णय पेड़ सही आउटपुट की भविष्यवाणी कर सकते हैं, जबकि अन्य नहीं कर सकते हैं। लेकिन एक साथ, सभी पेड़ सही उत्पादन की भविष्यवाणी करते हैं। इसलिए, एक बेहतर रैंडम फ़ॉरेस्ट क्लासिफायरियर के लिए दो धारणाएँ नीचे दी गई हैं:


  • डेटासेट के फीचर वेरिएबल में कुछ वास्तविक मान होने चाहिए ताकि क्लासिफायर अनुमानित परिणाम के बजाय सटीक परिणामों की भविष्यवाणी कर सके।
  • प्रत्येक पेड़ की भविष्यवाणियों में बहुत कम सहसंबंध होना चाहिए।

use random forest algorithm in machine learning in Hindi

नीचे कुछ बिंदु दिए गए हैं जो बताते हैं कि हमें रैंडम फ़ॉरेस्ट एल्गोरिथम का उपयोग क्यों करना चाहिए:


  • अन्य एल्गोरिदम की तुलना में इसमें कम प्रशिक्षण समय लगता है।
  • यह उच्च सटीकता के साथ आउटपुट की भविष्यवाणी करता है, यहां तक ​​कि बड़े डेटासेट के लिए भी यह कुशलता से चलता है।
  • डेटा का एक बड़ा हिस्सा गायब होने पर यह सटीकता भी बनाए रख सकता है।

Working For random forest algorithm in machine learning in Hindi

रैंडम फ़ॉरेस्ट दो चरणों में काम करता है पहला एन डिसीजन ट्री को मिलाकर रैंडम फ़ॉरेस्ट बनाना है, और दूसरा है पहले चरण में बनाए गए प्रत्येक ट्री के लिए भविष्यवाणियाँ करना।


कार्य प्रक्रिया को नीचे दिए गए चरणों और आरेख में समझाया जा सकता है:


चरण -1: प्रशिक्षण सेट से यादृच्छिक K डेटा बिंदुओं का चयन करें।


चरण -2: चयनित डेटा बिंदुओं (सबसेट) से जुड़े निर्णय वृक्षों का निर्माण करें।


चरण -3: निर्णय वृक्षों के लिए संख्या N चुनें, जिन्हें आप बनाना चाहते हैं।


चरण -4: चरण 1 और 2 दोहराएं।


चरण -5: नए डेटा बिंदुओं के लिए, प्रत्येक निर्णय वृक्ष की भविष्यवाणी खोजें, और उस श्रेणी को नए डेटा बिंदु निर्दिष्ट करें जो बहुमत से वोट जीतती है।


एल्गोरिथम की कार्यप्रणाली को नीचे दिए गए उदाहरण से बेहतर ढंग से समझा जा सकता है:


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


random forest algorithm in machine learning in Hindi
random forest algorithm in machine learning in Hindi



Applications of Random Forest In Machine Learning 

मुख्य रूप से चार क्षेत्र हैं जहां यादृच्छिक वन का अधिकतर उपयोग किया जाता है:


  • बैंकिंग: बैंकिंग क्षेत्र ऋण जोखिम की पहचान के लिए ज्यादातर इस एल्गोरिथम का उपयोग करता है।
  • चिकित्सा: इस एल्गोरिथम की सहायता से रोग प्रवृत्तियों और रोग के जोखिमों की पहचान की जा सकती है।
  • भूमि उपयोग: हम इस एल्गोरिथम द्वारा समान भूमि उपयोग के क्षेत्रों की पहचान कर सकते हैं।
  • मार्केटिंग: इस एल्गोरिथम का उपयोग करके मार्केटिंग ट्रेंड की पहचान की जा सकती है।

Advantages of Random Forest

  • रैंडम फ़ॉरेस्ट वर्गीकरण और प्रतिगमन दोनों कार्यों को करने में सक्षम है।
  • यह उच्च आयामीता वाले बड़े डेटासेट को संभालने में सक्षम है।
  • यह मॉडल की सटीकता को बढ़ाता है और ओवरफिटिंग समस्या को रोकता है।

Disadvantages of Random Forest

यद्यपि यादृच्छिक वन का उपयोग वर्गीकरण और प्रतिगमन कार्यों दोनों के लिए किया जा सकता है, यह प्रतिगमन कार्यों के लिए अधिक उपयुक्त नहीं है।

random forest algorithm in machine learning python

अब हम Python का उपयोग करके Random Forest Algorithm ट्री को लागू करेंगे। इसके लिए हम उसी डेटासेट "user_data.csv" का उपयोग करेंगे, जिसका उपयोग हमने पिछले वर्गीकरण मॉडल में किया है। उसी डेटासेट का उपयोग करके, हम रैंडम फ़ॉरेस्ट क्लासिफायर की तुलना अन्य वर्गीकरण मॉडल जैसे कि डिसीजन ट्री क्लासिफायर, केएनएन, एसवीएम, लॉजिस्टिक रिग्रेशन आदि से कर सकते हैं।


कार्यान्वयन कदम नीचे दिए गए हैं:


  • डेटा प्री-प्रोसेसिंग चरण
  • रैंडम फ़ॉरेस्ट एल्गोरिथम को प्रशिक्षण सेट में फ़िट करना
  • परीक्षा परिणाम की भविष्यवाणी
  • परिणाम की परीक्षण सटीकता (भ्रम मैट्रिक्स का निर्माण)
  • परीक्षण सेट के परिणाम की कल्पना करना।

1.Data Pre-Processing Step:

प्री-प्रोसेसिंग चरण के लिए कोड नीचे दिया गया है:

  1. # importing libraries  
  2. import numpy as nm  
  3. import matplotlib.pyplot as mtp  
  4. import pandas as pd  
  5.   
  6. #importing datasets  
  7. data_set= pd.read_csv('user_data.csv')  
  8.   
  9. #Extracting Independent and dependent Variable  
  10. x= data_set.iloc[:, [2,3]].values  
  11. y= data_set.iloc[:, 4].values  
  12.   
  13. # Splitting the dataset into training and test set.  
  14. from sklearn.model_selection import train_test_split  
  15. x_train, x_test, y_train, y_test= train_test_split(x, y, test_size= 0.25, random_state=0)  
  16.   
  17. #feature Scaling  
  18. from sklearn.preprocessing import StandardScaler    
  19. st_x= StandardScaler()    
  20. x_train= st_x.fit_transform(x_train)    
  21. x_test= st_x.transform(x_test)    

उपरोक्त कोड में, हमने डेटा को प्री-प्रोसेस किया है। जहां हमने डेटासेट लोड किया है, जो इस प्रकार दिया गया है:


random forest algorithm in machine learning python
random forest algorithm in machine learning python



2. Fitting the Random Forest algorithm to the training set:

अब हम रैंडम फ़ॉरेस्ट एल्गोरिथम को प्रशिक्षण सेट में फिट करेंगे। इसे फिट करने के लिए, हम RandomForestClassifier क्लास को sklearn.ensemble लाइब्रेरी से इम्पोर्ट करेंगे। कोड नीचे दिया गया है:

  1. #Fitting Decision Tree classifier to the training set  
  2. from sklearn.ensemble import RandomForestClassifier  
  3. classifier= RandomForestClassifier(n_estimators= 10, criterion="entropy")  
  4. classifier.fit(x_train, y_train)  

उपरोक्त कोड में, क्लासिफायर ऑब्जेक्ट निम्न पैरामीटर लेता है:


  • n_estimators= रैंडम फ़ॉरेस्ट में पेड़ों की आवश्यक संख्या। डिफ़ॉल्ट मान 10 है। हम कोई भी संख्या चुन सकते हैं लेकिन ओवरफिटिंग समस्या का ध्यान रखने की आवश्यकता है।
  • मानदंड = यह विभाजन की सटीकता का विश्लेषण करने के लिए एक कार्य है। यहां हमने सूचना लाभ के लिए "एन्ट्रॉपी" ली है।


Fitting the Random Forest algorithm to the training set
Fitting the Random Forest algorithm to the training set



3. परीक्षण सेट के परिणाम की भविष्यवाणी करना

चूंकि हमारा मॉडल प्रशिक्षण सेट में फिट है, इसलिए अब हम परीक्षा परिणाम की भविष्यवाणी कर सकते हैं। भविष्यवाणी के लिए, हम एक नया भविष्यवाणी वेक्टर y_pred बनाएंगे। नीचे इसके लिए कोड है:

  1. #Predicting the test set result  
  2. y_pred= classifier.predict(x_test)  

आउटपुट:


machine learning in Hindi
 machine learning in Hindi



भविष्यवाणी वेक्टर इस प्रकार दिया गया है:


उपरोक्त भविष्यवाणी वेक्टर और परीक्षण सेट वास्तविक वेक्टर की जांच करके, हम क्लासिफायरियर द्वारा की गई गलत भविष्यवाणियों को निर्धारित कर सकते हैं।


4. Creating the Confusion Matrix

अब हम सही और गलत भविष्यवाणियों को निर्धारित करने के लिए कन्फ्यूजन मैट्रिक्स बनाएंगे। नीचे इसके लिए कोड है:

  1. #Creating the Confusion matrix  
  2. from sklearn.metrics import confusion_matrix  
  3. cm= confusion_matrix(y_test, y_pred) 

आउटपुट:


machine learning tutorial in hindi



जैसा कि हम उपरोक्त मैट्रिक्स में देख सकते हैं, 4+4= 8 गलत भविष्यवाणियां और 64+28=92 सही भविष्यवाणियां हैं।


5. Visualizing the training Set result

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

  1. from matplotlib.colors import ListedColormap  
  2. x_set, y_set = x_train, y_train  
  3. x1, x2 = nm.meshgrid(nm.arange(start = x_set[:, 0].min() - 1, stop = x_set[:, 0].max() + 1, step  =0.01),  
  4. nm.arange(start = x_set[:, 1].min() - 1, stop = x_set[:, 1].max() + 1, step = 0.01))  
  5. mtp.contourf(x1, x2, classifier.predict(nm.array([x1.ravel(), x2.ravel()]).T).reshape(x1.shape),  
  6. alpha = 0.75, cmap = ListedColormap(('purple','green' )))  
  7. mtp.xlim(x1.min(), x1.max())  
  8. mtp.ylim(x2.min(), x2.max())  
  9. for i, j in enumerate(nm.unique(y_set)):  
  10.     mtp.scatter(x_set[y_set == j, 0], x_set[y_set == j, 1],  
  11.         c = ListedColormap(('purple''green'))(i), label = j)  
  12. mtp.title('Random Forest Algorithm (Training set)')  
  13. mtp.xlabel('Age')  
  14. mtp.ylabel('Estimated Salary')  
  15. mtp.legend()  
  16. mtp.show()  


OUTPUT :- 

random forest regression
random forest regression


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


इसलिए, रैंडम फ़ॉरेस्ट क्लासिफ़ायर में, हमने 10 पेड़ लिए हैं जिन्होंने खरीदे गए चर के लिए हाँ या नहीं की भविष्यवाणी की है। क्लासिफायर ने अधिकांश भविष्यवाणियों को लिया और परिणाम प्रदान किया।


6. Visualizing the test set result

अब हम परीक्षण सेट के परिणाम की कल्पना करेंगे। नीचे इसके लिए कोड है:

  1. #Visulaizing the test set result  
  2. from matplotlib.colors import ListedColormap  
  3. x_set, y_set = x_test, y_test  
  4. x1, x2 = nm.meshgrid(nm.arange(start = x_set[:, 0].min() - 1, stop = x_set[:, 0].max() + 1, step  =0.01),  
  5. nm.arange(start = x_set[:, 1].min() - 1, stop = x_set[:, 1].max() + 1, step = 0.01))  
  6. mtp.contourf(x1, x2, classifier.predict(nm.array([x1.ravel(), x2.ravel()]).T).reshape(x1.shape),  
  7. alpha = 0.75, cmap = ListedColormap(('purple','green' )))  
  8. mtp.xlim(x1.min(), x1.max())  
  9. mtp.ylim(x2.min(), x2.max())  
  10. for i, j in enumerate(nm.unique(y_set)):  
  11.     mtp.scatter(x_set[y_set == j, 0], x_set[y_set == j, 1],  
  12.         c = ListedColormap(('purple''green'))(i), label = j)  
  13. mtp.title('Random Forest Algorithm(Test set)')  
  14. mtp.xlabel('Age')  
  15. mtp.ylabel('Estimated Salary')  
  16. mtp.legend()  
  17. mtp.show()  


random forest algorithm in machine learning
random forest algorithm in machine learning



उपरोक्त छवि परीक्षण सेट के लिए विज़ुअलाइज़ेशन परिणाम है। हम जांच सकते हैं कि ओवरफिटिंग समस्या के बिना कम से कम गलत भविष्यवाणियां (8) हैं। क्लासिफायरियर में पेड़ों की संख्या बदलने से हमें अलग-अलग परिणाम मिलेंगे।