c++ - 使用采样频率的 mlpack 训练加权决策树
问题描述
按照官方文档中的示例,我现在正在训练一个决策树分类器:
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 类并且非常稀疏?
解决方案
推荐阅读
- c# - 在多线程中记录冲突
- angular - 带有过滤器的材料自动完成不适用于异步数据
- javascript - 如何在谷歌折线图中维护线(系列)颜色
- java - 如何根据特定名称对字符串[即文件名集]进行排序
- python - 如何在 python 中运行 Check ESA SciHub?
- python - 如何在python中将极形数组转换为笛卡尔形数组?
- mysql - 如何在mysql中用斜杠而不是破折号插入日期类型值?
- c++ - 如何隐藏在 Qt 应用程序中打开的 Windows 终端?
- python - 如何修复 django 中的数据库问题(postgresql)
- php - Laravel - 更新表中的多行