我一直在学习。在这种情况下,每一组k-folds产生一列数据,这对每个分类器都是重复的。即:用于混合的矩阵为:

dataset_blend_train = np.zeros((X.shape[0], len(clfs)))
dataset_blend_test = np.zeros((X_submission.shape[0], len(clfs)))

我需要从一个多类问题(每个样本有15个不同的类)堆栈预测。这将为每个CLF生成一个N*15矩阵。
这些矩阵应该水平连接吗?或者在应用逻辑回归之前,它们应该以其他方式结合起来吗?谢谢。

最佳答案

您可以通过两种方式使代码适应多类问题:
水平连接概率,即您需要创建:
dataset_blend_train = np.zeros((X.shape[0], len(clfs)*numOfClasses))
dataset_blend_test = np.zeros((X_submission.shape[0], len(clfs)*numOfClasses))
不要使用概率,而是使用基本模型的类预测。这样就可以保持数组的大小不变,但是不用predict_proba,只需使用predict
我已经成功地使用了这两种方法,但哪种方法更有效取决于数据集。

08-25 00:57