对不起,如果这个问题看起来很奇怪。我必须在课堂上使用MATLAB作为一个项目,而且我的编程背景很少。我试图随机扰动图表中的点,以便我得到一个更干净的。我当前的图表如下所示:
我使用以下代码:
figure; hold on;
plot(XTest(yTest==1, 1), XTest(yTest==1, 2), '+');
plot(XTest(yTest==0, 1), XTest(yTest==0, 2), 'o');
slope = -w(1)/w(2);
intercept = gamm/ w(2);
refline(slope, intercept);
xlabel(sprintf('Feature %i', bestFeatures(1)));
ylabel(sprintf('Feature %i', bestFeatures(2)));
legend('Malignant test examples', 'Benign test examples');
title('Test set classification results');
XTest是由自定义函数生成的28x30值的矩阵,YTest是1x或0s的28x1矩阵。
我想通过从[-.05,.05]上的均匀分布中抽取的随机变量扰乱每个x和y分量,但我不知道如何做到这一点。非常感谢帮助!
编辑:我尝试了以下代码:
% + plots
x1 = (rand*0.1-0.05) * XTest(yTest==1, 1);
y1 = (rand*0.1-0.05) * XTest(yTest==1, 2);
% o plots
x2 = (rand*0.1-0.05) * XTest(yTest==0, 1);
y2 = (rand*0.1-0.05) * XTest(yTest==0, 2);
plot(x1, y1, '+');
plot(x2, y2, 'o');
slope = -w(1)/w(2);
intercept = gamm/ w(2);
refline(slope, intercept);
xlabel(sprintf('Feature %i', bestFeatures(1)));
ylabel(sprintf('Feature %i', bestFeatures(2)));
legend('Malignant test examples', 'Benign test examples');
title('Test set classification results');
但我的图表最终看起来像: