Given a vector of real numbers r = (r1, r2, . . ., rn) We can standardize the vector using the formulation: v₂ = ****, where m is the mean of the vector r, and s is the standard deviation of r. The vector v = (v1, V2, … .., Un) will be the scaled vector. Write a Python function scale_vec(r) that takes the vector r as input and returns the scaled vector v. Sample inputs and outputs: • Input: np. array([1, 3, 5]), output: [-1.22474487 0. 1.22474487] • Input: np.array([3.3, 1.2, -2.7, −0.6]), output: [1.35457092 0.40637128 -1.35457092 -0.40637128] Hint: Use numpy.mean and numpy.std with default parameters. # Write your function here Let's test your function.
![Given a vector of real numbers r = (r1, r2, ..., rm). We can standardize the vector using the formulation: vi = "im, where m
ri-m
is the mean of the vector r, and s is the standard deviation of r. The vector v = (v1, v2, ..., Un) will be the scaled vector.
Write a Python function scale_vec (r) that takes the vector r as input and returns the scaled vector v.
Sample inputs and outputs:
● Input: np.array([1, 3, 5]), output: [-1.22474487 0. 1.22474487]
• Input: np. array([3.3, 1.2, -2.7, -0.6]), output: [1.35457092 0.40637128 -1.35457092
-0.40637128]
Hint: Use numpy.mean and numpy.std with default parameters.
# Write your function here.
Let's test your function.
[ ] import numpy as np
print (scale_vec (np.array([1, 3, 5])))
print (scale_vec (np.array([3.3, 1.2, -2.7, -0.6])))](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F9b63d5f0-a313-4df7-92fd-2acb696a8a17%2Fd0e69991-c8fe-4acd-9c84-20842a4fdfe1%2Fhb1npy_processed.png&w=3840&q=75)

Standardization involves transforming a dataset so that it has a mean of 0 and a standard deviation of 1. To achieve this, we use a formula: `vi = (ri - m) / s`, where `vi` is the standardized value, `ri` is the original value, `m` is the mean of the dataset, and `s` is the standard deviation of the dataset.
To streamline this process in Python, we can create a `scale_vec` function that takes a vector of real numbers as input and returns a scaled vector following the standardization formula. This function utilizes the `numpy` library, which provides convenient tools for numerical operations, including computing means and standard deviations.
Let's examine this further with a couple of examples:
1. Input: `[1, 3, 5]`
- The mean (`m`) of the vector is `3.0`, and the standard deviation (`s`) is approximately `1.63299`.
- Applying the standardization formula, we get:
- `v1 = (1 - 3.0) / 1.63299 ≈ -1.22474487`
- `v2 = (3 - 3.0) / 1.63299 ≈ 0.0`
- `v3 = (5 - 3.0) / 1.63299 ≈ 1.22474487`
- The scaled vector is `[-1.22474487, 0.0, 1.22474487]`.
2. Input: `[3.3, 1.2, -2.7, -0.6]`
- The mean (`m`) of the vector is `0.3`, and the standard deviation (`s`) is approximately `2.747726`.
- Applying the standardization formula, we get:
- `v1 = (3.3 - 0.3) / 2.747726 ≈ 1.35457092`
- `v2 = (1.2 - 0.3) / 2.747726 ≈ 0.40637128`
- `v3 = (-2.7 - 0.3) / 2.747726 ≈ -1.35457092`
- `v4 = (-0.6 - 0.3) / 2.747726 ≈ -0.40637128`
- The scaled vector is `[1.35457092, 0.40637128, -1.35457092, -0.40637128]`.
By creating and utilizing the `scale_vec` function, we can efficiently standardize vectors of real numbers, which is a fundamental step in various data analysis and machine learning tasks.
Step by step
Solved in 3 steps









