获取数据

 

X[:,0]是numpy中数组的一种写法,表示对一个二维数组,取该二维数组第一维中的所有数据,第二维中取第0个数据,直观来说,X[:,0]就是取所有行的第0个数据, X[:,1] 就是取所有行的第1个数据。

 

data = np.loadtxt(‘linear_regression_data1.txt’, delimiter=‘,’)

从txt中载入数据,delimiter参数设置分隔符。

 

np.r_[a,b]是上下连接两个矩阵,如

1
2
3
4
5
6
7
8
9
a = np.array([[1,2,3],
[4,5,6]])
b = np.arrya([[0,0,0],
[1,1,1]])
c = np.r_[a,b]
c = [[1,2,3],
[4,5,6],
[0,0,0],
[1,1,1]]

np.c_[a,b]是左右连接两个矩阵,如

1
2
3
4
5
6
7
a = np.array([[1,2,3],
[4,5,6]])
b = np.arrya([[0,0,0],
[1,1,1]])
c = np.c_[a,b]
c = [[1,2,3,0,0,0],
[4,5,6,1,1,1]]

 

处理数据

 

np.dot和*的区别:np.dot是矩阵相乘,*是矩阵对应元素相乘。

1
2
3
4
5
6
7
a = np.array([[1,2,3],
[4,5,6]])
b = np.arrya([[0,0,0],
[1,1,1]])
c = a*b
#c = [[0,0,0],
# [4,5,6]]

  

np.range(a,b)生成[a,b)的一维矩阵

1
2
xx = np.arange(5,23)
#array([ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22])

 

y.ravel()和y.flatten()

将矩阵扁平化为向量

1
2
3
4
5
6
7
8
9
10
11
from numpy import *

a = arange(12).reshape(3,4)
print(a)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(a.ravel())
# [ 0 1 2 3 4 5 6 7 8 9 10 11]
print(a.flatten())
# [ 0 1 2 3 4 5 6 7 8 9 10 11]

y.ravel():修改向量会影响原矩阵。

y.flatten():两者互不干涉。