机器学习工具通过自动化机器学习项目的各个方面来为您节省时间。
有一些平台可供您端到端地完成机器学习项目。还有一些库可以为机器学习项目的某个部分提供功能。
使用正确的机器学习工具与使用正确的机器学习算法一样重要。但是,有很多机器学习工具可供选择。
- 您如何知道使用哪个工具?
- 您如何知道充分利用了您的工具?
- 您如何证明自己知道如何使用某个工具?
在本篇文章中,您将发现 5 种可以用来学习和掌握任何机器学习工具的策略。

学习任何机器学习工具
照片作者:Matteo Paciotti,部分权利保留。
有哪些工具
如果您不知道有哪些工具,您可能会随便选择第一个遇到的工具,而它可能非常不适合您或您的项目。
您需要知道有哪些工具。对于一个给定的问题,有如此多的工具可供选择。针对不同的编程语言,不同的问题类型,甚至同一平台上的工具,都有不同的工具,它们提供完全不同类型的建模算法。
定期盘点并确切了解哪些可用工具非常重要。
如何有效地使用工具
如果您不知道如何有效地使用某个工具,您可能会浪费大量时间在过程中摸索。
我们都见过这样的开发者,即使多年后仍然无法有效地使用他们的编辑器。您需要了解使用该工具的最佳实践。您需要接受它管理数据或组织项目的方式。您需要学习最常用功能的键盘快捷键或 API 技巧。
熟练掌握使用工具将为您节省大量时间。您可以利用这些时间做出更准确的预测或开始新项目。
跟踪新工具
如果您不关注新工具,您可能会错过巨大的机会。
总有新工具发布。新工具可能包含对常用任务更好的自动化。它们几乎肯定还会包含对新的、更强大的机器学习算法的访问。
跟踪工具的更新和新机器学习工具的出现都是非常有意义的。
不要浪费您的时间
许多机器学习工具是副项目,或者尚未准备好投入使用。您可能不想将时间浪费在这些工具上。
您需要能够快速总结一个工具的质量和功能,以帮助您决定是否值得投入时间去了解它。
一旦您投入时间去学习如何熟练使用某个工具,您就需要专注于收集该工具中实际可用于构建更优模型和做出更准确预测的细节。
一旦您熟练掌握了使用某个特定工具,您就需要一种方式来展示您的技能。您可以花一整天时间向别人解释您擅长使用某个工具,但使用简单的指标来展示(而非讲述)您已掌握该工具会更容易。这在面试中很有用。
使用系统化流程
您需要一个系统化的流程来发现有哪些机器学习工具可供您使用或进一步了解。
您需要一种方法来处理机器学习工具的所有文档、示例和冗余信息,并快速找出它能为您做什么,以及您是否可以信任它。
您需要一种结构化的方式来收集工具的使用信息,使其能够映射到您处理机器学习项目的流程,以便您可以在下一个项目中使用它,并使其高效且有效。
您可以通过分步的系统化流程,非常快速地学习任何机器学习工具,并达到特定领域的专家级别技能。
学习任何机器学习工具
有 5 种策略可以帮助您学习任何机器学习工具
1. 列出工具
创建机器学习工具列表。
使用电子表格并为每种工具所需的详细信息(如名称、URL、编程语言和支持的数据源类型)创建列标题。使用您喜欢的搜索引擎,在网上搜寻您可能使用的候选工具。根据您的要求对每个工具进行排名,并制作一份您可能需要进一步调查的工具的候选名单。
这种简单且久经考验的方法可以非常快速地消除不确定性,缩小范围并让您开始。列表不必完整,只需有用即可。那些难以找到的工具,不被人谈论,可能对您来说也不是那么理想或有用。
举一个可能不那么简单的例子,但我会推荐
2. 描述工具
创建针对您需求的机器学习工具描述。
打开一个空白文本文件,为关于某个工具的关键问题创建标题。例如:它支持哪些算法?它如何加载数据?它支持哪些语言?它可以保存模型吗?最后一次发布是什么时候?深入研究该工具的文档、示例、论坛、评论和 API,快速收集您问题的答案。将您量身定制的描述限制在一页内。对其他工具重复此过程,然后进行比较和对比。
这种简单的策略可以避免花费数天(甚至更长时间)阅读某个工具的所有文档来决定它是否适合您的需求,而您本可以利用这段时间评估其他工具或开始您的项目。
例如,这里有一些工具的描述
3. 程序化处理工具
将工具使用信息捕获到一个入门指南中,您可以用来快速获得结果。
打开一个空白文本文件,为工具支持的主要机器学习项目任务创建标题。这可能包括加载数据、分析数据、转换数据、构建模型、评估模型等。为如何使用该工具获得每个标题的结果编写详细的程序。使用虚拟数据(例如来自UCI 机器学习存储库的数据集)。如果工具提供多种技术,则列出多种程序。
当您开始新项目时,短小的“食谱”将有多么宝贵,您会感到惊讶。复制粘贴它们,然后修改以使用您自己的数据集。
例如,这里有一些程序
4. 研究工具
创建演示或迷你教程,展示如何使用工具的特定功能或能力。
选择该工具中您感兴趣或普遍有用的某个功能或能力。创建一个简短的帖子、视频或教程,说明从业者或初学者如何使用该功能。提供分步程序,指出局限性和最佳实践启发式。公开发布,以便它可以帮助他人,例如在您的博客、GitHub、论坛或 YouTube 上。
您可以使用少量迷你研究来展示您懂得如何使用该工具来获得结果。即使有类似的教程,也不要担心,用您的声音表达,并给出您对如何使用该功能的看法。
例如,这里有一些教程
5. 扩展工具
扩展或创建工具的插件,以进一步自动化、填补功能空白并展示精通。
一旦您在实践中大量使用某个工具,您就会意识到其局限性和缺失的功能。对于库和命令行工具,您甚至可以创建包装脚本和辅助函数。收集这些信息并创建一个工具的扩展、包装器或插件。使其体积小巧,带有示例并附有完善的文档,然后在一个平台(如 GitHub)上将其开源发布。
创建工具的扩展通常会规范您需要或已经在私下使用的流程,通过回馈允许他人利用这些功能,并展示您对该工具的深刻知识甚至精通。
以前,我为 Weka 创建了许多插件,然后又进行了清理并将它们作为一个开源项目发布。它们可能仍然可用,也可能不可用,但这是链接
- WEKA 分类算法插件:包括 LVQ、SOM、神经网络和人工免疫系统算法。
您可以学习任何机器学习工具
您不需要成为程序员。许多机器学习工具提供图形用户界面或命令行界面,让您无需编写任何代码即可构建模型并做出准确的预测。
您不需要了解任何数学知识。就像您无需数学知识即可使用 Microsoft Excel 一样,您也无需数学背景即可使用许多(如果不是大多数)机器学习工具。找出您需要哪些功能,选择一个工具,亲自去尝试。
您不需要学习特定的编程语言。选择一种编程语言,您就会发现有可用的机器学习库。一些库已经存在更长时间,并且更成熟。还有机器学习即服务(machine learning as a service)的 Web 服务 API,它们支持多种不同的语言。如果您不想写代码,您甚至不需要写代码就可以进行机器学习。归根结底,如果您是自学,您应该选择最适合您项目或您背景的语言。
您不需要成为机器学习专家。您不需要成为机器学习专家才能使用机器学习工具。事实上,我建议您使用 WEKA 等机器学习平台来入门,以加速您的学习并快速交付成果,建立您的信心。
您不需要成为工具专家。我见过许多专家级的程序员,他们甚至不太会使用他们的编辑器或 IDE。这会减慢他们的速度。当您将工具作为学习对象时,您可以比机器学习或工具方面的专家更熟练地使用它。很少有人这样做,如果您做了,您将获得巨大的优势。您甚至可以开始在专家论坛上回答关于如何熟练使用该工具的问题,因为您花了时间去学习它,而其他从业者没有。
您有疑问吗?在下面的评论中提问。
总结
您可以学习任何机器学习工具。从发现有哪些工具可用,到选择使用哪个工具,再到展示您能够熟练使用它。
您可以用来学习任何机器学习工具的 5 种策略是:
- 列出工具:列出满足您需求的工具。
- 描述工具:制作定制的工具描述来回答您的问题。
- 程序化处理工具:创建常用的机器学习项目任务的“食谱”,您可以将其用作入门指南。
- 研究工具:创建关于工具功能和能力的迷你教程和演示,作为练习并展示专业知识。
- 扩展工具:为工具创建扩展和插件,以规范您的使用、创建包装器或填补功能空白,并展示精通。
如果您想了解更多关于机器学习工具的类型,请参阅帖子机器学习工具。
你的下一步
您想研究哪种机器学习工具?
- 承诺。立即开始研究一个工具!
- 选择并应用上面描述的一种策略。
- 花费不超过 1 小时。
- 在评论中汇报,我很想看看您发现了什么。
这是一篇很棒的文章,可以帮助您系统地开始机器学习之旅。但是,那些想跳过某些步骤的人也可以跳过。
谢谢 Jason
谢谢。
谢谢 Jason,
我关注您已经几个月了。
在选择一个特定工具投入时间之前,我可能花了太多时间来分析哪个工具。
您知道 BigML 平台吗?我正在犹豫是选择它还是 Weka。
您能帮我一下吗?
非常感谢
我推荐 Weka,因为它免费开源,并且提供了一套方法。
你可以从这里开始
https://machinelearning.org.cn/start-here/#weka
谢谢你
不客气。
我们去年 11 月购买了您的全部课程。还没来得及学,然后开始使用 RapidMiner(我在 Twitter 上与他们的董事会讨论了与业务的相关性或举办活动等),然后决定我需要学习这些东西……所以我昨天就开始学习这个工具了!
然后找到了这篇文章——我们喜欢您的文章,因为您能将事物提炼到本质,然后列出来。
我会遵循您的建议,并打算好好学习它。您认为每天学习几个小时更好,还是——如果时间允许——完全沉浸式学习更好?
谢谢。
我建议遵循对您过去来说效果不错的流程。
对我来说,我更喜欢沉浸式/痴迷式。
尊敬的Jason博士,
在另一篇文章中,您提到了卢布尔雅那大学的“Orange”软件包。它是一个超过 480MB 的巨大软件包。我的互联网带宽有限。
您对这个软件包有什么简短的评论吗?
谢谢你,
悉尼的Anthony
抱歉,我没有。我很多年前就没用过了。