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

লিনিয়ার রিগ্রেশন (Linear Regression)


প্রদত্ত ডেটা পয়েন্টের একটি সেট থেকে, লিনিয়ার রিগ্রেশন একটি সরল রেখার সমীকরণ বের করে। প্রদত্ত পয়েন্টগুলো সরল রেখাটিকে অনুসরণ করবে। এই সূত্র ব্যবহার করে, আমরা এমন কোনো নির্দিষ্ট পয়েন্টের মান প্রেডিক্ট করতে পারি যা বর্তমানে সেটে নেই।

কিছু ডেটা পয়েন্ট ব্যবহার করে লিনিয়ার রিগ্রেশন সমস্যা সমাধানের জন্য নিচের সূত্রাবলী অনুসরণ করতে হয়:

লিনিয়ার রিগ্রেশন (Linear Regression)

এখানে m এবং c যথাক্রমে ঢাল এবং y-অवरোধ। এই এক্সপ্রেশন ব্যবহার করে, আমরা সরল রেখার সমীকরণ এই রূপে পেতে পারি: y = mx + c।

ইনপুট এবং আউটপুট

ইনপুট: কিছু পয়েন্টের (x, y) কোঅর্ডিনেট। {(1,3), (2,4), (3,5), (4,6), (5,8)} আউটপুট: ঢাল: 1.2 y-অবরোধ: 1.6 সমীকরণ: y = 1.2x + 1.6

অ্যালগরিদম

linReg(coord)

ইনপুট: প্রদত্ত কোঅর্ডিনেট পয়েন্টের সেট।

আউটপুট: ঢাল m এবং y-অবরোধ c।

শুরু 
  i := 1 থেকে n পর্যন্ত, করুন 
    sumX := sumX + coord[i,0] 
    sumY := sumY + coord[i,1] 
    sumXsq := sumXsq + (coord[i,0]*coord[i,0]) 
    sumXY := sumXY + (coord[i,0] * coord[i,1]) 
  শেষ 
  m := (n * sumXY – (sumX*sumY)) / (n * sumXsq – (sumX * sumX)) 
  c := (sumY / n) – (m * sumX)/n 
শেষ

উদাহরণ

#include<iostream> #include<cmath> #define N 5 using namespace std; void linReg(int coord[N][2], float &m, float &c) {   float sx2 = 0, sx = 0, sxy = 0, sy = 0;   for(int i = 0; i<N; i++) {     sx += coord[i][0];   //x-এর যোগফল     sy += coord[i][1];  //y-এর যোগফল     sx2 += coord[i][0]*coord[i][0];     //x^2-এর যোগফল     sxy += coord[i][0]*coord[i][1];  //x*y-এর যোগফল   }   //ঢাল এবং অবরোধ নির্ণয়   m = (N*sxy-(sx*sy))/(N*sx2-(sx*sx));   c = (sy/N)-(m*sx)/N; } main() {   //এই ২ডি অ্যারে কোঅর্ডিনেট পয়েন্ট ধারণ করে   int point[N][2] = {{1,3},{2,4},{3,5},{4,6},{5,8}};   float m, c;   linReg(point, m, c);   cout << "The slope: " << m << " The Intercept: " << c << endl;   cout << "The equation: " << "y = "<< m <<"x + "<< c; }

আউটপুট

The slope: 1.2 The Intercept: 1.6 The equation: y = 1.2x + 1.6

  1. Matplotlib-এ statsmodels লিনিয়ার রিগ্রেশন (OLS) সুন্দরভাবে প্লট করার পদ্ধতি

  2. পাইথনে কোরিলেশন এবং রিগ্রেশন

  3. পাইথনে PyTorch ব্যবহার করে লিনিয়ার রিগ্রেশন

  4. রুবিতে লিনিয়ার রিগ্রেশন দিয়ে ট্রেন্ড ফোরকাস্টিং: একটি প্র্যাকটিক্যাল গাইড