Посмотрите на исходный код.
Не полагайтесь на людей на веб-форумах, чтобы угадать, что делает функция, когда у вас есть доступ к источнику.Причина проста: может варьироваться в зависимости от версии .Так что я мог бы дать вам правильный ответ, для другой версии ...
Вы звонили partial_fit
сразу по всем данным?Это не то, что вы должны делать.Обрабатывайте только один пакет за раз.
Проблемы с памятью могут возникать из-за того, что старые данные все еще доступны и не собраны сборщиком мусора (например, нетрансформированные данные), а также из-за различных параметров.Если вы внимательно изучите статью Birch, вы увидите, что она ожидает намного более тесного контроля над памятью, чем у нас в современных языках, таких как Python, и на этом детальном уровне невоспроизводима в современных операционных системах.
Но основными вопросами, которые вы должны рассмотреть, являются следующие два:
- Достаточно ли действительно качество кластеризации по Берчу на этих данных?Или вы пытаетесь решить не ту проблему?
- Насколько качество ухудшается, если вы используете только 50% ваших "больших" данных?Статистически это не должно иметь значения ... Метод основан на агрегатах, и точность таких агрегатов растет с ростом sqrt (n) ... Т.е. добавление новых и новых данных не имеет значения.