2014-02-19 2 views
0

Проблемы есть некоторые группы, как авто, бизнес и т.д., и некоторые слова в этих группах, как машина, пушка и т.д. в текстовом файле, «text.txt»чтение TXT-файл в MATLAB и генерировать 2D матрица

sub.autos $ вкладка $ переключения сцепления автомобиля шестерня сцепления автомобиля поворот прогрессивных Repli
sub.autos $ вкладка $ велосипед длинные сцепления пульсар
talk.politics.gun $ вкладка $ штурмовые АК-47 военных штурмовых
talk.politics .gun $ tab $ country war terror

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

Я знаю метод для txt-файла в 1-мерном массиве, используя textread, но меняю его на 2-й, сделав меня clueless.i - новичком в matlab, и любая помощь будет оценена.

PS - ТФ-IDF вики ссылка http://en.wikipedia.org/wiki/Tf-idf

+1

Привет, прочитайте документацию 'textscan()', 'unique()' и 'histc()' и вернитесь с некоторыми примерами кода того, что вы пробовали. – McMa

ответ

0

Попробуйте прочитать раздел об использовании параметров с textread(). Один из параметров - «whitesapce», который может быть установлен на «/ n».

Например дал следующий data.txt файл

Sally Level1 
12.34 45 Yes 

Использование кода

[names, types] = textread('data.txt', '%s %s', 1, 'whitespace', '\n') 

возвращений

names = 'Sally Level1' 
types = '12.34 45 YES' 

Я не эксперт с помощью textread, но я надеюсь, что это дает вам то, что вы можете использовать.

Смежные вопросы