ML足够的特征?

我在尝试用加速度计数据集训练随机森林。我计算了均值、标准差、轴之间的相关性、曲线下面积等特征。我是机器学习新手。

我想了解两件事:

1.如果我将一个人的数据集分为测试和训练集,然后运行随机森林预测,准确率很高(>90%)。然而,如果我用不同人的数据训练随机森林,然后进行预测,准确率很低(<50%)。这是为什么?如何调试这个问题?我不确定自己做错了什么。

  1. 在上面的例子中,要达到90%的准确率,需要多少特征才算“足够”?需要多少数据才算“足够”?

我可以提供更多细节。数据集来自10个人,包含大量标记的数据。我限制自己使用上述特征以避免大量计算。


回答:

  1. 你的分类器很可能过拟合了,当你只用一个人的数据进行训练时,它无法很好地泛化,它可能只是“记住”了带标签的数据集,而不是捕捉到分布的一般规律:每个特征如何与其他特征相关/它们如何影响结果等。也许你需要更多数据,或者更多特征。

  2. 这不是一个简单的问题,这是泛化问题,关于这个问题有许多理论研究,例如:Vapnik–Chervonenkis理论Akaike信息准则。即使你了解这些理论,也无法准确回答这个问题。大多数此类理论的主要原则是:你拥有的数据越多,你尝试拟合的模型变化性越小,你要求的训练和测试准确率之间的差异越小——这些理论会给你的模型更高的评价。例如,如果你想最小化测试集和训练集上的准确率差异(以确保测试数据上的准确率不会崩溃),你需要增加数据量,提供更有意义的特征(相对于你的模型),或者使用变化性较小的模型进行拟合。如果你对理论方面的更详细解释感兴趣,你可以观看加州理工学院的讲座,从这个开始:CaltechX – CS1156x 从数据中学习

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注