Чтение многомерных данных в R без использования фрейма данных

У меня очень разреженные многомерные (40 тыс. наблюдений, 20 тыс. измерений) текстовые данные в формате ARFF. сгенерировано WEKA.

В R доступны 2 средства чтения ARFF через RWeka и иностранные пакеты. Проблема с обоими этими считывателями arff заключается в том, что они считывают данные arff во фрейм данных (и, следовательно, вы переходите от разреженных данных к неразреженному способу хранения), и, поскольку мой набор данных довольно велик, ни то, ни другое, если это практический путь. На самом деле у меня начинает заканчиваться память, пока RWeka пытается прочитать файл arff.

Итак, вопросы:

(1) Как лучше всего хранить и обрабатывать мои данные в R? Обратите внимание, что я читаю помеченные текстовые данные, так как хочу выполнить классификацию текста. Таким образом, любое разреженное представление должно (в идеале) использоваться классификаторами как есть.

(2) Что еще более важно, как мне тогда читать в моем файле arff в этом формате (как в вопросе 1)?

Заранее спасибо.

--Редактирует--

Извлечение моего файла ARFF, как запрошено в одном из комментариев:

@relation train.arff-weka.filters.unsupervised.attribute.StringToWordVector-R1-W100000-prune-rate-1.0-I-N1-L-stemmerweka.core.stemmers.LovinsStemmer-M1-tokenizerweka.core.tokenizers.AlphabeticTokenizer
@attribute myclasses {alpha, beta, gamma, delta}
@attribute aardvark numeric
@attribute abbrevi numeric
@attribute abduc numeric
@data
{102 7.686363,166 6.302574,791 9.204264,1854 1.370962,2830 5.907602}
{1727 14.842519}
{103 0.774816,289 2.874456,413 3.729545,517 4.723478,1286 1.417374,1531 3.23805,1637 4.534334,1708 3.544581,1854 0.961008,1878 3.731564,2105 7.701038,2209 4.83372,2466 5.663894}
{1 1.368628,103 0.582774,225 5.61684,954 5.792294,1082 5.194097,1160 5.792294,1799 4.367975,1854 0.722817,2220 4.114164,2304 2.967602,2456 3.186834,2564 0.701145,2839 6.039582}

person Andy    schedule 02.01.2012    source источник
comment
См. ответы на тесно связанный вопрос Дискретный и непрерывный классификатор на разреженных данных   -  person Itamar    schedule 02.01.2012
comment
@Itamar: Ну, мой вопрос больше похож на то, как читать разреженные данные в R.   -  person Andy    schedule 02.01.2012
comment
Пожалуйста, опубликуйте выдержку из данных ARFF, с которыми вы столкнулись. Я могу адресовать (1), но ответить (2) будет легче, если я уверен, что не ошибаюсь. По сути, возможность воспроизвести проблему будет очень полезна для получения хорошего ответа.   -  person Iterator    schedule 02.01.2012
comment
@Iterator: я опубликовал небольшой отрывок из своего ARFF. Я могу сделать весь (большой) файл arff доступным, если это будет необходимо.   -  person Andy    schedule 02.01.2012


Ответы (1)


То, как вы читаете данные, зависит от того, какую структуру данных использует анализ. Поэтому я бы начал с поиска пакетов, которые могут работать с разреженными данными (см. Непрерывный классификатор на разреженных данных). Как упоминалось в ответах на этот вопрос, Weka поддерживает разреженные данные ARFF (см. Обработка больших наборов данных с помощью Weka в Пентахо).

person Itamar    schedule 03.01.2012