न्यूमपी कम से कम वर्ग

N Yumapi Kama Se Kama Varga



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

पायथन lstsq () के तरीकों में से एक का उपयोग ज्ञात रैखिक समीकरण ax=b की प्रतिगमन रेखा को खोजने के लिए किया जाता है जो इस समीकरण के साथ सबसे उपयुक्त है। इसका मतलब है कि आपको उस रेखा का निर्धारण करना होगा जो x और y बिंदुओं के बीच संबंध को ठीक से दिखाती है यदि आपका डेटा इंगित करता है कि एक है। दोनों बिंदुओं के बीच की रेखा को समाश्रयण रेखा के रूप में जाना जाता है जब इस समीकरण के माध्यम से सबसे छोटा वर्ग खोजने के लिए इसका उपयोग किया जाता है, ax=b.

वाक्य - विन्यास:

आइए linalg.lstsq() फ़ंक्शन की कार्यान्वयन शैली सीखना शुरू करें। सबसे पहले, हम लाइब्रेरी का नाम लिखते हैं जिसका उपयोग हम पायथन में करते हैं जो कि 'numpy' है। फिर, हम linalg () फ़ंक्शन को जोड़ते हैं और lstsq () फ़ंक्शन को जोड़ते हैं। लिनालग () फ़ंक्शन का अर्थ रैखिक बीजगणित है। यह हमेशा lstq() फ़ंक्शन के साथ प्रयोग किया जाता है क्योंकि यह एक रैखिक बीजीय व्यंजक है। इसके बाद, हम फ़ंक्शन ब्रैकेट में तर्कों को पास करते हैं।









पैरामीटर:

आइए linalg.lstsq() फ़ंक्शन के मापदंडों को समझते हैं:



बिंदु 1: यह गुणांक मैट्रिक्स है।





बिंदु 2: इस मैट्रिक्स या सरणी में आश्रित चर होते हैं।

रैंड: इसका डेटाटाइप फ्लोट है। rcond अनुपात बिंदु_1 के छोटे एकवचन मानों के लिए कट-ऑफ के रूप में कार्य करता है। यदि एक विलक्षण मान बिंदु_1 के सबसे बड़े एकवचन तत्व के rcond गुणा से कम है, तो इसे रैंक निर्धारित करते समय शून्य माना जाता है।



प्रतिलाभ की मात्रा:

बदले में, हमें समीकरण ax=b में ज्ञात चर x का सबसे छोटा वर्ग मिलता है।

उदाहरण 1:

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

पैकेज आयात करने के बाद, हम कोड की वास्तविक पंक्ति लिखना शुरू करते हैं जो हम करना चाहते हैं। हम पहले संदेशों को प्रिंट करते हैं ताकि उपयोगकर्ता आसानी से समझ सके कि हम प्रिंट () स्टेटमेंट का उपयोग करके उदाहरण में क्या कर रहे हैं। हम सरणी () फ़ंक्शन का उपयोग करके एक-आयामी सरणी 'ए' बनाते हैं और फिर प्रिंट () स्टेटमेंट को कॉल करके इसे प्रिंट करते हैं। फिर, हम सरणी () फ़ंक्शन का उपयोग करके एक और एक-आयामी सरणी 'बी' बनाते हैं और इसे प्रिंट () फ़ंक्शन का उपयोग करके प्रिंट करते हैं।

आयात Numpy जैसा जैसे

प्रिंट ( 'न्यूमपी में कम से कम वर्ग विधि का कार्यान्वयन:' )

= जैसे सरणी ( [ 1 , दो , 1 , 1 , 1 , दो , दो , 1 , 1 ] )

प्रिंट ( ' \एन ऐरे ए है: ' , )

बी = जैसे सरणी ( [ 4 , 3 , 5 , 4 , दो , 3 , 6 , 3 , दो ] )

प्रिंट ( ' \एन ऐरे बी है: ' , बी )

एक्स = जैसे अलसी का बीज . एलएसटीक्यू ( जैसे विस्टैक ( [ , जैसे लोगों ( केवल ( ) ) ] ) . टी , बी , रकोंडो = कोई भी नहीं ) [ 0 ]

प्रिंट ( ' \एन सबसे छोटा वर्ग है: ' , एक्स )

ए और बी दोनों बिंदुओं के निर्माण के बाद, हम lstsq () फ़ंक्शन को लागू करते हैं। लेकिन पहले, हम 'ए' के तत्वों को अनुक्रम-वार स्टैक करने के लिए vstack () फ़ंक्शन का उपयोग करते हैं। फिर, हम सरणी 'ए' का स्थानान्तरण करते हैं। फिर, हम vstack () फ़ंक्शन को lstsq () फ़ंक्शन के पहले तर्क के रूप में पास करते हैं। दूसरा तर्क 'बी' सरणी है और तीसरा तर्क 'rcond' है जिसमें हम rcond के मान को 'कोई नहीं' के रूप में सेट करते हैं। फिर, हम पूरे फ़ंक्शन को 'x' नामक एक अन्य सरणी में संग्रहीत करते हैं जो दर्शाता है कि यह ज्ञात चर रैखिक समीकरण, ax=b है। इसके बाद, हम परिणाम प्रदर्शित करते हैं इसलिए हम इसके लिए प्रिंट () कथन का उपयोग करते हैं और इसमें 'x' सरणी पास करते हैं।

उदाहरण 2:

अब, NumPy कम से कम वर्गों का एक और उदाहरण लागू करना शुरू करते हैं। हम हमेशा लाइब्रेरी को पहले आयात करते हैं जिसका उपयोग हम प्रोग्राम में करते हैं जो कि NumPy है। सबसे पहले, हम प्रोग्राम में पैकेज प्राप्त करने के लिए कीवर्ड 'आयात' लिखते हैं। हम पैकेज का नाम भी लिखते हैं जो 'numpy' है और फिर उसका उपनाम, 'np' है। फिर, हम प्रिंट () विधि को कॉल करते हैं ताकि हम उपयोगकर्ता की बेहतर समझ के लिए कम से कम वर्गों के रिटेबल संदेश प्रदर्शित कर सकें।

फिर, हम सरणी नाम 'x_axis' बनाते हैं और इसमें सरणी () फ़ंक्शन का उपयोग करके सरणी को संग्रहीत करते हैं। फिर, हम इसे प्रिंट () विधि का उपयोग करके प्रिंट करते हैं। फिर, हम एक और सरणी नाम 'y_axis' बनाते हैं और उसमें उस सरणी को संग्रहीत करते हैं जिसे हमने निम्नलिखित चित्रण में बनाया है।

दोनों सरणियाँ बनाने के बाद, हम x_axis सरणी पर वाले () विधि को लागू करते हैं और इसे 'array_a' नामक एक अन्य सरणी में संग्रहीत करते हैं। और फिर, हम इस ऐरे को प्रिंट भी करते हैं। हम 'arg_reg_line' नामक एक और सरणी बनाते हैं और उस पर एक linalg.lstsq() फ़ंक्शन लागू करते हैं। फिर, हम इस फ़ंक्शन के लिए पैरामीटर पास करते हैं ताकि हम दो सरणियों या बिंदुओं के बीच कम से कम वर्ग प्राप्त कर सकें। पहला पैरामीटर यह है कि हम array_a का स्थानान्तरण करते हैं। दूसरा पैरामीटर दूसरा बिंदु है जो y_axis है। फिर, हमारे पास 'rcond' है जिसमें 'कोई नहीं' मान होता है। फिर हम प्रिंट () विधि का उपयोग करके सरणी प्रदर्शित करते हैं।

आयात Numpy जैसा जैसे

प्रिंट ( 'linalg.lstsq() फ़ंक्शन का कार्यान्वयन:' )

x_अक्ष = जैसे अरेंज ( 0 , 10 )

प्रिंट ( ' \एन x अक्ष का मान हैं: ' , x_अक्ष )

y_axis = [ 10.3 , 10.5 , ग्यारह , 11.5 , 13.2 , 13.9 , 14 , 15.5 , 16.6 , 17 ]

प्रिंट ( ' \एन y अक्ष का मान हैं: ' , y_axis )

array_a = जैसे सरणी ( [ x_अक्ष , जैसे लोगों ( 10 ) ] )

प्रिंट ( ' \एन सरणी है: \एन ' , array_a )

arg_reg_line = जैसे अलसी का बीज . एलएसटीक्यू ( सरणी_ए. टी , y_axis , रकोंडो = कोई भी नहीं ) [ 0 ]

प्रिंट ( ' \एन प्रतिगमन रेखा के पैरामीटर हैं: ' , arg_reg_line )

reg_line = arg_reg_line [ 0 ] * x_axis + arg_reg_line [ 1 ]

आयात मैटप्लोटलिब। पायप्लॉट जैसा पठार

पीएलटी भूखंड ( x_अक्ष , reg_line , 'आर-' )

पीएलटी भूखंड ( x_अक्ष , y_axis , 'ओ' )

पीएलटी शीर्षक ( 'रैखिक प्रतिगमन रेखा' )

पीएलटी एक्सलेबल ( 'एक्स-एक्सिस' )

पीएलटी येलेबल ( 'वाई-एक्सिस' )

पीएलटी प्रदर्शन ( )

प्रीविओल्सी-कार्यान्वित उदाहरण का आउटपुट यहां दिया गया है:

हम NumPy का एक और पैकेज आयात करते हैं जो कि 'matplotlib' पैकेज है जिसका उपयोग ग्राफ़ को प्लॉट करने के लिए किया जाता है। फिर, हम x_axis मानों और y_axis_values ​​को प्लॉट करते हैं। अगला, हम ग्राफ़ का शीर्षक और लेबल सेट करते हैं। अंत में, हम शो () विधि का उपयोग करके ग्राफ प्रदर्शित करते हैं।

यहां दिए गए उदाहरण का वांछित ग्राफ है:

निष्कर्ष

इस लेख में, हमने सीखा कि सबसे छोटा वर्ग क्या है और हम रैखिक समीकरण ax=b का उपयोग करके अज्ञात चर x का linalg.lstsq() कैसे प्राप्त करते हैं। हमने कम से कम वर्गों को खोजने के लिए NumPy के कई कार्यों का उपयोग किया और उपयोगकर्ता की बेहतर समझ के लिए विस्तृत स्पष्टीकरण के साथ कुछ उदाहरणों को लागू किया।