Является ли плохой идеей использовать идентификатор кластера при кластеризации текстовых данных с использованием K-средних в качестве функции для вашей модели обучения под наблюдением? - PullRequest
1 голос
/ 09 февраля 2020

Я строю модель, которая будет предсказывать время выполнения продуктов, протекающих по конвейеру.

У меня много разных функций, одна из которых представляет собой строку, содержащую несколько слов о назначении продукта (часто сокращения, название приложения, частью которого он будет и т. Д.). Ранее я вообще не использовал это поле при разработке функций.

Я подумал, что было бы неплохо сделать какой-то тип кластеризации на этих данных, а затем использовать идентификатор кластера в качестве функции для моей модели, возможно, время выполнения коррелирует с типом информации, представленной в это поле.

Вот мое мышление)

1) Очистка и токенизация текста.

2) TF-IDF

3) Кластеризация

Но подумав об этом, это плохая идея? Поскольку кластеризация была основана на старых данных, если новые слова будут введены в новые данные, это не будет отражено алгоритмом кластеризации, и теперь данные, возможно, следует кластеризовать иначе. Означает ли это, что мне придется переучивать всю модель (модель k-средних, а затем контролируемую модель) всякий раз, когда я хочу предсказать новые точки данных? Есть ли для этого лучшие практики?

Существуют ли более эффективные способы поиска кластеров для текстовых данных, которые можно использовать в качестве функций в контролируемой модели?

1 Ответ

0 голосов
/ 09 февраля 2020

Я понимаю побуждение сначала использовать алгоритм кластеризации без контроля, чтобы убедиться, какие кластеры были найдены. И, конечно, вы можете попробовать, если такой способ поможет вашей задаче.

Но так как вы пометили данные, вы можете передать описание продукта без промежуточной кластеризации. Затем ваш контролируемый алгоритм сам узнает, помогает ли и как эта функция в вашей задаче (конечно, необходимо выполнить предварительную обработку, такую ​​как удаление стоп-слов, очистка, токенизация и извлечение признаков).

В зависимости от ваших текстовых описаний, я мог бы также представить, что некоторые простые вложения последовательностей могут работать как извлечение признаков. Вложение - это вектор, например, 300 измерений, который описывает слова таким образом, что hp office printer и canon ink jet должны быть близки друг к другу, но nice leatherbag должны быть удалены от других фраз. Например, fasText-Word-Embeddings уже обучены английскому языку sh. Чтобы получить одно вложение для последовательности hp office printer, можно взять вектор-усреднение трех векторов (есть больше способов получить вложение для всей последовательности, например, doc2ve c).

Но, в конце концов, вам нужно запустить тесты, чтобы выбрать свои функции и методы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...