Receipt classification competition
Private:19/265
- Обучаем базовый SVM на tf-idf char-wb и предсказываем уникальные item_name из неразмеченных данных
- Мерджим по итем нейму в таблицу(это существенно ускоряет доразметку)
- Т.к. мы используем категориальные и числовые фичи, а агрегация доразмеченного датасета на для каждого уникального item_name заняла бы вечность мы сеплируем из датасета случайно N объектов и агрегируем фичи только по ним
- Обучаем tfidf charwb + svm
- Исключаем классы, которые svm очень плохо различает (71,84,204,79,83)
- Берем метки с уверенностью больше 0.75
- Произвольно выбираем из оставшихся 15000 и добаляем к изначальному датасету
Была также выделена небольшая валидационная выборка для тестирования доразметки. После подбора параметров стекинг обучался на всех данных
- tfidf charwb + calibrated svm
- Numerical & categorical features + lgb
- tfidf char + naive bayes
Взята часть категориальных фичей из публичного решения exotol create_features_part_2()
- KNN фичи на tfidf -> lgb (хотя в аналогичном соревновании от Яндекс они улучшили модель)
- Стекинг бустингом. Как на классах, так и на вероятностях
- Добавление нелинейности для модели стекинга(SVM). Пытались использовать RBF ядро и RFF.
- Стекинг моделей с различным tfidf: charwb и word
- Увеличение и уменьшение порога доразметки и количество добавляемых элементов
- Агрегация фич по чекам (в соревновании Яндекса это улучшило скор)
- Разделение camel case чеков, добавление к исходному названию склееного название чеков (для нас это оказалось странным, но паблик падал на пару тысячных, решили убрать)
- Использовать fastText
- Семплировать с различными сидами и усреднять несколько стекингов