Я работаю над текстовым многоклассовым классификационным проектом, и мне нужно построить матрицы документов/терминов, а также провести обучение и протестировать на языке R.Работа с классификацией текста и большими разреженными матрицами в R
У меня уже есть наборы данных, которые не вписываются в ограниченную размерность базового матричного класса в R, и для их создания потребуется, например, 100 000 твитов, для создания больших разреженных матриц. Я использую пакет quanteda, так как он был на данный момент более полезным и надежным, чем пакет tm, где создание DocumentTermMatrix со словарем делает процесс невероятно голоден голодом с небольшими наборами данных. В настоящее время, как я уже сказал, я использую quanteda для создания эквивалентного контейнера Matrix Document Term, который позже преобразуется в data.frame для обучения.
Я хочу знать, есть ли способ построить такие большие матрицы. Я читал о пакете bigmemory, который позволяет использовать этот контейнер, но я не уверен, что он будет работать с кареткой для более поздней классификации. В целом я хочу понять проблему и построить обходной путь, чтобы иметь возможность работать с большими наборами данных, поскольку ОЗУ не является большой проблемой (32 ГБ), но я пытаюсь найти способ сделать это, и я чувствую себя полностью потерянным об этом.
Привет, Дмитрий, спасибо за ваш ответ. –
(взял, чтобы отредактировать этот ответ ...) Я смотрю на пакет text2vec и звучит интересно. Я собираюсь попробовать, но мне нужно понять, как я могу использовать DTM, созданный для выполнения через классификацию - мне нужно использовать функцию caret, поскольку этот объект, как я понимаю, является dgCMatrix или dgTMatrix. Могу ли я напрямую передать этот объект функции поезда в каретке? Спасибо! –
'dgCMatrix' из пакета' Matrix' является «стандартным» для разреженных матриц в R. Я не пробовал 'caret', но вас может заинтересовать эта тема: https://github.com/topepo/caret/ вопросы/31. Кажется, что каретка поддерживает разреженные матрицы из коробки. –