सभी चुनौतियाँ
मध्यम 0 हल किए गए 0% स्वीकृति

Simple Linear Regression (Least Squares)

Fit the best straight line through data points with the least squares formulas.

आप क्या सीखेंगे

  • Fit a line with closed-form formulas
  • Compute slope and intercept
  • Understand what best fit means

समस्या

अनुवाद दिखाएँ

Linear regression finds the line y = slope × x + intercept that best fits the data, meaning the sum of squared errors is as small as possible. For one input variable there is an exact formula:

  • slope = Σ(x - x̄)(y - ȳ) / Σ(x - x̄)²
  • intercept = ȳ - slope × x̄

where x̄ and ȳ are the means of xs and ys. If all xs are equal, return slope 0 and intercept ȳ.

Implement linear_regression(xs, ys).

Input

xs, ys: The x and y values of the data points (same length).

Output

Return [slope, intercept].

सीमाएँ

1 ≤ number of points ≤ 10,000

-10,000 ≤ each value ≤ 10,000

उदाहरण

उदाहरण 1
इनपुट:
xs = [1.0, 2.0, 3.0, 4.0]
ys = [3.0, 5.0, 7.0, 9.0]

अपेक्षित आउटपुट:
expected = [2.0, 1.0]
इनपुट:
std::vector<double> xs = {1.0, 2.0, 3.0, 4.0};
std::vector<double> ys = {3.0, 5.0, 7.0, 9.0};

अपेक्षित आउटपुट:
std::vector<double> expected = {2.0, 1.0};
इनपुट:
double[] xs = new double[] {1.0, 2.0, 3.0, 4.0};
double[] ys = new double[] {3.0, 5.0, 7.0, 9.0};

अपेक्षित आउटपुट:
double[] expected = new double[] {2.0, 1.0};

व्याख्या

The points lie exactly on y = 2x + 1. x̄ = 2.5, ȳ = 6, Σ(x - x̄)(y - ȳ) = 10 and Σ(x - x̄)² = 5, so slope = 2 and intercept = 6 - 2 × 2.5 = 1.

उदाहरण 2
इनपुट:
xs = [0.0, 1.0, 2.0]
ys = [1.0, 3.0, 2.0]

अपेक्षित आउटपुट:
expected = [0.5, 1.5]
इनपुट:
std::vector<double> xs = {0.0, 1.0, 2.0};
std::vector<double> ys = {1.0, 3.0, 2.0};

अपेक्षित आउटपुट:
std::vector<double> expected = {0.5, 1.5};
इनपुट:
double[] xs = new double[] {0.0, 1.0, 2.0};
double[] ys = new double[] {1.0, 3.0, 2.0};

अपेक्षित आउटपुट:
double[] expected = new double[] {0.5, 1.5};

व्याख्या

x̄ = 1 and ȳ = 2. Σ(x - x̄)(y - ȳ) = (-1)(-1) + 0 + (1)(0) = 1 and Σ(x - x̄)² = 2, so slope = 0.5 and intercept = 2 - 0.5 × 1 = 1.5.

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।