কম্পিউটার টিউটোরিয়াল

পাইথনে ডেটার সাথে লাগের সিরিজের লিস্ট স্কয়ার ফিট পান

ডেটার সাথে লাগের সিরিজের লিস্ট স্কয়ার ফিট পেতে, পাইথন নাম্পাই-এ laguerre.lagfit() মেথডটি ব্যবহার করুন। এই পদ্ধতিটি কম থেকে উচ্চ ক্রমে সাজানো লাগের সহগগুলো ফেরত দেয়। যদি y 2-D হয়, তবে y-র কলাম k-র ডেটার জন্য সহগগুলো কলাম k-তে থাকে।

প্যারামিটার x হল M স্যাম্পল (ডেটা) পয়েন্টের x-কোঅর্ডিনেট (x[i], y[i])। প্যারামিটার y হল স্যাম্পল পয়েন্টের y-কোঅর্ডিনেট। একই x-কোঅর্ডিনেট শেয়ার করা একাধিক স্যাম্পল পয়েন্ট সেট এক কললে পলিফিট-এ পাস করে স্বতন্ত্রভাবে ফিট করা যেতে পারে, y-র জন্য একটি 2-D অ্যারে পাস করে যাতে প্রতি কলামে একটি ডেটা সেট থাকে।

প্যারামিটার deg হল ফিটিং পলিনোমিয়ালের ডিগ্রি(সমূহ)। যদি deg একটি একক পূর্ণসংখ্যা হয়, তবে deg-वें পদ পর্যন্ত সমস্ত পদ ফিটে অন্তর্ভুক্ত থাকে। প্যারামিটার rcond হল ফিটের আপেক্ষিক কন্ডিশন নম্বর। রিলেটিভভাবে সবচেয়ে বড় সিংগুলার ভ্যালুর চেয়ে ছোট সিংগুলার ভ্যালুগুলো উপেক্ষা করা হবে। ডিফল্ট মান হল len(x)*eps, যেখানে eps হল প্ল্যাটফর্মের ফ্লোট টাইপের আপেক্ষিক প্রিসিশন, অধিকাংশ ক্ষেত্রে প্রায় 2e-16।

প্যারামিটার full হল রিটার্ন ভ্যালুর প্রকৃতি নির্ধারণকারী স্যুইচ। যখন False (ডিফল্ট) শুধু সহগগুলো ফেরত দেওয়া হয়; যখন True, সিংগুলার ভ্যালু ডিকম্পোজিশন থেকে ডায়াগনস্টিক তথ্যও ফেরত দেওয়া হয়। প্যারামিটার w হল ওজন। যদি None না হয়, তবে ওজন w[i] x[i]-এ অবশিষ্ট y[i] - y_hat[i]-কে প্রযোজ্য। আদর্শভাবে ওজনগুলো এভাবে বেছে নেওয়া উচিত যাতে প্রোডাক্ট w[i]*y[i]-এর ত্রুটিগুলোর একই ভ্যারিয়েন্স থাকে। ইনভার্স-ভ্যারিয়েন্স ওজনন ব্যবহার করার সময়, w[i] = 1/sigma(y[i]) ব্যবহার করুন। ডিফল্ট মান None।

ধাপসমূহ

  1. প্রয়োজনীয় লাইব্রেরি আমদানি করুন:
    import numpy as np
    from numpy.polynomial import laguerre as L
  2. x-কোঅর্ডিনেট:
    x = np.linspace(-1, 1, 51)
  3. x-কোঅর্ডিনেট প্রদর্শন করুন:
    print("X Co-ordinate...\n", x)
  4. y-কোঅর্ডিনেট:
    y = x**3 - x + np.random.randn(len(x))
    print("\nY Co-ordinate...\n", y)
  5. লিস্ট স্কয়ার ফিট পান:
    c, stats = L.lagfit(x, y, 3, full=True)
    print("\nফলাফল...\n", c)
    print("\nফলাফল...\n", stats)

সম্পূর্ণ উদাহরণ

import numpy as np
from numpy.polynomial import laguerre 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)

# লিস্ট স্কয়ার ফিট পান
c, stats = L.lagfit(x, y, 3, full=True)
print("\nফলাফল...\n", c)
print("\nফলাফল...\n", stats)

আউটপুট

X Co-ordinate...   [-1.  -0.96 -0.92 ... 0.96  1. ]
Y Co-ordinate...   [ 2.60011413  0.59715605 ...  1.10442549]
ফলাফল...   [ 11.2805293 -36.35804353  36.47911284 -11.65554029]
ফলাফল...   [array([43.46828156]), 4, array([1.88377481, 0.66402594, 0.10220349, 0.00405509]), 1.1324274851176597e-14]
  1. পাইথনে ডেটার সাথে পলিনোমিয়ালের লিস্ট-স্কোয়ার ফিট পানো

  2. পাইথনে 3D অ্যারের ইনভার্স নির্ণয়

  3. পাইথনে টেনসরফ্লো দিয়ে ডেটা মডেলে ফিট (fit) করা

  4. প্রদত্ত সিরিজের সকল উপাদান শাফল (shuffle) করার পাইথন প্রোগ্রাম লিখুন