y_d = np.concatenate((y_train, zero2), axis = 0).reshape(-1,1) A1 = np.concatenate((A, B), axis = 0) theta_hat = np.linalg.pinv(A1) @ y_d A2 = funcs.vandermonde(x_test, 8) y_test_hat = A2 @ theta_hat y_train_hat = A @ theta_hat
时间: 2024-03-30 09:35:12 浏览: 138
数组的拼接 np.concatenate( ) np.append( )用法和区别
5星 · 资源好评率100%
这段代码的作用是使用Vandermonde矩阵拟合一个多项式函数,并得到在训练集和测试集上的预测值。
具体地,np.concatenate函数将训练集y_train和一个全零向量zero2按照列方向拼接起来,并将结果reshape为一个列向量y_d。这样做是为了在构造矩阵A1时,将训练集和测试集的数据分别放在不同的行中。
然后,使用np.concatenate函数将训练集的Vandermonde矩阵A和全零向量B按照行方向拼接起来,得到矩阵A1,其中B的大小要与测试集的Vandermonde矩阵A2的大小相同。
接着,使用np.linalg.pinv函数计算A1的伪逆矩阵,并将其与y_d相乘,得到拟合多项式的系数向量theta_hat。
最后,使用funcs.vandermonde函数计算测试集的Vandermonde矩阵A2,将其与theta_hat相乘,得到测试集上的预测值y_test_hat,将A与theta_hat相乘,得到训练集上的预测值y_train_hat。
通过这段代码,我们可以得到一个多项式函数的拟合模型,并使用该模型在训练集和测试集上进行预测。
阅读全文