Обучение SVM с данными word2vector

boost::ptr_vector будет работать.

Edit: было предложено использовать std::vector< boost::ref >, который не будет работать, потому что вы не можете по умолчанию построить boost::ref .

0
задан Raunak 19 February 2019 в 09:53
поделиться

1 ответ

Ваш x_train в настоящее время трехмерен. То, что вы уже сделали, приводит к тому, что каждый обучающий пример x_train[i] представляет собой массив (51 100), то есть форма x_train имеет вид (n_samples, 51, 100).

Когда вы вызываете метод fit, x_train должен иметь форму (n_samples, n_features) (прямо из документов ). Таким образом, вам нужно уменьшить массив 51x100 для каждого входа в 1-й массив / вектор. Вы можете сделать это с помощью -

  • Просто преобразовав свои (51,100) массивы в векторы (5100), чтобы ваш x_train имел форму (n_samples, 5100) или
  • Комбинируя вложения каким-то образом, например, усредняя их или что-то еще, чтобы получить меньшее количество функций. Например, вы можете суммировать / усреднять по каждому (51,100) -образному массиву, чтобы получить (51) -мерные векторы объектов. Я упоминаю эту возможность, потому что усреднение встраивания слов для встраивания предложений является очень грубым, но широко используемым методом базовой линии (это, конечно, обычно не применимо для преобразования входных форм).
0
ответ дан Proyag 19 February 2019 в 09:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: