ex2中的题目,使用自带的GradObj方法得出使得cost function最小的theta值之后,要对这个得出的假设函数进行评估,判断原有的训练集对这个假设函数的拟合情况
p=sigmoid(X*theta);
p=p>0.5;
fprintf('Train Accuracy: %f\n', mean(double(p == y)) * 100);
注意这里的>0.5使得原来p中[ 0.532 ; 0.46 ; 0.893 ; 0.123 ](自己随便取的数字)这些离散分布的数据变成了[ 1 ; 0 ; 1 ; 0 ] 这样0-1取值的一个vector,这也将其转化成了一个分类问题(不知道这么说是否正确))
而这里的Train Accuracy指的应该就是对之前训练集的拟合情况,表示将之前训练集的输入features带入我们得出的假设函数,最后与实际结果有多少是符合的,这个题目中最后得出的是40.0,即代表40%的正确率。
(mean代表对这个vector取平均值,最后的乘100,就是变成了百分比概率)