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

पायथन में डेटा के लिए लीजेंड्रे श्रृंखला के कम से कम वर्ग फिट करें

लेजेंडर श्रृंखला के कम से कम वर्गों को डेटा में फिट करने के लिए, Pythonnumpy में Legendre.legfit() विधि का उपयोग करें। विधि निम्न से उच्च तक ऑर्डर किए गए लीजेंड्रे गुणांक लौटाती है। यदि y 2-D था, y के कॉलम k में डेटा के लिए गुणांक कॉलम k में हैं।

पैरामीटर, x एम नमूना (डेटा) बिंदुओं (x[i], y[i]) के x-निर्देशांक हैं। पैरामीटर, नमूना बिंदुओं के y-निर्देशांक हैं। समान xनिर्देशांक साझा करने वाले नमूना बिंदुओं के कई सेट y 2-D सरणी के लिए पास करके पॉलीफ़िट के लिए एक कॉल के साथ (स्वतंत्र रूप से) फ़िट हो सकते हैं जिसमें प्रति स्तंभ एक डेटा सेट होता है।

पैरामीटर, डिग्री फिटिंग बहुपद की डिग्री है। यदि deg एक एकल पूर्णांक है तो deg'th पद तक के सभी पदों को फिट में शामिल किया गया है। पैरामीटर, rcond फिट की सापेक्ष स्थिति संख्या है। सबसे बड़े एकवचन मान के सापेक्ष rcond से छोटे एकवचन मान पर ध्यान नहीं दिया जाएगा। डिफ़ॉल्ट मान लेन (x) * ईपीएस है, जहां ईपीएस प्लेटफॉर्म के फ्लोट प्रकार की सापेक्ष सटीकता है, ज्यादातर मामलों में लगभग 2e-16। पैरामीटर, पूर्ण वापसी मूल्य की प्रकृति का निर्धारण करने वाला स्विच है। जब गलत (डिफ़ॉल्ट) केवल गुणांक लौटाए जाते हैं; जब सच है, एकवचन मूल्य अपघटन से नैदानिक ​​जानकारी भी लौटा दी जाती है।

पैरामीटर, डब्ल्यू वजन हैं। यदि कोई नहीं, तो भार w[i] अवर्गीकृत अवशिष्ट y[i]- y_hat[i] पर x[i] पर लागू होता है। आदर्श रूप से वज़न को चुना जाता है ताकि उत्पादों की त्रुटियों w[i]*y[i] सभी में समान भिन्नता हो। व्युत्क्रम-विचरण भार का उपयोग करते समय, w[i] =1/sigma(y[i]) का उपयोग करें। डिफ़ॉल्ट मान कोई नहीं है।

कदम

सबसे पहले, आवश्यक पुस्तकालय आयात करें -

import numpy as np
from numpy.polynomial import legendre as L

x-निर्देशांक -

x = np.linspace(-1,1,51)

x-निर्देशांक प्रदर्शित करें -

print("X Co-ordinate...\n",x)

y-निर्देशांक -

y = x**3 - x + np.random.randn(len(x))
print("\nY Co-ordinate...\n",y)

लेजेंडर श्रृंखला के कम से कम वर्गों को डेटा में फिट करने के लिए, Pythonnumpy में Legendre.legfit() विधि का उपयोग करें। विधि निम्न से उच्च तक ऑर्डर किए गए लीजेंड्रे गुणांक लौटाती है। यदि y 2-D था, y के कॉलम k में डेटा के लिए गुणांक कॉलम k -

में हैं
c, stats = L.legfit(x,y,3,full=True)
print("\nResult...\n",c)
print("\nResult...\n",stats)

उदाहरण

import numpy as np
from numpy.polynomial import legendre as L

# The x-coordinate
x = np.linspace(-1,1,51)

# Display the x-coordinate
print("X Co-ordinate...\n",x)

# The y-coordinate
y = x**3 - x + np.random.randn(len(x))
print("\nY Co-ordinate...\n",y)

# To get the Least squares fit of Legendre series to data, use the legendre.legfit() method in Python numpy
c, stats = L.legfit(x,y,3,full=True)
print("\nResult...\n",c)
print("\nResult...\n",stats)

आउटपुट

X Co-ordinate...
  [-1.   -0.96 -0.92 -0.88 -0.84 -0.8  -0.76 -0.72 -0.68 -0.64 -0.6  -0.56
   -0.52 -0.48 -0.44 -0.4  -0.36 -0.32 -0.28 -0.24 -0.2  -0.16 -0.12 -0.08
   -0.04  0.    0.04  0.08  0.12  0.16  0.2   0.24  0.28  0.32  0.36  0.4
    0.44  0.48  0.52  0.56  0.6   0.64  0.68  0.72  0.76  0.8   0.84  0.88
    0.92  0.96  1. ]

   Y Co-ordinate...
  [-5.28795520e-02 -7.61252904e-03  7.35194215e-02 -1.33072588e-01
   -1.21785636e+00  7.75679385e-02  6.55168668e-01  1.42872448e+00
    8.42326214e-01  2.49667989e+00  9.58942508e-01 -2.67332869e-01
   -7.85575928e-01  1.93333045e+00  7.32492468e-01  5.23576961e-01
   -1.91529521e+00 -1.41434385e+00  4.44787373e-01  3.81831261e-01
    3.74128321e-01  1.20562789e+00  1.44870029e+00  1.01091575e-03
    8.94334713e-01  1.22342199e+00  9.52055370e-01 -7.29520012e-01
   -2.42648820e-01 -9.78434555e-02  1.27468237e-01  9.39489448e-01
    1.08795136e+00  2.31230197e+00  1.93107556e-02 -6.13335407e-01
    1.93170835e-01 -8.77958854e-01 -3.59868085e-01  4.31331759e-01
    7.24929856e-01 -2.22736540e-01 -1.29623093e+00  4.13226024e-01
    7.82155644e-01 -1.56618537e-01  1.25043737e+00  6.32386988e-01
   -2.75716271e-01  8.80669895e-02 -3.20225560e-01]

Result...
 [ 0.29249467 -0.10521942 -0.24847572 0.2010877 ]

Result...
 [array([39.35467561]), 4, array([1.0425003 , 1.02126704, 0.97827074, 0.95561139]), 1.1324274851176597e-14]

  1. पायथन में एक 3D सरणी का व्युत्क्रम प्राप्त करें

    3D सरणी के व्युत्क्रम की गणना करने के लिए, Python में numpy.linalg.tensorinv() विधि का उपयोग करें। परिणाम tensordot ऑपरेशन tensordot(a, b, ind), i के सापेक्ष के लिए व्युत्क्रम है। ई।, फ्लोटिंग-पॉइंट सटीकता तक, टेंसोर्डोट (टेन्सोरिनव (ए), ए, इंड) टेंसरडॉट ऑपरेशन के लिए पहचान टेंसर है। विधि एक के टेंस

  1. पायथन का उपयोग करके मॉडल में डेटा को फिट करने के लिए Tensorflow का उपयोग कैसे किया जा सकता है?

    Tensorflow का उपयोग फिट पद्धति का उपयोग करके डेटा को मॉडल में फ़िट करने के लिए किया जा सकता है। और पढ़ें: TensorFlow क्या है और Keras कैसे तंत्रिका नेटवर्क बनाने के लिए TensorFlow के साथ काम करता है? एक तंत्रिका नेटवर्क जिसमें कम से कम एक परत होती है, एक दृढ़ परत के रूप में जानी जाती है। हम लर्निं

  1. किसी दी गई श्रृंखला में सभी तत्वों को फेरबदल करने के लिए एक पायथन प्रोग्राम लिखें

    मान लें, आपके पास एक डेटाफ़्रेम है और एक श्रृंखला में सभी डेटा को शफ़ल करने का परिणाम है, The original series is 0    1 1    2 2    3 3    4 4    5 dtype: int64 The shuffled series is : 0    2 1    1 2    3 3   &nbs