【发布时间】:2016-08-29 11:01:00
【问题描述】:
我试图将一段代码从 Matlab 翻译成 Python,但遇到了一些错误:
Matlab:
function [beta] = linear_regression_train(traindata)
y = traindata(:,1); %output
ind2 = find(y == 2);
ind3 = find(y == 3);
y(ind2) = -1;
y(ind3) = 1;
X = traindata(:,2:257); %X matrix,with size of 1389x256
beta = inv(X'*X)*X'*y;
Python:
def linear_regression_train(traindata):
y = traindata[:,0] # This is the output
ind2 = (labels==2).nonzero()
ind3 = (labels==3).nonzero()
y[ind2] = -1
y[ind3] = 1
X = traindata[ : , 1:256]
X_T = numpy.transpose(X)
beta = inv(X_T*X)*X_T*y
return beta
我收到一个错误:无法在计算 beta 的行上将操作数与形状 (257,0,1389) (1389,0,257) 一起广播。
感谢任何帮助!
谢谢!
【问题讨论】:
-
请发布您遇到的错误。
-
@DineshPundkar 添加了错误