numpy 技巧 reshape(-1,1)

在机器学习中往往把向量转化成矩阵用numpy求解,这样速度很快。
reshape(-1,1)得到一个nX1的二维矩阵(Numpy自动推断出有多少行),通常用来把一维的向量转化正二维的矩阵以便各种机器学习框架处理
eg:
from sklearn.model_selection import train_test_split中的
train_X, test_X, train_y, test_y = train_test_split(x, y, test_size=0.25, random_state=0)的x,y必须是二维的,所以用reshape(-1,1)处理

import numpy as np
from sklearn.model_selection import train_test_split

np.random.seed(0)
x = np.linspace(-10, 10, 1000)
x = x.reshape(-1, 1)
y = 0.85 * x - 0.72
#模拟误差(现实生活中的噪声)和服从正态分布(中心极限定理)
#即生成一个形状是size,标准差是1.5的一个正态分布
e = np.random.normal(scale=1.5, size=x.shape)
y += e
train_X, test_X, train_y, test_y = train_test_split(x, y, test_size=0.25, random_state=0)

发布了588 篇原创文章 · 获赞 170 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/qq_41228218/article/details/105112736
今日推荐