我通过教科书和示例学习了机器学习,但没有深入研究处理像 Kaggle 这样的“大”数据所面临的工程挑战。
作为一个具体的例子,我正在研究纽约出租车旅行挑战。这是一项针对约 200 万行和 20 列的回归任务。
我的 4GB-RAM 笔记本电脑几乎无法在 Jupyter Notebook 中pandas执行EDA。matplotlib但是,当我尝试用 1000 棵树构建一个随机森林时,它会挂起(例如 Jupyter Notebook 中的内核重启错误)。
为了解决这个问题,我设置了一个 16GB-RAM 的桌面。然后我 ssh 进入,启动一个无浏览器的 Jupyter Notebook 内核,并将我的本地 Notebook 连接到该内核。但是,我仍然最大限度地使用那台机器。
此时,我猜测我需要将模型训练代码作为脚本运行。
- 这对我的机器悬挂有帮助吗?
- 存储模型结果并稍后用于预测的工作流程是什么?您是否使用 Makefile 来保持此可重现性?
- 这样做也会牺牲 Jupyter Notebook 的交互性——是否有保持交互性的工作流程?
我目前的工具包是 RStudio、Jupyter Notebook、Emacs,但我愿意学习新东西。