यह एक व्यापक रूप से उपयोग किया जाने वाला नियम प्रेरण एल्गोरिदम है जिसे RIPPER कहा जाता है। यह एल्गोरिदम प्रशिक्षण उदाहरणों की संख्या के साथ लगभग रैखिक रूप से स्केल करता है और असंतुलित कक्षा वितरण वाले डेटा सेट से मॉडल बनाने के लिए विशेष रूप से उपयुक्त है। RIPPER शोर डेटा सेट के साथ भी अच्छा काम करता है क्योंकि यह मॉडल ओवरफिटिंग को रोकने के लिए एक सत्यापन सेट का उपयोग करता है।
RIPPER बहुमत कक्षा को अपनी डिफ़ॉल्ट कक्षा के रूप में चुनता है और अल्पसंख्यक कक्षा की पहचान के लिए नियमों को समझता है। बहुकक्षा समस्याओं के लिए, कक्षाओं को उनकी आवृत्तियों के अनुसार क्रमबद्ध किया जाता है।
मान लें कि (y₁, y₂, ... y_c) क्रमबद्ध कक्षाएं हैं, जहां y₁ सबसे कम बारंबारता वाली कक्षा है और y_c सबसे अधिक बारंबारता वाली कक्षा है। पहली पुनरावृत्ति के दौरान, y₁ से संबंधित उदाहरणों को सकारात्मक उदाहरणों के रूप में लेबल किया जाता है, जबकि अन्य कक्षाओं से संबंधित उदाहरणों को नकारात्मक उदाहरणों के रूप में लेबल किया जाता है।
अनुक्रमिक कवरिंग दृष्टिकोण का उपयोग सकारात्मक और नकारात्मक उदाहरणों के बीच भेदभाव करने वाले नियमों को उत्पन्न करने के लिए किया जा सकता है। अगला, RIPPER उन नियमों को निकालता है जो y₂ को अन्य शेष कक्षाओं से अलग करते हैं। यह प्रक्रिया तब तक दोहराई जाती है जब तक हम y_c के साथ नहीं रह जाते जिसे डिफ़ॉल्ट कक्षा के रूप में नामित किया जाता है।
RIPPER एक नियम को बढ़ाने के लिए सामान्य-से-विशिष्ट विधि का उपयोग करता है और नियम पूर्ववर्ती में डाले जाने के लिए सर्वश्रेष्ठ संयोजक का चयन करने के लिए FOIL के सूचना लाभ माप का उपयोग करता है। यह संयोजक डालना बंद कर देता है जब नियम नकारात्मक उदाहरणों को कवर करना शुरू कर देता है।
नए नियम को सत्यापन सेट पर इसके कार्यान्वयन के आधार पर प्रून किया जाता है। निम्नलिखित मीट्रिक की गणना यह निर्धारित करने के लिए की जाती है कि क्या प्रूनिंग आवश्यक है - (p - n) / (p + n), जहां p (n) सत्यापन सेट में नियम द्वारा कवर किए गए सकारात्मक (नकारात्मक) उदाहरणों की संख्या है।
यह मीट्रिक सत्यापन सेट पर नियम की सटीकता से नीरस रूप से संबंधित है। यदि प्रूनिंग के बाद मीट्रिक में सुधार होता है, तो संयोजक को हटा दिया जाता है। प्रूनिंग नियम में डाले गए अंतिम संयोजक से शुरू होकर पूरी की जाती है। उदाहरण के लिए, नियम ABCD → y दिए जाने पर, RIPPER जांचता है कि क्या D को पहले प्रून किया जाना चाहिए, उसके बाद CD, BCD, आदि। जबकि प्रारंभिक नियम केवल सकारात्मक उदाहरणों को कवर करता है, प्रून किया गया नियम प्रशिक्षण सेट में कुछ नकारात्मक उदाहरणों को कवर कर सकता है।
एक नियम बनाने के बाद, नियम द्वारा कवर किए गए कुछ सकारात्मक और नकारात्मक उदाहरणों को हटा दिया जाता है। नियम को तब नियमसेट में जोड़ा जाता है जब तक कि यह रोकने की शर्त का उल्लंघन नहीं करता, जो न्यूनतम विवरण लंबाई सिद्धांत पर आधारित है।
यदि नया नियम नियम सेट की कुल प्रतिनिधित्व लंबाई को न्यूनतम d बिट्स से सुधारता है, तो RIPPER अपने नियम सेट में नियम डालना बंद कर देता है (डिफ़ॉल्ट रूप से, d को 64 बिट्स चुना जाता है)। RIPPER द्वारा उपयोग की जाने वाली एक और रोकने की शर्त यह है कि सत्यापन सेट पर नियम की त्रुटि दर 50% से अधिक नहीं होनी चाहिए। RIPPER यह तय करने के लिए अधिक अनुकूलन चरण लागू करता है कि क्या नियम सेट में कई मौजूदा नियमों को बेहतर वैकल्पिक नियमों द्वारा प्रतिस्थापित किया जा सकता है।