【问题标题】:Train Neural Networks on a Data of type Table在表类型的数据上训练神经网络
【发布时间】:2014-10-22 09:01:10
【问题描述】:

我加载了一个包含 2000 个实例的巨大 CSV 文件,其中包含数值和有限的文本值(某些属性的值如“是”、“否”、“可能”。上述数据是在 Matlab 中使用 readtable 导入的。 我想根据上述数据训练神经网络。

我使用了神经网络 gui,但我无法将新表视为加载数据的选项之一。

因此,我计划为每个属性的文本值分配特定的数值(每个“是”为 1,每个“否”为 0)并将其设为矩阵,以便 GUI 识别我的数据。

或者有没有更好的方法来根据上述数据训练神经网络。

【问题讨论】:

  • 您可能正确地解决了这个问题。无论如何我都会这样做。

标签: matlab neural-network numeric


【解决方案1】:

您的想法不仅是正确的方法,而且是唯一的方法。神经网络使用数字,因此必须将标称值映射到数字才能工作。但是,您应该注意一件事:输入形式和间隔的每个属性的范围。如果您对属性进行规范化,则范围无关紧要。因此,如果您选择是/否,您可以将它们映射到 0/1、1/0 或 -100/200。没关系,因为它们是它们形成的区间的两端。

但是,通常标称值会形成一个范围。在这种情况下,您创建的数值的顺序应保留标称值的顺序。所以在你的情况下,如果你有“否/可能/是”,它们应该映射到 [1,2,3] 或 [-1, 0, 1] 或 [100, 0, -100] 或其他任何保留顺序。然而,如果你使用映射[no->0, yes->1,maybe->2],网络并没有正确地将名义排序映射到数值区间,因此该属性给网络提供了错误的信息

【讨论】:

  • 是的,订购也很重要。
【解决方案2】:

警告:当您在一个名义类别中有超过 2 个选项并且您不知道它们如何分布时,-1,0,1 只有在您假设该类别中的线性趋势时才可行。我的意思是,“也许”与“是”和“否”的距离相同。如果不能,那么创建 3 个二进制变量(“yes”、“no”和“maybe”)更可行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 2018-12-14
    • 2016-04-02
    • 2010-11-20
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多