网上有很多关于不同机器学习工具的教程(神经网络和各种相关技术,如DL,ID树,SVM)。当我进行小规模的机器学习时,在python或MATLAB或同等版本中,我通常有一个带有功能的CSV文件和带有标签的CSV文件,我将这些文件加载到内存中,然后按照程序的要求组织它们(例如Matrix对于matlab)。
我正在实时收集系统性能数据。每隔几分钟,我会收集大量数据,目前我将其存储为Json格式{Key:value}等。我通常收集这些数据并将其存储一小时,以查看我的系统是如何工作的。我想要做的是保留它并尝试对它进行一些机器学习。我想知道用于组织机器学习数据集的经验法则是什么,特别是因为我不确定我想做什么样的ML(这是一个探索项目,所以我想找到一种方法来使自己能够做最多的探索)。
使用纸质分类帐开始数据收集的公司 用.xlsx和.csv文件结束可能会有更难的时间 数据准备比那些拥有小而自豪的ML友好的人 数据集。
它说.csv数据集对ML不友好。是否有一些方法可以保存被认为对ML更优化的数据?
以下是我正在考虑的几个用例:
我没有特别的问题。相反,我想开始以一种在未来启用机器学习的方式设置此数据集。
我的问题是:为了启用机器学习,有哪些更流行的数据存储方式?
一些选项:
按时间组织的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基础设施有关 - 而不是我感兴趣的支持或数据组织。
答案 0 :(得分:2)
对于我使用过的大多数机器学习库(tensorflow,keras,scikit-learn,R),数据通常以表格格式(如CSV)进行处理,因为在引擎盖下使用许多机器学习算法快速线性代数代码。所以我不确定文章是关于什么的,但以CSV格式存储数据很好。
数据清理,组织和存储是很重要的主题。您的数据清理管道(以及整个培训过程)应该是可重现的,this paper有一些很好的原则要记住。 This article by Hadley Wickham对如何以表格格式组织数据有一些很好的想法。如果您的数据集很复杂或者您经常重复使用它,那么它可能值得存储在数据库中,我建议您选择SQL指南以及数据仓库。