Python机器学习/数据科学项目结构

数据挖掘 Python
2021-10-13 04:35:45

我正在寻找有关如何组织 Python 机器学习项目的信息。对于 Python 常用项目,有Cookiecutter和 R ProjectTemplate

这是我当前的文件夹结构,但我将 Jupyter Notebooks 与实际的 Python 代码混合在一起,看起来不是很清楚。

.
├── cache
├── data
├── my_module
├── logs
├── notebooks
├── scripts
├── snippets
└── tools

我在脚本文件夹中工作,目前在 my_module 下的文件中添加所有函数,但这会导致加载数据时出错(相对/绝对路径)和其他问题。

除了一些 kaggle 竞赛解决方案和一些具有在此类 Notebook 开始时浓缩的所有功能的 Notebook 之外,我找不到关于此主题的适当最佳实践或好的示例。

2个回答

我认为这个发展中的领域还没有最佳实践,但是除了 cookiecutter 之外,在 SciPy 2016 会议上的教程中还展示了一些有趣的想法。

就个人而言,我尽量减少项目中子文件夹的数量,除非我有很好的方法来区分它们并且有充分的理由将它们分开。糟糕的组织几乎和没有组织一样糟糕。我认为最佳实践可能取决于用例——并非每个项目都需要相同数量的样板。

华盛顿大学发布了一个小型科学 Python 项目(包括数据科学项目)的项目模板,名为shablona. 这或多或少是你要找的吗?