【问题标题】:Machine-learning friendly data organization [closed]机器学习友好的数据组织[关闭]
【发布时间】:2018-04-09 12:22:51
【问题描述】:

网上有很多关于不同机器学习工具(神经网络和各种相关技术,如 DL、ID 树、SVM)的教程。当我在 python 或 MATLAB 或等效程序中进行小规模机器学习时,我通常有一个带有特征的 CSV 文件和一个带有标签的 CSV 文件,我将这些文件加载​​到内存中,然后根据程序的要求组织它们(例如矩阵对于matlab)。

我正在实时收集系统性能数据。每隔几分钟,我就会收集大量数据,目前我将其存储为 Json 格式 {Key: value} 等。我通常会收集这些数据并将其存储一个小时以查看我的系统运行情况。相反,我想做的是保留它并尝试对其进行一些机器学习。我想知道为机器学习组织数据集的经验法则是什么,特别是因为我不确定我想做什么样的机器学习(这是一个探索项目,所以我试图找出一种方法让自己能够做最多的探索)。

我看了这篇博文:https://www.altexsoft.com/blog/datascience/preparing-your-dataset-for-machine-learning-8-basic-techniques-that-make-your-data-better/

开始使用纸质分类帐收集数据的公司和 以 .xlsx 和 .csv 文件结尾的文件可能会更难 数据准备比那些拥有小而自豪的 ML 友好 数据集。

它说 .csv 数据集对 ML 不友好。是否有一些方法可以保存被认为更适合 ML 的数据?

以下是我正在考虑的几个用例:

  1. 使用与标签配对的时间点数据进行分类
  2. 使用时间序列进行分类(以单个矩阵组织) 与标签配对
  3. 回归:在给定矩阵的情况下预测 X 的值 它的时间序列值

我没有特别的问题。相反,我想开始以一种能够在未来启用机器学习的方式来设置这个数据集。

我的问题是:存储数据以启用机器学习的更流行的方法是什么?

一些选项:

按时间组织的CSV:

Time_stamp, feature1, feature2, feature3,...,featureN
Time_stamp, feature1, feature2, feature3,...,featureN
Time_stamp, feature1, feature2, feature3,...,featureN
...

还有一些入门标签(以后可能会或可能不会增加)

Time_stamp, label1, label2....labelN
Time_stamp, label1, label2....labelN
Time_stamp, label1, label2....labelN

Json 风格的键值对:

{
time_stamp: _,
feature1: _,
feature2: _,
...,
featureN:_,
label1:_,
label2:_,
label3:_,
...
}

假设我决定使用时间序列来预测标签...然后我必须将时间序列数据全部放入标签的一个特征集中。

我知道有很多方法可以解决这个问题(一个是:忘记组织 - 只需编写一个 API,当您找到要解决的问题时,为您的问题生成这个组织良好的数据集),但实际上,我想知道工业界和学术界为机器学习设计数据端基础设施的经验法则是什么。

出现的一些问题:

  • 如果您想添加新功能怎么办?
  • 如果您有新标签怎么办?
  • 如果您不想只考虑单点时间特征,而是在分析中使用时间序列特征怎么办?

我对数据库了解不多,因此非常感谢智慧,以及与功能存储相关的在线资源。我发现的大多数都与模型或 ML 基础架构有关,而不是我感兴趣的支持或数据组织部分。

【问题讨论】:

    标签: json database machine-learning data-mining feature-extraction


    【解决方案1】:

    对于我使用过的大多数机器学习库(tensorflow、keras、scikit-learn、R),数据通常以表格格式(如 CSV)处理,因为在底层实现了许多机器学习算法快速线性代数代码。所以我不确定这篇文章是关于什么的,但是以 CSV 格式存储数据是可以的。

    数据清理、组织和存储是大主题。您的数据清理管道(以及您的整个训练过程)应该是可重现的,this paper 有一些很好的原则需要牢记。 This article by Hadley Wickham 对如何以表格格式组织数据有一些很好的想法。如果您的数据集很复杂,或者您要经常重复使用它,则可能值得将其存储在数据库中,我建议您阅读 SQL 和数据仓库指南。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-11
      • 2015-04-11
      • 2017-12-25
      • 2011-03-11
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 2011-06-16
      相关资源
      最近更新 更多