按照官方文档中的示例,我现在正在训练一个决策树分类器:
arma::rowvec weights = arma::randu<arma::mat>(1, labels.size());
size_t numClasses = 2;
KFoldCV<DecisionTree<>, Accuracy> cv2(5, data, labels, numClasses, weights);
size_t minimumLeafSize = 12;
double weightedDecisionTreeAccuracy = cv2.Evaluate(minimumLeafSize);
我的问题:如果来自 2 个类的样本分布不均匀,DecisionTree 是否运作良好?我应该如何修改我的代码以考虑到在训练集中有 75% 的样本来自第 1 类,它们狭窄地分布在单个值附近,而剩下的 25% 来自第 2 类并且非常稀疏?