我从Kaggle获取了多个数据集。这些数据集包含多个CSV文件,每个CSV文件专门用于记录坐、站、走、跑等活动。数据来自加速度计和陀螺仪等传感器。数据集中包含x、y和z轴的值。
样本数据
这里是一个慢跑的样本数据集。现在我需要在我的程序中创建分类器,以便我的程序可以自动检测数据是属于慢跑、坐、站等。我想将所有数据集混合成一个CSV文件,然后上传到我的网页中,接着我想让JavaScript代码开始检测特定行是属于坐、站、慢跑等。我不需要任何代码帮助,而是希望得到一些解释或开始编码的方法。我该如何开始创建这样的分类器?我知道这是一个相当广泛的问题,但我认为我已经尽可能清楚地解释了我的需求。一旦我的程序检测出每行所属的具体活动,它将分别统计所有活动,然后以表格形式显示在网页上。
回答:
为了正确回答你的问题,了解你对机器学习的理解和经验水平将非常有帮助。
如果你是一个初学者,我建议你尝试运行并理解一些网上可以轻松找到的教程。
如果你需要了解机器学习开发的“标准”方法,我将尝试给你一个总体的概念。
你可以将这个过程总结为以下主要步骤:
数据预处理->数据分割->特征选择->模型训练->验证->部署
数据预处理旨在清理和格式化数据:移除NA值,关于分类变量的决策,异常值分析,…这是一个复杂的步骤,取决于应用。在你的案例中,我会先检查不同数据集中的数据是否同质,即特征在各个CSV文件中有相同的含义,并且相应的特征符合相同的分布。虽然每个特征的含义应该在你的CSV描述中解释,但可以通过绘制每个特征和CSV的箱线图来轻松检查分布。如果同一特征在不同CSV文件中的分布不重叠,你应该进一步调查这个问题。
设计一个好模型的重要步骤是数据分割。你应该将数据分割成训练/验证集(对于更全面的方法,可以使用训练/验证/测试集)。这一步允许你在训练集上训练你的模型,并在验证集上测试模型,计算模型的无偏性能。我建议在这里熟悉以下概念:交叉验证,分层交叉验证,用于超参数调整的嵌套交叉验证,过拟合,偏差,…模型的验证将给你一个关于它在未见数据上的预期性能的概念。如果你考虑使用多个模型,你可以使用验证结果来选择“最佳”模型。我建议在这里使用置信区间进行比较,或者如果可能的话,使用显著性测试(例如t检验,ANOVA,…)。在部署之前,模型将在所有可用数据上进行训练。
模型的选择取决于你使用的数据:样本数量,特征数量,变量类型(数值型,分类型),…
我不是JavaScript的专家,但我认为(仅凭感觉)Python和R是开发机器学习应用的更常见选择。两者都有为此任务专门开发的库,你可以找到很多材料和教程。
如果你能提供更多背景信息,我想我可以更具体地回答。
希望这对你有帮助