【发布时间】:2016-05-28 05:47:47
【问题描述】:
我需要计算各种特征之间的互信息,以便使用逻辑回归设计分类模型。我面临以下问题:
我需要将我的数据分成 n 个具有大致相等数量的样本的 bin。如何在 Matlab 中实现这一点?
我应该对原始数据还是标准化数据执行上述离散化?
谢谢。
【问题讨论】:
标签: matlab machine-learning logistic-regression binning
我需要计算各种特征之间的互信息,以便使用逻辑回归设计分类模型。我面临以下问题:
我需要将我的数据分成 n 个具有大致相等数量的样本的 bin。如何在 Matlab 中实现这一点?
我应该对原始数据还是标准化数据执行上述离散化?
谢谢。
【问题讨论】:
标签: matlab machine-learning logistic-regression binning
我猜你想做的类似于交叉验证,在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
您应该在对数据进行预处理(标准化/标准化)之后执行此操作。
【讨论】: