Я строю модель, которая будет предсказывать время выполнения продуктов, протекающих по конвейеру.
У меня много разных функций, одна из которых представляет собой строку, содержащую несколько слов о назначении продукта (часто сокращения, название приложения, частью которого он будет и т. Д.). Ранее я вообще не использовал это поле при разработке функций.
Я подумал, что было бы неплохо сделать какой-то тип кластеризации на этих данных, а затем использовать идентификатор кластера в качестве функции для моей модели, возможно, время выполнения коррелирует с типом информации, представленной в это поле.
Вот мое мышление)
1) Очистка и токенизация текста.
2) TF-IDF
3) Кластеризация
Но подумав об этом, это плохая идея? Поскольку кластеризация была основана на старых данных, если новые слова будут введены в новые данные, это не будет отражено алгоритмом кластеризации, и теперь данные, возможно, следует кластеризовать иначе. Означает ли это, что мне придется переучивать всю модель (модель k-средних, а затем контролируемую модель) всякий раз, когда я хочу предсказать новые точки данных? Есть ли для этого лучшие практики?
Существуют ли более эффективные способы поиска кластеров для текстовых данных, которые можно использовать в качестве функций в контролируемой модели?