Transcript for:
Random Forest Algorithm Overview

देरे शुद्धे, वालकुम टू किट्स मेशर्स आज की इस वीडियो में एक्सप्लेइन करने जा रहा हूँ रेंडम फॉरेस्ट एलगोरिदम और इसको मैं विद इजी एक्जांपल सब्सक्राइब बहुत जरूरी है उसका extension है, मतलब जो decision tree में थोड़ी बहुत problems थी, उसको remove करने के लिए random forest को बनाया है, नाम से पता लग रहा है, decision tree में क्या होता है, हम लोग एक data set के basis पर एक tree create करते हैं, यहाँ पर हम multiple trees को create करेंगे, और multiple decision trees को हम क्या कह सकते हैं, collection of trees क्या होते हैं, forest, jungle, तो वही चीज यहाँ पर है, कि हमने एक decision tree के basis पे decision नहीं लेना हमने multiple decision tree को create करना है और उसके basis पे final answer जो है वो predictions हम लोग करेंगे तो देखो सबसे पहली important line है कि random forest जो है या random decision forest is an ensemble learning ensemble का मतलब क्या होता है group group मतलब कि हम यहाँ पे एक decision tree के basis पे prediction या output नहीं बताएंगे multiple बंदे मिलके बताएंगे voting के basis पे जैसे सिंपल से एग्जांपल है इंडिया में अगर कोई भी बिल पास करना है कोई भी बिल अगर ड्राफ्ट किया जाता है अगर उसको पास करना है मतलब उसको लागू करना है तो आपको पता है कि लोग सभा में राजे सभा में उसको जो है उसको पर वोटिंग होती है तो मेजोर सिंगल होता है लेकिन random forest में multiple learning methodologies मिलके output मेरी generate करती है इससे फायदा क्या हुआ? इससे फायदा यह हुआ कि जो single decision tree में problem थी किसकी आपकी over fitting की वो remove हो जाती है automatically क्योंकि हम एक चीज़ के उपर rely नहीं कर रहे हैं multiple output जो है वो आ रही है और जो best होगी उन में से उसके basis पे हम लोग output जो है वो generate करेंगे तो यहाँ पे over fitting को आप simple से example से समझ सकते हो over fitting का मतलब पता है क्या होता है? कि आपने ट्रेन किया, मतलब कोई डेटा सेट था, वो अपने ट्रेन किया अपने मॉडल को, और वो ट्रेनिंग टाइम पे तो बहुत अच्छा रिजल्ट दे रहा है, मतलब बेस्ट आउटपूर्ट दे रहा है, लेकिन जैसे ही आपने टेस्ट डेटा डाला, वहाँ पे फ� सब कुछ काट के और सब कुछ बना के मसाला मेगी बना ली वो भी आपको अच्छी लगी उसके बाद आपने सोचा कि यार अंडा मेगी बनाते हैं आपने अंडा भी डाल दिये इस अब करके और उसके बाद एक और मेगी तो ये सिंपल सा फ़ड़ आए कि कई बर हम इतने ज़्यादा एट्रिबूट्स डाल देते हैं ट्रेनिंग टाइम तो best output आती है लेकिन testing time पे output जो है वो गडबड़ा जाती है तो इसलिए यह problem जो है वो random forest में नहीं आती है ज्यादा accurate predictions जो है वो करता है और यह classification regression दोनों के लिए use होता है यह बड़ा important point है generally मेरे जो है कई algorithm classification में है कई regression में है लेकिन यह classification regression दोनों में ही use हो जाता है लेकिन ज्यादा accurate अगर मैं बात करो तो classification में it gives more accurate output यह भी सारे points note करते रहना अब यहाँ पर काम कैसे करता है? सर हम कैसे बनाते हैं? तो यह decision tree मैं already करवा जो कहा हूँ हमने उसी के basis पे मतलब इसमें थोड़ा से changes है क्या? क्योंकि एक decision tree नहीं बना रहे हैं हम multiple decision tree बना रहे हैं तो सबसे पहला step क्या है? create bootstrap data from original data by randomly choosing data repetition is allowed कुछ नहीं है यार मैं आपको इस simple से example से समझाता हूँ step by step let's suppose मेरे पास एक bucket मेरे पास एक जो है वो bucket of emails है मतलब मेरे पास बहुत सारा जो है वो emails का data set है let's say example के तौर पर ले लेते हैं मेरे पास 300 examples है email के data set के ठीक है हमने क्या किया इस 300 में से 100 मैंने randomly choose कर लिया है randomly मतलब कि हमने fix नहीं करना कि यह 1 से 100 तक हमने sampling करनी है और randomly करनी है 300 में से 100 का एक सैंपल बना के चूज कर लिया उसके बाद दूसरा सैंपल फिर ले लिया 100 का लेकिन ऐसे नहीं कि direct लेना है आपने 100 का एक सैंपल ले लिया 300 में से फिर यह 100 वापिस डाल दिया इसके अंदर मतलब यह दुबारा 300 हो गया फिर उस 300 तो यह तो मैंसे एक और रेंडम ली आपने सो का सेट चूज किया फिर यह सो भी वापस डाल दिए फिर आपने रेंडम ली जो है वह एक और सो का सेट चूज कर लिया फर्क समझ में आगा रिपीटिशन है यहां पर आप बार-बार उस डाटा को वापस डाल रहे हो अदर� तो आप इस तरह के बाद बचाएं और उस प्रतिश को लें और उस प्रतिश को लें और उस प्रतिश को लें और उस प्रतिश ��ो लें और उस प्रतिश को लें और उस प्रतिश को लें और उस प्रतिश को लें और उस प्रतिश को लें और उस प्रतिश को लें और उस प्रति आपको sampleization करनी है तीन बन गए अब हमने क्या करना है एक decision tree नहीं multiple decision tree तीन decision tree बना रहे हैं और decision tree भी जब हम बनाएंगे तो ये जो so का sample आया है मेरे पास इसमें बहुत सारे attributes होंगे email के अंदर बहुत सारे attributes होते हैं sender का, recipient का ID होता है या फिर उसमें subject होता है कि कोई attachment है क्या priority है बहुत सारे उसके अंदर attributes होते हैं उन attributes में से randomly हमने कुछ attributes को choose करके एक decision tree create किया और finally मैं output calculate कर रहा हूँ based on this decision tree कि क्या ये email spam है या not spam है तो let's suppose example के तौर पे मेरे पास आया मैंने इस hundred में से एक को मैंने choose किया और उसको मैंने finalize किया कि ये क्या है spam है तीके मतलब एक particular को आपने output में लिया ये भी कह रहा है spam है ये कह रहा है not spam है मतलब है मैं multiple samples में से multiple samples में से आपने randomize attributes उठा के एक output generate की और एक output क्या आ रही है spam कोई कह रहा है spam कोई कह रहा है not spam तो आपने finalize कैसे करना output यहाँ पे finalize करना है based on majority voting आपने देखना है कि ज़्यादा voting किस के उपर आ रही है तो ज़्यादा voting spam के उपर आ रही है तो आपने output कर दी कि final ये class एक चीज़ के ऊपर rely करने के बजाए आपने ensemble learning की है multiple के ऊपर आप रिलाई कर रहे हो तो वही चीज़ यहाँ पे step wise है आपने सबसे पहले boot step मतलब वही sample randomly sample आपने generate किया उसके बाद आपने randomize decision tree create किया वह randomize decision tree भी आप particular multiple attributes में से randomly कोई भी attributes choose किये और फिर उन attributes को वापिस डाल दिया, फिर attributes choose किये, फिर वापिस डाल दिया, फिर randomize करके आपने एक decision tree create किया, और फिर multiple decision trees आपने बना के, finally voting के basis पे की ज़्यादा output क्या आ रही है, तो classification आपकी इस तरीके से होती है, अगर आपने regression में use कर रहे है, तो regression में let's suppose उसमें numeric data होता है, तो numeric में एक output दे रहा है decision tree 10, दूसरा decision tree कहा है 20, तीसरा कहा है 15, तो आप क्या करोगे, फिर तीनों का mean calculate कर लोगे, इन में से, इससे जो mean value आएगी, average आएगी, वो आपका regression में use हो जाएगा, लेकिन जादा accurate जो है, यह output देता है किसमे classification में, तो यह सारे steps जो है, वो note कर लेना, diagram आपको मैंने यहाँ पर बता दिया है, तो यह diagram जो है, वो एक तरह से क्या है, training data, training data में से sampleize कर दिया हमने, finally जो है, वो हमने एक अपने model को train कर दिया, train करने के बाद हमने क्या किया, जब मेरे models train हो गए, हमने एक एक testing इसके अंदर डाली, तो जब हमने एक एक male test डाली, तो इस इस एक mail का output क्या है? spam फिर हमने इसमें test करने के लिए एक mail डाली तो इसने बताया spam फिर हमने इसमें एक mail डाली और उसको check किया तो वो आ गया not spam या ham तो finally फिर voting के basis पे majority के basis पे हम लोग जो हैं वो calculate करते हैं कि output मेरी क्या आती है this is all about the random forest thank you