Как я могу контролировать, сколько функций требуется моему алгоритму для определенной точности?

#python #machine-learning #random-forest #feature-selection

#python #машинное обучение #случайный лес #выбор функции

Вопрос:

Я генерирую точки данных с 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
  

Изображение объекта 1, нанесенное поверх объекта 2, будет выглядеть следующим образом (набор данных включает оба облака).
Функция 1 вместо 2

Я использую случайный лес из Sk-научитесь отделять эти облака друг от друга. Прямо сейчас алгоритму требуется около 5 функций для достижения максимальной точности (отсюда и картинка; пожалуйста, пренебрегите тем фактом, что он показывает более 25 функций).

количество функций превышает точность

Сближение центров сфер не приводит к изменению минимума функций, необходимых для максимальной точности. Более того, если они пересекаются слишком глубоко, конечная точность уменьшится, но все равно будет достигнута всего с помощью 5 функций.

Как увеличить этот порог примерно до 15 функций? Что еще влияет на количество функций, необходимых для случайного леса?

Я также задавал этот вопрос здесь, но не смог получить на него ответ.

Комментарии:

1. Почему вы хотите увеличить количество необходимых функций? Если вам нужно максимум пять функций, т. е. если эти пять функций содержат достаточно информации, чтобы разделить ваши два класса, зачем вы хотите добавить дополнительные функции помимо этих? И похоже, что вы получаете сопоставимую точность при 15 функциях, так что вы могли бы просто использовать 15, но опять же, почему?

2. Это может быть связано с тем, что ваше дерево решений не рассматривает некоторые функции как важные. Я бы подумал о визуализации вашего дерева решений , чтобы помочь вам разобраться, что происходит.