কম্পিউটার

লিনিয়ার রিগ্রেশন গণনা করার জন্য সি প্রোগ্রাম


সমস্যা

লিনিয়ার রিগ্রেশন অ্যালগরিদম বাস্তবায়নের জন্য একটি প্রোগ্রাম লিখুন।

ব্যবহারকারীকে মোট মান সন্নিবেশ করতে হবে।

সমাধান

সি প্রোগ্রামিং ল্যাঙ্গুয়েজে লিনিয়ার রিগ্রেশন গণনা করার সমাধান হল −

রৈখিক রিগ্রেশন পর্যবেক্ষণ করা ডেটার সাথে একটি রৈখিক সমীকরণ সংযুক্ত করে দুটি ভেরিয়েবলের মধ্যে সম্পর্ক খুঁজে পায়। একটি পরিবর্তনশীল একটি ব্যাখ্যামূলক পরিবর্তনশীল হতে হবে, এবং অন্যটি একটি নির্ভরশীল পরিবর্তনশীল।

লিনিয়ার রিগ্রেশন সম্পর্কিত যুক্তি নীচে ব্যাখ্যা করা হয়েছে −

for(i=0;i<n;i++){
   printf("enter values of x and y");
   scanf("%f%f",&x,&y);
   sumx=sumx+x;
   sumxsq=sumxsq+(x*x);
   sumy=sumy+y;
   sumxy=sumxy+(x*y);
}

d=n*sumxsq-sumx*sumx;
m=(n*sumxy-sumx*sumy)/d;
c=(sumy*sumxsq-sumx*sumxy)/d;

অবশেষে, m এবং c প্রিন্ট করুন।

উদাহরণ

রৈখিক রিগ্রেশন গণনা করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল −

#include<math.h>
#include<stdio.h>
main(){
   int n,i;
   float x,y,m,c,d;
   float sumx=0,sumxsq=0,sumy=0,sumxy=0;
   printf("enter the number of values for n:");
   scanf("%d",&n);
   for(i=0;i<n;i++){
      printf("enter values of x and y");
      scanf("%f%f",&x,&y);
      sumx=sumx+x;
      sumxsq=sumxsq+(x*x);
      sumy=sumy+y;
      sumxy=sumxy+(x*y);
   }
   d=n*sumxsq-sumx*sumx;
   m=(n*sumxy-sumx*sumy)/d;
   c=(sumy*sumxsq-sumx*sumxy)/d;
   printf("M=%f\tC=%f\n",m,c);
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

enter the number of values for n:5
enter values of x and y1 5
enter values of x and y2 6
enter values of x and y2 4
enter values of x and y3 7
enter values of x and y1 1
M=2.000000 C=1.000000

  1. সি প্রোগ্রাম লিঙ্ক করা তালিকার দৈর্ঘ্য খুঁজে বের করতে

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

  3. পাইথন প্রোগ্রামে রৈখিক অনুসন্ধান

  4. PyTorch ব্যবহার করে লিনিয়ার রিগ্রেশন?