在参加 Coursera 的机器学习课程时,我发现我可以使用我工作的公司的数据库(约 50MM 记录)来做一些线性回归实验。
但是提出这个实验所涉及的步骤之一是定义这个任务所需的技术堆栈。
据我了解,应涵盖以下任务:
- 读取原始数据并将其存储在非生产数据库中
- 将数据转换为“回归友好”格式
- 将转换后的数据存储在中间数据库上
- 计算实际回归
对于#1,我可以采取一些路径,例如自定义 .NET 或 Java 程序,甚至使用 ETL 过程(这更多是为了将数据复制到其他地方并且不要弄乱生产数据库)。
#2 有趣的部分开始了:我应该考虑为 <100MM 记录数据库使用专门的工具吗?如果是这样,您建议如何将此数据转换为类似矩阵的表示?
我相信 #3 取决于 #4:我看到很多基于文本或 csv 文件的样本(例如:在 R 或 Matlab/Octave 中)。这些是这些计算的标准格式吗?或者我应该从数据库中读取
对于#4,据我所知,使用 R 是要走的路,对吧?
最后,我应该考虑一个多千兆多处理器服务器,还是考虑到它是一个实验,其中花费几个小时的计算不是一个大问题,一台 4GB 的机器可以完成这项工作?
我知道这个问题可能被认为过于宽泛,但我真的很想听听你的意见,我应该为此考虑什么,即使我遗漏了一些东西(或走上了完全错误的道路)。
关于数据,您可以将其视为波士顿的房价:它是一个包含 30 个特征(列)的数据集,用于预测其中一列的值。
(最初发布在 Stack Overflow 上的问题)