我试图使用MATLAB中的神经网络模式识别工具箱来识别数据集中的不同类型的类。我有一个21392 x 4表,列1-3是我想要用作预测的,第4列有14个不同类别的标签(如愤怒、悲伤、快乐、中立等字符串)。似乎神经网络模式识别工具箱与MATLAB分类学习工具箱不同,它不允许我导入表并自动从表中提取预测器和响应。此外,我不能手动指定输入和目标到神经网络,因为它没有显示在选项中。
我查看了诸如Iris数据集、葡萄酒数据集、癌症数据集等示例,但它们都只有2-3个类作为正在识别的输出(并以二进制(如000、010、011等)编码)。标签不是字符串类型,不像我的,像愤怒,悲伤,快乐,中立等(总共14个不同的类别)。我想知道如何使用我的表作为神经网络模式识别工具箱的输入,或者其他任何方式,我可以从我的表中提取数据并在工具箱中使用它。我是新使用的工具箱,所以在这方面的任何帮助将是非常感谢。谢谢!
发布于 2019-03-01 20:41:45
使用神经网络模式识别工具箱的第一步是将表转换为数字数组,因为神经网络只处理数字数组,而不是直接处理其他数据类型。将表视为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 (最终目标)和输入(最终输入预测器)可以很容易地输入到神经网络中,用于目标标签的分类/预测。
https://stackoverflow.com/questions/53687781
复制相似问题