1.数学中的参数对应到程序里也就是附在每行后面括号里的数,按顺序排,一般前面的较后面的重要,或是前面的参数是后面的前提条件。
x = np.random.normal(0, 1, [1000])
y = x ** 2 + x + np.random.normal(0, 0.3, [1000])
plt.scatter(x, y)
plt.show()
2.写公式就是换个英文名、参数提出来一行。
def Cov(x1, x2):
"""协方差"""
return np.mean((x1-np.mean(x1))*(x2-np.mean(x2)))
def rho(x1, x2):
"""线性相关系数"""
return Cov(x1, x2)/np.std(x1)/np.std(x2)
def Normal(x, mu, std):
"""正态分布"""
return 1/(2*np.pi*std) * np.exp(-(x-mu)**2/(2*std**2))
3.变量保存和矩阵点乘操作
A = np.random.normal(0, 1, [2, 2])
B = np.random.normal(0, 1, [2, 2])
np.savez("AB.npz", A=A, B=B)
C = np.dot(A, B)
C = A @ B