线性回归和生成数据 =+
Linear Regression and Generating Data =+
我在 Jupiter notebooks 中使用 python 进行编码遇到了问题。这个问题是关于线性回归的。如下:
1:线性回归
在本笔记本中,我们将从线性函数生成数据:=+,然后使用 OLS(普通最小二乘法)和梯度下降求解 ̂。
问题 1.1:生成数据:=+
这里我们假设 ≈(,)=+ 其中 与加性噪声是线性的
您的函数应具有以下属性:
输出 y 作为 np.array 形状 (M,1)
generate_linear_y 应该适用于任意的 x、b 和 eps,只要它们的尺寸合适
不要使用 for 循环分别计算每个 y[i],因为这对于大 M 和 N 会非常慢。相反,您应该利用 numpy 线性代数。
他们希望我们这样写代码:
def generate_linear_y(X,b):
""" Write a function that generates m data points from inputs X and b
Parameters
----------
X : numpy.ndarray
x.shape must be (M,N)
Each row of `X` is a single data point of dimension N
Therefore `X` represents M data points
b : numpy.ndarray
b.shape must be (N,1)
Each element of `b` is a value of beta such that b=[[b1][b2]...[bN]]
Returns
-------
y : numpy.ndarray
y.shape = (M,1)
y[i] = X[i]b
"""
有人可以帮助我吗,因为我很困惑!我什至没有意识到我正在做的事情需要 python 中的数组编码,我一直在努力解决这个问题!请帮忙!
对我来说,这看起来像是一个直接的矩阵乘法。在 NumPy 中,这是使用 matrix multiplication operator @
(aka np.matmul
).
实现的
要生成随机噪声,您可以使用 numpy.random
, most likely random_sample
or standard_normal
. If you want to do it the most-correct way, you can create a random number generator with default_rng
中的函数,然后使用 rng.standard_normal
。
我在 Jupiter notebooks 中使用 python 进行编码遇到了问题。这个问题是关于线性回归的。如下:
1:线性回归 在本笔记本中,我们将从线性函数生成数据:=+,然后使用 OLS(普通最小二乘法)和梯度下降求解 ̂。
问题 1.1:生成数据:=+ 这里我们假设 ≈(,)=+ 其中 与加性噪声是线性的 您的函数应具有以下属性:
输出 y 作为 np.array 形状 (M,1) generate_linear_y 应该适用于任意的 x、b 和 eps,只要它们的尺寸合适 不要使用 for 循环分别计算每个 y[i],因为这对于大 M 和 N 会非常慢。相反,您应该利用 numpy 线性代数。
他们希望我们这样写代码:
def generate_linear_y(X,b):
""" Write a function that generates m data points from inputs X and b
Parameters
----------
X : numpy.ndarray
x.shape must be (M,N)
Each row of `X` is a single data point of dimension N
Therefore `X` represents M data points
b : numpy.ndarray
b.shape must be (N,1)
Each element of `b` is a value of beta such that b=[[b1][b2]...[bN]]
Returns
-------
y : numpy.ndarray
y.shape = (M,1)
y[i] = X[i]b
"""
有人可以帮助我吗,因为我很困惑!我什至没有意识到我正在做的事情需要 python 中的数组编码,我一直在努力解决这个问题!请帮忙!
对我来说,这看起来像是一个直接的矩阵乘法。在 NumPy 中,这是使用 matrix multiplication operator @
(aka np.matmul
).
要生成随机噪声,您可以使用 numpy.random
, most likely random_sample
or standard_normal
. If you want to do it the most-correct way, you can create a random number generator with default_rng
中的函数,然后使用 rng.standard_normal
。