Какая функция Python sklearn может принимать нечисловые значения в качестве цели обучения? - PullRequest
0 голосов
/ 09 октября 2019

Я изучаю пример .

Я заметил, что они использовали PassiveAggressiveClassifier, который может принимать нечисловые значения y_train. Я понимаю, что в Natural Language Processing (NLP) нам необходимо преобразовать текст обучения строки в числовые массивы в качестве входных данных обучения, чтобы модели нейронной сети могли принять его, но почему цель обучения не нужно преобразовывать в число? Какие другие модели могут пройти нечисловую тренировочную мишень?

#Initialize a PassiveAggressiveClassifier
pac=PassiveAggressiveClassifier(max_iter=50)
pac.fit(tfidf_train,y_train) 

1 Ответ

0 голосов
/ 09 октября 2019

Здесь есть 2 разные вещи:
- когда вы выполняете задачу классификация , названия ваших категорий не имеют значения, так как между ними нет понятия расстояния. Например, если вы выполняете логистическую регрессию, вы можете пометить положительные ответы как «да», «положительный» или «1», а отрицательные - «нет», «отрицательный» или «0». Это никак не повлияет на то, как тренируются ваши модели.
- когда вы тренируете модель НЛП, вы хотите определить некоторую дистанцию ​​в словах вашего словарного запаса. Например, вы хотите знать, что «машина» похожа на «автобус», но эта «машина» не похожа на «яблоко». Лучший способ сделать это - представить их как векторы, которые будут более или менее удалены друг от друга в соответствии с их семантическим значением (мы используем здесь евклидово расстояние по векторам). Вот почему мы даем такое представление слов моделям НЛП: вы хотите, чтобы ваши модели понимали, что «автомобиль» и «автобус» близки, что невозможно, если вы храните их как слова.

Примечание: любая задача классификации может принимать слова в качестве меток.

См. https://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf для более подробной информации о векторном представлении слов (т.е. встраивании слов).

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