from numpy . linalg import inv
from numpy import dot, transpose
X = [[1, 6, 2] , [1, 8, 1] , [1, 10, 0] , [1 , 14, 2] , [1, 18, 0]]
y = [[7] , [9] , [13] , [17.5] , [18]]
print(X)
print(y)
[[1, 6, 2], [1, 8, 1], [1, 10, 0], [1, 14, 2], [1, 18, 0]]
[[7], [9], [13], [17.5], [18]]
In [8]:
print(dot(inv(dot(transpose(X) , X)) , dot(transpose(X) , y)))
[[1.1875 ]
[1.01041667]
[0.39583333]]
NumPy 库也提供了一个最小二乘函数, 它能被用来更简洁地解出参数值
In [10]:
from numpy.linalg import lstsq
print(lstsq(X,y)[0])
[[1.1875 ]
[1.01041667]
[0.39583333]]
计算给定数组中每行的最大值。
a = np.random.randint(1, 10, [5, 3])
【知识点:统计相关】
如何在二维numpy数组的每一行中找到最大值?
In [2]:
import numpy as np
np.random.seed(100)
a = np.random.randint(1, 10, [5, 3])
print(a)
[[9 9 4]
[8 8 1]
[5 3 6]
[3 3 3]
[2 1 9]]
b = np.amax(a, axis=1)
print(b)
[9 8 6 3 9]
[[9 9 4]
[8 8 1]
[5 3 6]
[3 3 3]
[2 1 9]]
[9 8 6 3 9]
In [ ]: