如果我不是一个好的程序员

编程是机器学习的一部分,但机器学习远不止编程。 

在本帖中,您将了解到,您不必成为一名程序员也能开始机器学习或解决复杂问题。

编程机器学习

机器学习算法是用代码实现的。程序员喜欢自己实现算法,以真正理解算法的工作原理。为了充分利用算法,使其适应特定问题,这可能也是必需的。

What if I'm Not a Good Programmer

如果我不是一个好的程序员
照片来源:mutednarayan,保留部分权利

解决问题不仅仅是算法。例如,在清晰地定义问题、准备数据和呈现结果方面还有更多的工作。即使算法也可以现成使用,并针对问题进行调整。

图形机器学习环境

您可以在不接触一行代码的情况下取得长足的进步。这是因为有很棒的软件可用。

有三个流行的机器学习环境可供您使用,它们不需要任何编程即可入门或在解决问题上取得重大进展。

  • Weka:一个图形机器学习工作台。它提供了一个探索器,您可以使用它来准备数据、运行算法和查看结果。它还提供了一个实验器,您可以在其中在一个受控的环境中执行相同的任务,并设计一批算法运行,这些运行可能需要很长时间,然后查看结果。最后,它还提供了一个数据流接口,您可以在其中将算法像流程图一样连接起来。在底层,您可以将 Weka 用作 Java 库,并编写使用这些算法的程序。
  • BigML:一个 Web 服务,您可以在其中上传数据、准备数据并运行算法。它提供了干净易用的界面来配置算法(决策树)和查看结果。此服务的最佳功能是它全部在云端,这意味着您只需要一个 Web 浏览器即可开始使用。它还提供了一个 API,如果您喜欢,可以围绕它构建应用程序。
  • Orange:提供了一个用于可视化编程的设计工具,允许您将数据准备、算法和结果评估连接在一起,创建机器学习“程序”。它为环境提供了 100 多个小部件,还提供了 Python API 和库以集成到您的应用程序中。

脚本化机器学习环境

您不必成为一名出色的程序员才能编写连接组件的脚本。您可能会认为自己是一名程序员,只是不是一个非常有信心的程序员。

脚本是介于机器学习环境和更具编程密集型的解决方案(例如使用代码库)之间的绝佳中间地带。在本节中,您将回顾两个用于机器学习的脚本环境。

  • Scikit-Learn:用 Python 编写的脚本环境和库,提供机器学习算法和数据预处理。它提供了大量的文档和示例供您开始。
  • Waffles:一组命令行工具。如果 Orange 是一个图形编程环境,那么 Waffles 就是一个命令行编程环境。它提供了准备和可视化数据、运行算法和总结结果的工具。它用 C++ 编写,并提供了一个可以集成到更大程序中的 API。

不要从代码开始

无论您是否是程序员,我都建议您在图形和脚本机器学习环境中探索问题。

我认为不从代码开始有很多好处。通过应用算法,您可以更快地学到更多,而不是首先尝试深入理解它们。三个好处包括:

  • 流程:WEKA 等平台围绕分析、准备、算法运行和结果评估的流程构建。它们可以训练您进行实验的纪律,而不是如何运行算法。这使您可以专注于从问题到解决方案的路径,而不是深入学习机器学习。
  • 发现:您可以发现您以前未曾想过的数据准备步骤和您以前未曾听说过的算法。您可以探索比您需要逐一研究和实现它们,或阅读 API 文档来弄清楚有什么可用的方法多得多的方法。
  • 速度:当您不必自己实现所有内容或编写代码来实现每个实验时,您可以更快地尝试更多方法。

在本帖中,您了解到您不必成为一名熟练的程序员也能在机器学习领域入门或取得进展。您了解到有许多可用选项,其中两个具体例子是图形和脚本机器学习环境。这些环境可用于学习机器学习和解决复杂问题。

47 条对《如果我不是一个好的程序员》的回复

  1. Dominik Holenstein 2015年11月23日晚上9:29 #

    嗨,Jason,

    非常感谢分享这些工具。我会仔细看看 Orange 和 Waffles。
    此外,我可以推荐 KNIME,它也有一个图形化方法,包括 Python、R、Wekka 和许多其他 ML 库。

    https://tech.knime.org/getting-started

    Dominik

    • András 2016年2月22日晚上10:34 #

      嗨,Jason,

      感谢您这些鼓舞人心的帖子!就像 Dominik 一样,我也推荐 KNIME,因为它是一个非常强大的工具,尤其是对于新手。它拥有易于学习和直观的用户界面,因此您可以立即开始使用它,即使您对机器学习只有最浅显的了解,也能取得显著的成果。另一方面,凭借其扩展(尤其是与 R 和 Python 的集成),它也将成为才华横溢且经验丰富的专业人士的强大而高效的工具。

      继续写这些精彩的帖子!
      András

  2. Kleyn Guerreiro 2016年6月7日凌晨5:07 #

    一个好的比较是纯粹研究 X 应用研究……我猜您想说的是:为问题找到一个解决方案(应用研究),而将纯粹研究(比如构建一个您一开始不知道有什么用的新算法)留给博士……
    我同意您的观点!

  3. Jin 2016年7月5日晚上5:22 #

    Jason,您好。非常感谢这些信息。这正是我想要的!

  4. Jin 2016年7月5日晚上5:32 #

    我在数学方面相当不错,对 ML 的作用有大致的了解。我只有入门级的 Python 技能。我需要多长时间才能开始使用 ML 来处理我的数据?

    • Jason Brownlee 2016年7月6日早上6:22 #

      您可以在一个周末学会 Weka,并在几周内熟练掌握处理小型数据集的端到端流程。有很多东西要学,但如果您投入时间,可以快速获得结果。

  5. ijem 2016年10月28日凌晨5:01 #

    非常感谢您的所有帖子!Machine learning mastery 是 ML 入门者的权威指南。H2O 会被归类在上面的哪个位置?

    • Jason Brownlee 2016年10月28日早上9:19 #

      谢谢 ijem。

      H2O 是 MLaaS,就像 BigML、Google Predict 等一样。我认为它是一个很棒的平台,适合想要开始将机器学习融入其软件而无需从头开始实现方法/使用本地库的开发人员。

  6. Hashim 2016年11月17日凌晨3:53 #

    我能否将这些框架与我的数据库和 .net 连接起来?

  7. Avishai Poorun 2016年12月3日凌晨2:57 #

    谢谢 Jason 的详细信息,您是 AI 领域的翘楚。
    我能想象您付出的艰辛努力,如今您能轻松地掌握 AI。对我们来说理解起来很容易,但对您当初刚开始时,我觉得您不会轻松,而是很忙碌。

  8. Akshatha 2017年2月21日凌晨2:08 #

    谢谢!这确实为我开始学习铺平了道路。一直以来,我都因为假设我的数学和编程技能达不到机器学习的先决条件而拖延。🙂

    • Jason Brownlee 2017年2月21日早上9:36 #

      很高兴您觉得这篇帖子有用,Akshatha。坚持下去!

  9. Sanjay 2017年7月9日凌晨1:29 #

    大家好,

    我对机器学习是新手,并且只有最少的编码知识。我的目标是创建图像检测、对象检测以及语音到文本和文本到语音的翻译 AI,并将其部署到像树莓派这样的硬件上。是否有任何基于 GUI 的工具可以帮助我实现上述要求?

    • Jason Brownlee 2017年7月9日早上10:55 #

      可能有一些,我手头没有。

      • Sanjay 2017年7月9日晚上5:46 #

        您能否帮我搜索一下相同或类似的东西?我搜索过了但找不到。

  10. Susma 2017年10月10日凌晨2:03 #

    感谢 Jason Brownlee!这篇帖子对我深入研究和分析 ML 算法非常有帮助。

  11. Abeet Bhat 2017年11月17日晚上7:11 #

    嗨 Jason……您的文章给了我进入机器学习所需的动力……我编程不是很好……刚刚开始应用算法……但我正在使用 RAPID MINER……这是一个好工具吗???
    再次感谢您的文章……

  12. Jesús Martínez 2018年2月20日凌晨2:56 #

    感谢这篇文章,Jason。根据您的经验,如果一个人在编码和原型解决方案方面做得很好、很快,他/她仍然可以从使用 Weka 等图形工具中受益吗?还是它更偏向于新手或对自己编程技能不太自信(足够)的人?

    感谢您的时间和关注!

    • Jason Brownlee 2018年2月21日早上6:31 #

      是的,有时 Weka 的效率比编写代码更高。它非常适合快速原型或演示可能实现的方案。或小型项目。

  13. Bhawana Mathur 2018年9月6日早上9:41 #


    我下载 WEKA 到电脑后,在笔记本电脑上没有看到 WEKA 的 GUI 选择器。

  14. Jose 2018年11月8日早上11:27 #

    晚上好,Jason!
    您在

    Orange: 提供了一个用于可视化编程的设计工具,允许您将数据准备、算法和结果评估连接在一起,创建机器学习“程序”。它为环境提供了 100 多个小部件,还提供了 Python API 和库以集成到您的应用程序中。

    的链接不起作用……

    http://orange.biolab.si/
    403 Forbidden
    nginx/1.11.13

  15. Elhadj 2019年5月10日晚上8:21 #

    非常感谢您提供的优秀建议。

  16. Pradeepta 2019年7月5日凌晨4:32 #

    Jason,您好,我阅读了您的博客。它对我有很大帮助。您能否告诉我如何从脚本而不是图形开始 ML?我应该先学习 ML 再去使用脚本工具,还是反过来?我只有 Python,可以使用哪些脚本工具?

    • Jason Brownlee 2019年7月5日早上8:09 #

      也许可以先学习 Python 编程语言。

      • Pradeepta 2019年7月5日晚上4:41 #

        ML 需要多少 Python 知识,因为我不想成为一名 Python 开发人员?我应该关注哪些主要方面,何时才能开始 ML?

        • Jason Brownlee 2019年7月6日早上8:24 #

          您无需编程即可开始使用 Weka。
          https://machinelearning.org.cn/start-here/#weka

          • Pradeepta 2019年7月6日晚上1:02 #

            我对此感兴趣。那么,您能否告诉我“ML 需要多少 Python 知识,因为我不想成为一名 Python 开发人员?我应该关注哪些主要方面,何时才能开始 ML?”

          • Jason Brownlee 2019年7月7日早上7:47 #

            如果您想使用 Python 进行机器学习,您需要了解如何使用该语言。

  17. Pradeepta 2019年7月8日晚上4:50 #

    谢谢。那么,我将开始学习 Python。

  18. Patrice Chartier 2020年8月4日凌晨4:52 #

    您对 Alteryx Analytics 有何看法??

  19. Dr. Madhukar M Rao 2021年2月17日晚上9:23 #

    尊敬的 Brownlee 博士,您对 Deep Learning Studio(来自https://deepcognition.ai)有什么看法?他们提供了一个图形用户界面来构建和训练深度神经网络模型。

    谢谢你。

  20. Dudu 2023年2月8日晚上8:27 #

    感谢分享,我很欣赏您的奉献精神。

发表回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。