Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

टुपल ID प्रसार क्या है?


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

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

टुपल ID प्रसार को विशिष्ट बाधाओं के साथ लागू किया जाना चाहिए। दो मामले हैं जहां ऐसा प्रसार प्रतिकूल हो सकता है -

  • बड़े फैन-आउट के माध्यम से प्रसार

  • लंबे, कमजोर लिंक के माध्यम से प्रसार।

पहला मामला तब प्रकट होता है जब, ID को संबंध R में प्रसारित करने के बाद, यह पता चलता है कि R में प्रत्येक टुपल कुछ लक्ष्य टुपल्स के साथ जुड़ा हुआ है और प्रत्येक लक्ष्य टुपल R में कुछ टुपल्स के साथ जुड़ा हुआ है। R और लक्ष्य संबंध के बीच अर्थपूर्ण संबंध बहुत कमजोर है क्योंकि संबंध अनिर्णायक है।

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

CrossMine एक विधि है जिसे बहु-संबंधी वर्गीकरण के लिए टुपल ID प्रसार की आवश्यकता होती है। यह ID प्रसार के डेटा को बेहतर ढंग से संयोजित कर सकता है, CrossMine को नियमों के भाग के रूप में जटिल प्रिडिकेट्स की आवश्यकता होती है। एक जटिल प्रिडिकेट, p, में दो भाग शामिल हैं जो इस प्रकार हैं -

प्रोप-पथ - यह दर्शाता है कि ID कैसे प्रसारित करें। उदाहरण के लिए, पथ "Loan.account_ID → Account.account_ID" Loan से Account में account_ID का उपयोग करके ID प्रसारित करने को दर्शाता है। यदि कोई ID प्रसार शामिल नहीं है, तो प्रोप-पथ शून्य है।

बाधा - यह उस संबंध पर बाधा को दर्शाने वाला एक प्रिडिकेट है जिस पर ID प्रसारित किए जाते हैं। यह श्रेणीबद्ध या संख्यात्मक हो सकता है।

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

CrossMine नियमित रूप से सर्वोत्तम जटिल प्रिडिकेट की खोज करता है और इसे आधुनिक नियम में जोड़ता है, जब तक कि रोक मानदंड इकट्ठा नहीं हो जाता। एक संबंध सक्रिय है यदि यह वर्तमान नियम में होता है। अगले सर्वोत्तम प्रिडिकेट की खोज करने से पहले, प्रत्येक सक्रिय संबंध को अपने प्रत्येक टुपल के लिए प्रसारित IDs का IDset होना आवश्यक है।

  1. - पायथन में टपल अनपैकिंग क्या है?

    टपल अनपैकिंग पायथन की एक शक्तिशाली विशेषता है जिससे एक टपल के मानों को अलग-अलग वेरिएबल्स में एक ही स्टेटमेंट में असाइन किया जा सकता है। टपल क्या है? टपल एक इम्यूटेबल सीक्वेंस है जिसे पैरेंथेसिस ( ) में लिखा जाता है। एक बार बनाने के बाद इसके एलिमेंट्स नहीं बदले जा सकते। पैकिंग और अनपैकिंग पैकिंग:

  1. - पायथन में टुपल डिक्लेरेशन का सिंटैक्स क्या है?

    एक टुपल आइटम्स का कॉमा-सेपरेटेड सीक्वेंस होता है। सीक्वेंस को वैकल्पिक रूप से पैरेंथेसिस के अंदर रखा जा सकता है। >>> t1 = (1, Ravi, 23, 546) >>> t1 (1, Ravi, 23, 546) >>> type(t1) <class tuple> >>> t1 = 1, Ravi, 23, 546 >>> t1 (1, Ravi, 23, 546) &g

  1. - पायथन टपल बनाने का सही सिंटैक्स क्या है?

    पायथन में, टपल ऑब्जेक्ट आइटम्स का एक अपरिवर्तनीय संग्रह है, जरूरी नहीं कि एक ही प्रकार का हो। आइटम्स कॉमा से अलग किए जाते हैं और पैरेंथेसिस के अंदर रखे जाते हैं, हालांकि वे वैकल्पिक हैं।>>> T1 = (1, one, 3.45, [1,2,3])\n>>> T2 = 1, 2, 3, 4खाली टपल ऑब्जेक्ट पैरेंथेसिस के अंदर कुछ न