如何在神经网络模式识别工具箱中使用多个标签作为目标?

问题描述 投票:0回答:1

我试图在MATLAB中使用神经网络模式识别工具箱来识别我的数据集中的不同类型的类。我有一个21392 x 4表,列1-3我想用作预测器,第4列有14个不同类别的标签(字符串,如愤怒,悲伤,快乐,中性等)。与MATLAB Classification Learner工具箱不同,神经网络模式识别工具箱似乎不允许我导入表并自动从中提取预测变量和响应。此外,我无法手动指定神经网络的输入和目标,因为它没有显示在选项中。

我查看了Iris数据集,Wine数据集,癌症数据集等示例,但是它们都只有2-3个类作为输出被识别(并以二进制编码,如000,010,011等)和标签不是字符串类型,不像我的愤怒,悲伤,快乐,中立等(共14个不同的类)。我想知道如何使用我的表作为神经网络模式识别工具箱的输入,或者以其他方式,我可以从我的表中提取数据并在工具箱中使用它。我是使用工具箱的新手,所以在这方面的任何帮助都将受到高度赞赏。谢谢!

matlab neural-network deep-learning pattern-recognition
1个回答
1
投票

使用神经网络模式识别工具箱的第一步是将表转换为数字数组,因为神经网络只能使用数字数组,而不能直接使用其他数据类型。将表视为my_table,可以使用将其转换为数值数组

my_table_array = table2array(my_table);

my_table_array,可以提取输入(预测变量)和输出/目标。但是,必须提到输入和输出需要转换(因为数据需要以工具箱的列格式,每列是一个数据点,每行是特征),这很容易实现使用: -

inputs = inputs'; %(now of dimensions 3x21392)
labels = labels'; %(now of dimensions 1x21392)

字符串类型标签(分类)可以使用categorical的单热编码技术转换为数值,然后是ind2vec

my_table_vector = ind2vec(double(categorical(labels)));

现在,my_table_vector(最终目标)和输入(最终输入预测变量)可以很容易地输入神经网络并用于目标标签的分类/预测。

© www.soinside.com 2019 - 2024. All rights reserved.