在Matlab

时间:2016-02-16 19:16:56

标签: matlab machine-learning logistic-regression binning

我需要计算各种特征之间的互信息,以便使用逻辑回归设计分类模型。我面临以下问题:

  1. 我需要将数据分成具有大致相同数量样本的n个bin。我怎样才能在Matlab中实现这一目标?

  2. 我是否应对原始数据或规范化数据执行上述离散化?

  3. 感谢。

1 个答案:

答案 0 :(得分:0)

我想你想要做的是类似于交叉验证,在Matlab中你可以使用允许你拆分数据集的函数crossvalind

我添加了页面上显示的示例,用于将数据拆分为10个区域(称为10倍交叉验证)。

load fisheriris 
indices = crossvalind('Kfold',species,10);
cp = classperf(species);
for i = 1:10
    test = (indices == i); train = ~test;
    class = classify(meas(test,:),meas(train,:),species(train,:));
    classperf(cp,class,test)
end
cp.ErrorRate

ans =

    0.0200

在对数据进行预处理(标准化/标准化)之后,您应该执行此操作。