【问题标题】:Classifier to Predict activities taking place预测活动发生的分类器
【发布时间】:2018-10-24 08:29:05
【问题描述】:

我在这里有多个从 Kaggle 获取的数据集。有多个 csv 文件,每个 csv 文件专门用于坐、站、走、跑步等。数据取自加速度计和陀螺仪等传感器。数据集中的值是轴,如 x、y 和 z。

样本数据

这是慢跑的示例数据集。现在我需要在我的程序中制作分类器,以便我的程序可以检测自己的数据是慢跑、坐着、站立等。我想将所有数据集混合在一个 csv 文件中,然后将其上传到我的 webapge 中,然后我希望 javascript 代码开始检测特定行是否是坐着、站立、慢跑等。我不需要任何代码帮助,但我只需要一点解释或一种开始编码的方法。我怎样才能开始制作这样的分类器?我知道这是一个广泛的问题,但我想我已经尝试以最好的方式解释自己。一旦我的程序检测到具有特定活动的每一行,它将分别计算所有活动,然后在网页中以表格格式显示。

【问题讨论】:

    标签: javascript tensorflow machine-learning artificial-intelligence


    【解决方案1】:

    为了正确回答您的问题,了解您对机器学习的理解和经验水平将非常有帮助。

    如果您是初学者,我建议您尝试运行并理解一些可以在网络上轻松找到的教程。

    如果您需要了解哪种是机器学习开发的“标准”方法,我将尝试为您提供该过程的大致概念。

    您可以将过程总结为以下主要步骤:

    数据预处理->数据拆分->特征选择->模型训练->验证->部署

    数据预处理旨在清理和格式化数据:删除 NA 值、关于分类变量的决策、异常值分析……这是一个复杂的步骤,取决于应用程序。在您的情况下,我将开始检查不同数据集中的数据是否是同质的,即特征在 csv 中具有相同的含义,并且相应的特征尊重相同的分布。虽然应在 csv 的描述中解释每个特征的含义,但可以很容易地为每个特征和 csv 绘制箱形图来检查分布。如果不同 csv 文件中相同功能的分布不重叠,则应进一步调查该问题。

    设计一个好的模型的一个重要步骤是拆分数据。您应该将数据拆分为训练/验证集(训练/验证/测试以获得更全面的方法)。此步骤允许您在训练集上训练模型并在验证集上测试模型,计算模型的无偏性能。我建议在这里熟悉以下概念:交叉验证、分层交叉验证、用于超参数调整的嵌套交叉验证、过拟合、偏差......它将对看不见的数据产生的预期性能。如果您正在考虑使用多个模型,您可以使用验证结果来选择“最佳”的一个。我建议在这里使用置信区间进行比较,或者如果可能的话,进行显着性检验(例如 t 检验、方差分析……)。在部署之前,模型会根据所有可用数据进行训练。

    模型的选择取决于您使用的数据:样本数、特征数、变量类型(数值、分类),......

    我不是 javascript 专家,但我相信(只是一种感觉)python 和 R 是开发机器学习应用程序的更常见选择。两者都有专门为该任务开发的库,您可以找到很多材料和教程。

    有了更多的上下文,我认为我可以更具体。

    希望对你有帮助

    【讨论】:

    • 非常感谢罗伯托。显然我的水平是初学者,我有几个月的时间来完全理解机器学习的概念。这些天我正在看一些关于如何训练我的数据集的教程,但现在你建议拆分我的数据,所以我会尝试先拆分然后训练我的模型。上面你告诉我要检查我的数据是否是同源的,是的,我可以确认数据是同源的,因为我尝试在在线图形绘图实用程序上绘制它,并且每个 csv 文件的特征都是相同的,只有微小的变化。
    猜你喜欢
    • 2010-11-04
    • 1970-01-01
    • 2011-10-04
    • 2010-10-28
    • 2021-02-11
    • 2021-08-26
    • 2020-08-06
    • 2019-07-11
    • 1970-01-01
    相关资源
    最近更新 更多