我使用蒙特卡洛算法生成具有25个特征的数据点。基本上,我有两个球体(每个球体代表一个标签),并通过调整其中心和弧度确定它们彼此相交的深度。我将它们合并为数据集。像这样:
centre1 = [3, 3, 3, 3, 4, 6, 1, 3, 2, 3, 4, 5, 6, 6, 5, 5, 5, 3, 3, 3, 4, 4, 4, 5, 4] # length is 25
centre2 = [3, 3, 3, 3, 5, 1, 2, 3, 2, 3, 2, 3, 6, 6, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 2]
radian1 = 15
radian2 = 15
在特征2上绘制的特征1的图片看起来像这样(数据集包括两个云)。
我使用来自Sk-learn的随机森林将这些云彼此分离。 目前,该算法需要大约5个特征才能达到最佳精度(因此,图片;请忽略显示25个以上特征的事实)。
将球体的各个中心更紧密地结合在一起不会导致峰精度所需的最小特征数发生变化。而且,如果它们相交得太深,最终的精度将降低,但仅使用5个功能就可以达到。
如何使此阈值达到大约15个功能?还有什么因素会影响随机森林所需的特征数量?
我也问了这个问题here,但无法回答。