小编Tin*_*lin的帖子

在MATLAB中聚类文本

我想在MATLAB中对文本进行分层凝聚聚类.说,我有四句话,

I have a pen.
I have a paper. 
I have a pencil.
I have a cat. 
Run Code Online (Sandbox Code Playgroud)

我想对上面四个句子进行聚类,看看哪个更相似.我知道统计工具箱有像pdist测量成对距离,linkage计算聚类相似性等命令.一个简单的代码如:

X=[1 2; 2 3; 1 4];
Y=pdist(X, 'euclidean');
Z=linkage(Y, 'single');
H=dendrogram(Z)
Run Code Online (Sandbox Code Playgroud)

工作正常并返回树形图.

我想知道如上所述我可以在文本上使用这些命令.有什么想法吗 ?


更新:

感谢Amro.读取理解并计算字符串之间的距离.代码如下:

clc
S1='I have a pen'; % first String

f_id=fopen('events.txt','r'); %saved strings to compare with
events=textscan(f_id, '%s', 'Delimiter', '\n');
fclose(f_id); %close file.
events=events{1}; % saving the text read.

ii=numel(events); % selects one text randomly.
% store the texts in a cell array

for …
Run Code Online (Sandbox Code Playgroud)

matlab cluster-analysis text-mining

3
推荐指数
1
解决办法
8376
查看次数

标签 统计

cluster-analysis ×1

matlab ×1

text-mining ×1