在matlab中读取文本文件并生成2D矩阵

时间:2014-02-19 07:26:52

标签: matlab matrix tf-idf

问题是有一些像汽车,商业等组织,以及像txt文件中的汽车,枪等这些组中的一些词,'text.txt'

  

sub.autos $ tab $ shift离合器汽车齿轮离合器汽车转向advanc repli
      sub.autos $ tab $ bike long clutch pulsar
      talk.politics.gun $ tab $ assault AK-47战争攻击
      talk.politics.gun $ tab $ country war terror

我需要创建TF-IDF(术语频率 - 逆文档频率),即一个单词以矩阵形式出现在特定组中的次数,其中每行将对应一个组,并且每列表示相应组中特定单词的出现。

我知道使用te​​xtread将txt文件转换为1-d数组的方法,但是在2-d中更改它使我无能为力。我是matlab的初学者,任何帮助都将不胜感激。

PS - tf-idf wiki link http://en.wikipedia.org/wiki/Tf-idf

1 个答案:

答案 0 :(得分: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的专家,但我希望这能为你提供一些你可以使用的东西。