Coursera机器学习 week7 assignment

仅供思路参考,代码最好还是自己独立完成。


gaussianKernel.m:

sim = exp(- sum((x1-x2).^2) / (2*(sigma^2)) );


dataset3Params.m:

lambda_all = [0.01 0.03 0.1 0.3 1 3 10 30]';
len_all = size(lambda_all, 1);
error_matrix = zeros(len_all, len_all);

for i = 1:len_all
  now_C = lambda_all(i);
  for j = 1:len_all
    now_sigma = lambda_all(j);
    model = svmTrain(X, y, now_C, @(x1, x2) gaussianKernel(x1, x2, now_sigma)); 
    predictions = svmPredict(model, Xval);
    error = mean(double(predictions ~= yval));
    
    error_matrix(i, j) = error;
  end
end

ans_min = min(error_matrix(:));  %找出(8*8)中的最小值
[index_C, index_sigma] = find(error_matrix==ans_min);  %找出该最小值在(8*8)中的行、列索引

C = lambda_all(index_C);
sigma = lambda_all(index_sigma);


processEmail.m:

for i = 1:length(vocabList)
      if(strcmp(str, vocabList{i}) == 1)
        word_indices = [word_indices ; i];
        break;
      else
        continue;
      end
    end


emailFeatures.m:

for i = 1:length(word_indices)
  x(word_indices(i)) = 1;
end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值