TFIDFmatlab代码
时间: 2023-10-09 07:07:43 浏览: 48
当然,我可以帮你提供一个简单的 TF-IDF (Term Frequency - Inverse Document Frequency) 的 Matlab 代码示例。TF-IDF是一种常用的文本特征提取方法,用于衡量一个词在文档中的重要性。
以下是一个简单的实现:
```matlab
% 创建一个包含文档的单词列表
documents = [
"This is the first document.";
"This document is the second document.";
"And this is the third one.";
"Is this the first document?";
];
% 将文档分割成单词
words = split(documents);
% 创建一个包含所有不重复单词的列表
uniqueWords = unique(words);
% 创建一个空矩阵来存储TF-IDF值
tfidfMatrix = zeros(numel(documents), numel(uniqueWords));
% 计算每个单词在每个文档中的词频(TF)
for i = 1:numel(documents)
wordCount = count(words(i), uniqueWords);
tf = wordCount / numel(words(i));
% 计算每个单词的逆文档频率(IDF)
idf = log10(numel(documents) / sum(contains(words, uniqueWords)));
% 计算TF-IDF值并存储在矩阵中
tfidfMatrix(i, :) = tf * idf;
end
disp(tfidfMatrix);
```
这段代码将计算给定文档集合中每个单词的TF-IDF值,并将结果存储在`tfidfMatrix`矩阵中。你可以根据实际需要对输入进行调整和扩展。
希望这对你有所帮助!如果有任何其他问题,请随时提问。
阅读全文