matlab - matlab中元胞数组的分类

标签 matlab machine-learning data-mining classification document-classification

我想对新闻数据集进行文本分类。我有很多功能,例如 subjectkeywordsummary 等...所有这些功能都存储在一个结构元胞数组中,每个结构如下所示:

       label: 'misc.forsale'
        subj: ' Motorcycle wanted.'
     keyword: [1x190 char]
   reference: []
organization: ' Worcester Polytechnic Institute'
        from: ' kedz@bigwpi.WPI.EDU (John Kedziora)'
     summary: []
       lines: ' 11'
       vocab: [4x2 double]

我想用 class = recognize(test, train, target, 'diaglinear'); 对它们进行分类
但是这些函数只接收数组作为输入,不接受单元格或结构体。

我无法将此元胞数组转换为一个多维数组,因为特征数量各不相同(例如,一个主题有两个单词,另一个主题有三个单词)。

我能做什么?

最佳答案

首先进行一些特征提取。例如,对字符串进行标记,然后使用 TF-IDF。

您可以将 key 包含在 token 中。这是信息检索中的常见做法。有关示例,请参阅 Xapian 手册。

通常,您会进行一些词干提取,例如示例 -> example。现在,只需添加一个前缀即可根据单词的出现情况来区分它们。例如。当主题包含 example 时,使用 Sexampl ;当主题包含 example 时,使用 Kexampl ,当它是关键字时。

然后你就有了一个到处都在使用的“词袋”表示形式。他们甚至这样做是为了挖掘图像,这被称为“视觉词”。这些也不是英语单词。

关于matlab - matlab中元胞数组的分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868282/

相关文章:

database - Matlab数据库准备语句和绑定(bind)变量

matlab - 使用 "find"命令累加值 "without for loops"

tensorflow - 在序列模型中使用填充时,Keras 验证准确性是否有效/可靠?

R bigglasso 结果与 hdm 或 glmnet 不匹配

hadoop - 使用 mahout mapreduce 计算用户相似度

.net - 有哪些技术/工具可用于发现文本 block 中的常见短语?

Matlab imwrite() 质量

image - MATLAB:对高斯噪声使用 imnoise 和 randn 有什么区别

algorithm - 如何找到稀疏向量的最近邻

matlab - 比较 k 均值聚类