首页 > 解决方案 > 我怎样才能控制我的算法需要多少特征才能达到一定的精度?

问题描述

我使用蒙特卡洛算法生成具有 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 的图片看起来像这样(数据集包括两朵云)。 特色 1 超过 2

我使用来自 Sk-learn 的随机森林将这些云彼此分开。目前该算法需要大约 5 个特征才能达到最佳精度(因此图片;请忽略显示超过 25 个特征的事实)。

特征数量超过准确性

将球体中心靠得更近不会导致峰值精度所需的最小特征发生变化。此外,如果它们相交太深,最终的准确度会降低,但仍然只需要 5 个特征就可以达到。

怎样才能使这个阈值达到 15 个左右的特征?还有什么影响随机森林所需的特征数量?

我也在这里问过这个问题,但无法回答。

标签: pythonmachine-learningrandom-forestfeature-selection

解决方案


推荐阅读