json - 机器学习友好的数据组织

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

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

4年前关闭。




Improve this question




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

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

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

The companies that started data collection with paper ledgers and ended with .xlsx and .csv files will likely have a harder time with data preparation than those who have a small but proud ML-friendly dataset.



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

以下是我正在考虑的一些用例:
  • 使用与标签配对的时间点数据进行分类
  • 使用时间序列进行分类(以单个矩阵组织)
    与标签
  • 配对
  • 回归:在给定矩阵的情况下预测 X 的值
    它的时间序列值

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

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

    一些选项:

    按时间组织的 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 基础设施有关——而不是我感兴趣的支持或数据组织部分。

    最佳答案

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

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

    关于json - 机器学习友好的数据组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46982777/

    相关文章:

    Android ListView 未在真实设备上显示但在模拟器上显示

    mysql - 使连接表的行成为主查询的字段名称和值?

    python - (千层面)ValueError : Input dimension mis-match

    opencv - libsvm 准确吗?

    php - 在 PHP 中读取和显示 JSON 对象时遇到问题

    .net - EF 4.1 + MVC + JSON 循环引用异常的最佳解决方案?

    sql - 如何强制执行 "ALL-TO-ALL"关系?

    machine-learning - 衡量机器学习模型是否过度拟合的正确方法是什么?

    android - 如何在android中使用迭代器获取Json键和值

    sql - ORA-01843 : not a valid month error when using to_date function