如何提高以下逻辑回归代码的准确性,使用10倍交叉验证技术测试准确性

时间:2014-05-12 07:10:01

标签: r matlab machine-learning regression logistic-regression

如何提高以下逻辑回归代码的准确性,该代码使用10倍交叉验证技术测试准确性。我已使用glmfitglmval实现了此代码。期望的精度稍高,并且需要使用最大似然估计器找到参数。 此外,当我在matlab中运行此代码时,我收到以下错误:

  

警告:X处于病态状态,或者模型过度参数化,并且   有些系数无法识别。你应该谨慎使用   做出预测。在glmfit在245 In LR at 8

function LR( X,y)
y(y==-1)=0;
X=[ones(size(X,1),1) X];
disp(size(X,2));
indices = crossvalind('Kfold',y,10);
for i = 1:10
    test = (indices == i); train = ~test;
    b = glmfit(X(train,:),y(train),'binomial','logit');
    y_hat= glmval(b,X(test,:),'logit');
    y_true=y(test,:);
    error(i)=mean(abs(y_true-y_hat));
end
accuracy=(1-error)*100;
fprintf('accuracy= %f +- %f\n',mean(accuracy),std(accuracy));
end

请帮助

0 个答案:

没有答案