У меня проблемы с реализацией случайных лесов, над которыми я работаю в Python. Задолго помню, я хорошо знаю, что Python не предназначен для высокоэффективного хруста. Выбор был основан скорее на желании получить более глубокое понимание и дополнительный опыт в Python. Я бы хотел найти решение, чтобы сделать его «разумным».Повышение эффективности копирования больших наборов данных Python
Сказанное, мне любопытно, если кто-нибудь может внести некоторые улучшения в улучшение производительности моей реализации. Запустив его через профилировщик, очевидно, что самое время тратится на выполнение команды «добавить» и мою операцию разделения данных. По сути, у меня есть большой набор данных, реализованный как матрица (скорее, список списков). Я использую этот набор данных для построения дерева решений, поэтому я буду разделять на столбцы с наибольшим коэффициентом усиления информации. Разделение состоит из создания двух новых наборов данных, содержащих только строки, соответствующие некоторым критериям. Новый набор данных генерируется путем инициализации двух пустых списков и добавления соответствующих строк к ним.
Я не знаю размер списков заранее, поэтому я не могу предварительно выделить их, если только невозможно предусмотреть обильное пространство списка, но затем обновить размер списка в конце (я не видел это упоминается где угодно).
Есть ли лучший способ справиться с этой задачей в python?
Эффективное число хруст в Python может быть выполнено с помощью Numpy и Scipy. –