वर्गीकरण नियम बनाने के लिए एल्गोरिथम


11

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

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

Item A { 4-door, small, steel } => { sedan }
Item B { 2-door, big,   steel } => { truck }
Item C { 2-door, small, steel } => { coupe }

मैं बस नियम चाहता हूं जो कहता है "अगर यह बड़ा है और 2-दरवाजा है, तो यह एक ट्रक है," नियम नहीं जो कहता है "अगर यह 4-दरवाजा है तो यह बहुत छोटा है।"

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

जवाबों:


9

क्विनलान द्वारा बनाई गई C45 भविष्यवाणी के लिए नियम का निर्माण करने में सक्षम है। इस विकिपीडिया पृष्ठ की जाँच करें । मुझे पता है कि Weka में इसका नाम J48 है। मुझे नहीं पता कि आर या पायथन में कौन से कार्यान्वयन हैं। वैसे भी, इस तरह के निर्णय वृक्ष से आपको भविष्यवाणी के नियमों का अनुमान लगाने में सक्षम होना चाहिए।

बाद में संपादित करें

इसके अलावा, आप वर्गीकरण के लिए सीधे नियमों का उल्लेख करने के लिए एल्गोरिदम में दिलचस्पी ले सकते हैं। RIPPER एक है, जिसे फिर से Weka में एक अलग नाम JRip प्राप्त हुआ। RIPPER के लिए मूल पेपर देखें: फास्ट प्रभावी नियम इंडक्शन, WW कोहेन 1995


मैंने पिछली परियोजना में C45 / J48 के साथ प्रयोग किया था। मुझे इस बात का एहसास नहीं था कि ऐसे नियम हैं जिन्हें मैं इससे पुनर्प्राप्त कर सकता हूं। मैं RIPPER भी देखूंगा। धन्यवाद!
सुपर_सबैस

इसके अलावा
R50

इस प्रश्न / उत्तर के लिए एक अद्यतन प्रदान करना चाहता था: हम कुछ सफलता के साथ JRip का उपयोग कर रहे हैं, लेकिन हमारे नए प्रमुख दावेदार हैं FURIA ( cs.uni-paderborn.de/fileadmin/Informatik/eim-is/PDFs/… )। यह मानव समीक्षा / उपयोग के लिए सर्वोत्तम नियम तैयार कर रहा है क्योंकि यह एक संपूर्ण नियम बनाने की कोशिश करता है। JRip अच्छा नियम बनाता है, लेकिन वर्गीकरण के लिए इसका "डिफ़ॉल्ट" नियम है जब कोई अन्य नियम लागू नहीं होता है। डिफॉल्ट बकेट हमारे प्रोजेक्ट के व्यावसायिक संदर्भ में अच्छी तरह से काम नहीं करते हैं, हमें संपूर्ण नियमों की आवश्यकता है।
सुपर_सबैस

7

यह वास्तव में उस से भी सरल है, जो आप वर्णन करते हैं --- आप बस एक बुनियादी वर्गीकरण ट्री एल्गोरिथ्म की तलाश कर रहे हैं (इसलिए C4.5 जैसे थोड़े अधिक जटिल वेरिएंट की कोई आवश्यकता नहीं है जो भविष्यवाणी सटीकता के लिए अनुकूलित हैं)। विहित पाठ है:

http://www.amazon.com/Classification-Regression-Wadsworth-Statistics-Probability/dp/0412048418

यह आर में आसानी से लागू होता है:

http://cran.r-project.org/web/packages/tree/tree.pdf

और अजगर:

http://scikit-learn.org/stable/modules/tree.html


मैं सहमत नहीं हूं कि पेड़ यहां मदद के हैं। यह नियमों को फ़िल्टर करने की बात है, और आर। में आरूल्स पैकेज के साथ इसे हासिल किया जा सकता है
एडेंसेंटोस


1

आप की कोशिश करनी चाहिए arules आर में पैकेज यह आप न केवल संघ के नियमों बनाने की अनुमति देता है लेकिन यह भी प्रत्येक नियम की लंबाई, प्रत्येक नियम के महत्व को निर्दिष्ट करने के लिए और भी आप उन्हें फ़िल्टर कर सकते हैं, जो कि आप के लिए क्या देख रहे (कोशिश rhs () इस पैकेज की कमांड)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.