rng = np.random.RandomState(42)
X = rng.uniform(0, 5, 100)
X = X[:, np.newaxis] #把行向量转化为了列向量
y = np.array(X[:, 0] > 2.5, dtype=int) #
等价于:
rng = np.random.RandomState(42)
X = rng.uniform(0, 5, [100,1])
X = X[:, np.newaxis]
y = np.array(X[:, 0] > 2.5, dtype=int)
验证一下:
>>> import numpy as np
>>> rng = np.random.RandomState(42)
>>> X = rng.uniform(0,5,5)
>>> print(X)
[1.87270059 4.75357153 3.65996971 2.99329242 0.7800932 ]
>>> print(X[:,np.newaxis])
[[1.87270059]
[4.75357153]
[3.65996971]
[2.99329242]
[0.7800932 ]]
如果需要扩充数据的维度,可以用np.newaxis,验证:
>>> X = rng.uniform(1,5,3)
>>> print(X[:,np.newaxis,np.newaxis])
[[[1.08233798]]
[[4.87963941]]
[[4.32977056]]]