आसान 0 हल किए गए 0% स्वीकृति

Z-Score Standardization

Center a feature at 0 and scale it to a standard deviation of 1.

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

  • Compute the mean and standard deviation
  • Center and scale a feature
  • Handle zero variance

समस्या

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

Standardization rescales a feature so it has mean 0 and standard deviation 1, which many models (and gradient descent) work best with:

z = (x - mean) / std

Use the population standard deviation: std = √(Σ(x - mean)² / n). If std is 0 (all values equal), return 0 for every value.

Implement z_scores(values).

Input

values: The values of one feature.

Output

Return the z-score of each value, in the same order.

सीमाएँ

1 ≤ length ≤ 10,000

-1,000,000 ≤ each value ≤ 1,000,000

उदाहरण

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

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

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

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

व्याख्या

The mean is 40 / 8 = 5 and the population standard deviation is √(32 / 8) = 2, so 2 → (2 - 5) / 2 = -1.5, 4 → -0.5, 5 → 0, 7 → 1 and 9 → 2. Result: [-1.5, -0.5, -0.5, -0.5, 0, 0, 1, 2].

उदाहरण 2
इनपुट:
values = [3.0, 3.0]

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

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

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

व्याख्या

Both values equal the mean, so the standard deviation is 0 and both z-scores are 0.

संदर्भ

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

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

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

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