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

Я генерирую точки данных с 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, будет выглядеть следующим образом (набор данных включает в себя оба облака).Feature 1 over 2

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

num of features over accuracy

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

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

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

...