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

रैखिक प्रतिगमन (Linear Regression)


परिचय

दिए गए डेटा बिंदुओं के एक सेट से, रैखिक प्रतिगमन एक सीधी रेखा का समीकरण ढूंढता है। दिए गए बिंदु उस सीधी रेखा का अनुसरण करेंगे। इस सूत्र का उपयोग करके, हम किसी अन्य विशिष्ट बिंदु के लिए मान का पूर्वानुमान लगा सकते हैं, जो वर्तमान में सेट में मौजूद नहीं है।

कुछ डेटा बिंदुओं का उपयोग करके रैखिक प्रतिगमन समस्याओं को हल करने के लिए, हमें इन सूत्रों का पालन करना होगा:

रैखिक प्रतिगमन (Linear Regression)

यहाँ m और c क्रमशः ढलान और y-अवरोधन हैं। इन व्यंजकों का उपयोग करके, हम सीधी रेखा का समीकरण इस रूप में प्राप्त कर सकते हैं: y = mx + c।

इनपुट और आउटपुट

इनपुट: कुछ बिंदुओं के (x, y) निर्देशांक। {(1,3), (2,4), (3,5), (4,6), (5,8)}
आउटपुट: ढलान: 1.2, अवरोधन: 1.6, समीकरण: y = 1.2x + 1.6

एल्गोरिदम

linReg(coord)
इनपुट: दी गई निर्देशांक बिंदुओं का सेट
आउटपुट: ढलान m और y-अवरोधन c

Begin
    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])
    done
    m := (n * sumXY – (sumX*sumY)) / (n * sumXsq – (sumX * sumX))
    c := (sumY / n) – (m * sumX)/n
End

उदाहरण (C++ कोड)

#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;
}

int main() {
    // यह 2D सरणी निर्देशांक बिंदुओं को धारण करती है
    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. पायथन में सहसंबंध और रिग्रेशन पायथन में सहसंबंध और रिग्रेशन

    सहसंबंध दो डेटा सेट के बीच निर्भरता वाले कुछ सांख्यिकीय संबंधों को संदर्भित करता है। जबकि रैखिक प्रतिगमन एक रैखिक दृष्टिकोण है जो एक आश्रित चर और एक या अधिक स्वतंत्र चर के बीच संबंध स्थापित करता है। एकल स्वतंत्र चर को रैखिक प्रतिगमन कहा जाता है जबकि एकाधिक स्वतंत्र चर को बहु प्रतिगमन कहा जाता है। स

  1. पायटॉर्च (PyTorch) का उपयोग करके रैखिक प्रतिगमन पायटॉर्च (PyTorch) का उपयोग करके रैखिक प्रतिगमन

    रैखिक प्रतिगमन के बारे में सरल रैखिक प्रतिगमन की मूल बातें दो सतत चरों के बीच संबंध को समझने की अनुमति देता है। उदाहरण: x = स्वतंत्र चर वजन y = आश्रित चर ऊंचाई y = αx + β आइए एक प्रोग्राम के माध्यम से सरल रैखिक प्रतिगमन को समझते हैं: # सरल रैखिक प्रतिगमन import numpy as np import matplot

  1. रूबी में लीनियर रिग्रेशन के साथ रुझानों का पूर्वानुमान: एक व्यावहारिक गाइड रूबी में लीनियर रिग्रेशन के साथ रुझानों का पूर्वानुमान: एक व्यावहारिक गाइड

    हमारे द्वारा किए जाने वाले कई विकल्प संख्यात्मक संबंधों के इर्द-गिर्द घूमते हैं। हम कुछ खाद्य पदार्थ खाते हैं क्योंकि विज्ञान कहता है कि वे हमारे कोलेस्ट्रॉल को कम करते हैं हम अपनी शिक्षा आगे बढ़ाते हैं क्योंकि हमारे वेतन में वृद्धि होने की संभावना है हम उस पड़ोस में एक घर खरीदते हैं जिसका हमें वि