所以我有一组数据,1900行22列。21列只是数字,但我想训练数据的关键有三个阶段:a、b和c。
我尝试过决策树/丛林和神经网络,无论我如何设置它们,我都无法获得超过55%的精度。
通常准确率在50%左右,我能得到的最好的准确率是55%,平均准确率在70%左右。
我应该在这么小的数据集上使用NN吗?正如我所说,我尝试了其他ML算法,但它们并没有产生更好的结果。
我认为你的问题没有明确的答案。准确率得分低可能有几个原因。我将从以下几点阐述其中的一些:
- 当你使用决策树/神经网络时,低精度可能是元参数设置错误的结果(如DT中树的最大高度或树的数量,或NN情况下错误的拓扑结构或数据准备)。我建议您对NN和DT使用网格或随机搜索来为您的算法寻找最佳元参数(在"静态"(而非顺序数据)包的情况下,如R中的h20或Python中的Scikit learn可能会做得很好),在神经网络的情况下-正确规范化您的数据(例如,在数据的每个
x
列中减去平均值并除以标准差) - 您的数据集可能不一致。例如,如果您的数据没有在
x
和y
之间存在函数依赖关系的属性(对于某些f
,这意味着y = f(x)
),那么在培训课程中学到的是给定x
的概率——您的示例属于某个特定类。这种不一致可能会严重损害您的准确性。在这种情况下,我建议你尝试指定是否发生这种现象,然后尝试分割你的数据来解决问题 - 您的数据集可能太小了。在这种情况下,请尝试获取更多数据