我正在尝试创建一个代码来在 SAS 基础中运行一个简单的感知器。我想在每次迭代中打印(或存储在表中)结果和目标,但是当我尝试打印 y[i,] 时出现错误:
proc iml;
use percept; read all var{x1 X2} into X;
read all var{Y} into Y;
W={0,0}; b=0; k=0; L=nrow(X); eta=.8; o=0;
print w b k L eta;
do step = 1 to 6;
mistakes=0;
do i=1 to L;
o=(X[i, ]*W + b);
if Y[i, ]*o <= 0 then do;
W = W + eta*(Y[i, ]-o)*X[i,]`;
b = b + eta*(Y[i, ]-o)*1;
k=k+1; mistakes=mistakes+1;
print o Y[i, ] W b k mistakes;
end;
end;
end;
我得到错误:
语法错误,应为以下之一:C、COLNAME、F、FORMAT、L、LABEL、R、ROWNAME、]、|)。该选项或参数无法识别,将被忽略。
我还有其他表格可以打印目标吗?
非常感谢!