Я не думаю, что вы хотите сделать это таким образом. Группирование многих уровней в одну группу может сделать эту функцию менее прогностической. То, что вы хотите сделать, это поставить все уровни, которые будут идти в Другие в кластер, основанный на метрике подобия. Некоторые из них могут группироваться с уровнями верхнего уровня, а некоторые могут группироваться вместе, чтобы обеспечить лучшую производительность.
У меня была аналогичная проблема, и она сама ответила here. Для моей метричности сходства я использовал матрицу близости от случайной лесной регрессии, подходящей для всех функций, кроме той, которая есть. Разница в моем решении заключается в том, что некоторые из моих самых распространенных типов K могут быть объединены вместе, поскольку я использую k-mediods для кластера. Вы хотели бы изменить алгоритм кластера, чтобы ваши медиады были выбранными вами топ-K.
Вы имеете в виду заменить все «не частотные» уровни как «другие»? – snoram
Да, это еще один способ выразить это, потому что в противном случае с некоторыми из этих высокоуровневых категориальных переменных моя матрица данных взрывается в случае однократного кодирования. –
Проверьте это [ссылка] (http://stackoverflow.com/questions/38788682/collapsing-factor-level-for-all-the-factor-variable-in-dataframe-based-on-the-co) –