将二进制堆栈示例调整为多类

Chr*_*rry 5 python machine-learning matrix ensemble-learning

我一直在研究这个堆叠的例子.在这种情况下,每组K形折叠产生一列数据,并且对于每个分类器重复这一过程.即:混合的矩阵是:

dataset_blend_train = np.zeros((X.shape[0], len(clfs)))
dataset_blend_test = np.zeros((X_submission.shape[0], len(clfs)))
Run Code Online (Sandbox Code Playgroud)

我需要从多类问题中堆叠预测(每个样本编译15个不同的类).这将为每个clf产生n*15矩阵.

这些矩阵是否应该水平连接?或者在应用逻辑回归之前,是否应该以其他方式组合?谢谢.

geo*_*lik 5

您可以通过两种方式使代码适应多类问题:

  1. 水平连接概率,您需要创建: dataset_blend_train = np.zeros((X.shape[0], len(clfs)*numOfClasses)) dataset_blend_test = np.zeros((X_submission.shape[0], len(clfs)*numOfClasses))
  2. 不使用概率,而是使用基本模型的类预测.这样你就可以保持数组的大小相同,但不要predict_proba只使用predict.

我已经成功使用了两者,但效果更好可能取决于数据集.