# 如何学习任何机器学习工具

> 原文： [https://machinelearningmastery.com/how-to-learn-any-machine-learning-tool/](https://machinelearningmastery.com/how-to-learn-any-machine-learning-tool/)

机器学习工具通过自动化机器学习项目的各个方面来节省您的时间。

有 **_ 平台 _** 可以用来端到端地完成机器学习项目。还有 _**库**_ 为一个机器学习项目提供了功能。

使用正确的机器学习工具与使用正确的机器学习算法同样重要。但是有很多机器学习工具可供选择。

*   你怎么知道使用哪种工具？
*   你怎么知道你正在充分利用你的工具？
*   你怎么能证明你知道如何使用工具呢？

在这篇文章中，您将发现 5 种可用于学习和掌握任何机器学习工具的策略。

![Learn Any Machine Learning Tool](img/639fea806fd8f4df9800276996f501c1.jpg)

学习任何机器学习工具
摄影： [Matteo Paciotti](https://www.flickr.com/photos/matte4president/7643143554/) ，保留一些权利。

## 什么工具在那里

如果你不知道那里有什么工具，你可能只选择你遇到的第一个工具，它可能适合你或你的项目。

你需要知道那里有什么工具。对于给定的问题，有很多工具可供选择。针对不同编程语言，不同问题类型的不同工具，甚至是提供完全不同类型的建模算法的相同平台的工具。

重要的是要记录并确切知道可用的内容，并经常这样做。

## 如何使用工具

如果你不知道如何使用工具，你可能会浪费很多时间来计算它。

我们都看到了开发人员，即使多年后也无法有效地推动他的编辑。您需要了解使用该工具的最佳实践。您需要购买管理数据或制定项目的方式。您需要了解最常见功能的键盘快捷键或 API 怪癖。

知道如何专业地驾驶工具将为您节省大量时间。您可以利用这段时间进行更准确的预测或转移到新项目上。

## 跟踪新工具

如果你不掌握新工具，你可能会错过很多机会。

总会有新工具发布。新工具可能包括更好的自动化以执行常见任务他们几乎肯定会包括访问新的和更强大的机器学习算法。

跟踪工具的更新和新机器学习工具的到来非常有意义。

## 不要浪费你的时间

许多机器学习工具都是侧面项目或尚未准备好迎接黄金时段。你可能不想浪费你的时间。

您需要能够非常快速地总结工具的质量和功能，以帮助您决定是否花时间来了解它。

一旦你花时间学习如何使用工具，你需要激光专注于收集你可以在实践中实际使用的工具的细节，以建立更好的模型，并做出更准确的预测。

一旦你真正擅长驾驶特定工具，你需要一种方法来展示你的技能。你可以整天向某人解释你擅长使用这个或那个工具，但更容易使用简单的指标来显示（而不是告诉）你已经掌握了这个工具。这对面试很有用。

## 使用系统过程

您需要一个系统的过程来发现您可以使用或了解更多信息的机器学习工具。

您需要一种方法，可以用来处理机器学习工具的所有文档，示例和漏洞，并快速找出它可以为您做什么以及您是否可以信任它。

您需要一种结构化的方式来收集工具的使用信息，使其映射到您的流程以完成机器学习项目，以便您可以在下一个项目中高效且有效地使用它。

您可以非常快速地学习任何机器学习工具，并获得特定领域的专家级技能。您只需使用逐步系统化过程即可。

## 学习任何机器学习工具

您可以使用 5 种策略来学习任何机器学习工具：

### 1.列出工具

创建机器学习工具列表。

使用电子表格并创建列标题，以获取有关每个工具的详细信息，例如名称，URL，编程语言和它支持的数据源类型。使用您最喜欢的搜索引擎，在网上搜索您可以使用的候选工具。根据您的要求对每个工具进行排名，并列出您可能希望进一步调查的工具清单。

这种简单且经过时间考验的方法可以非常快速地消除不确定性，缩小范围并开始使用。列表不必完整，只需要有用。很难找到很难找到的工具，可能对你不那么理想或有用。

举个例子可能不像我建议的那么简单：

*   [Java 机器学习工具](http://machinelearningmastery.com/java-machine-learning/)

### 2.描述工具

根据您的需求创建机器学习工具的描述。

打开一个空白文本文档，并为关于一个工具的关键问题创建标题。诸如算法所做的问题是支持吗？它是如何加载数据的？它支持哪些语言？可以保存型号吗？多久以前是最后一次发布？深入了解该工具的文档，示例，论坛，评论和 API，并快速收集您的问题的答案。将您的定制描述限制在一页。重复其他工具并进行比较和对比。

这种简单的策略避免了花费数天（或更长时间）阅读工具上的所有文档以确定它是否适合您的需求（当您可以使用该时间评估其他工具或开始使用项目时）的陷阱。

例如，以下是工具的一些描述：

*   [什么是 Weka](http://machinelearningmastery.com/what-is-the-weka-machine-learning-workbench/)
*   [什么是 R](http://machinelearningmastery.com/what-is-r/)
*   [温和地介绍 scikit-learn](http://machinelearningmastery.com/a-gentle-introduction-to-scikit-learn-a-python-machine-learning-library/)

### 3.程序化工具

将工具使用信息捕获到一个快速入门指南中，您可以使用该指南快速获得结果。

打开一个空白文本文档，并列出工具支持的机器学习项目的主要任务标题。这可能包括加载数据，分析数据，转换数据，构建模型，评估模型等。编写有关如何使用该工具获取每个标题结果的过程。使用虚拟数据（例如来自 [UCI 机器学习库](http://machinelearningmastery.com/practice-machine-learning-with-small-in-memory-datasets-from-the-uci-machine-learning-repository/)的数据集）。如果该工具提供多种技术，请列出多个过程。

在开始一个新项目时，您会惊讶于简短的秘籍有多么宝贵。复制并粘贴它们并修改以使用您的数据集。

例如，以下是一些程序：

*   [R 与决策树的非线性分类](http://machinelearningmastery.com/non-linear-classification-in-r-with-decision-trees/)
*   [如何使用 Scikit-Learn](http://machinelearningmastery.com/how-to-tune-algorithm-parameters-with-scikit-learn/) 调整算法参数

### 4.调查工具

创建演示或迷你教程，演示如何使用工具的特定功能或功能。

选择有趣或通常有用的工具的功能或功能。创建关于从业者或初学者如何使用该功能的简短帖子，视频或教程。提供逐步程序，指出限制和最佳实践启发式。公开发布，以便它可以用于帮助其他人，例如在您的博客，GitHub，论坛或 YouTube 上。

您可以使用少量的小型调查来显示您知道如何使用该工具获得结果的可信度。不要担心，如果有类似的教程，使用你的声音，并让你旋转如何使用该功能。

例如，以下是一些教程：

*   [如何使用合奏](http://machinelearningmastery.com/improve-machine-learning-results-with-boosting-bagging-and-blending-ensemble-methods-in-weka/)改善 Weka 的机器学习效果
*   [如何在 Weka 中运行您的第一个实验](http://machinelearningmastery.com/design-and-run-your-first-experiment-in-weka/)
*   [如何在 Weka](http://machinelearningmastery.com/how-to-run-your-first-classifier-in-weka/) 中构建您的第一个分类器

### 5.增强工具：

扩展或创建工具插件，以进一步自动化，填补功能差距并展示掌握。

在实践中大量使用工具后，您将意识到限制和缺少的功能。对于库和命令行工具，您甚至可以创建包装器脚本和辅助函数。收集此信息并为该工具创建扩展，包装或插件。将其缩小，使用示例进行详细记录，并在 GitHub 等平台上将其作为开源发布。

创建工具的扩展通常会使您需要或已经私下使用的流程正式化，允许其他人利用这些功能并证明您对工具的深入了解甚至掌握。

回到当天，我为 Weka 创建了一堆插件，然后将它们清理干净并将它们作为开源项目发布。他们可能会或可能不会工作，但这里是链接：

*   [WEKA 分类算法插件](http://wekaclassalgos.sourceforge.net/)：包括 LVQ，SOM，神经网络和人工免疫系统算法。

## 你可以学习任何机器学习工具

**你不需要成为程序员**。有许多机器学习工具可提供图形用户界面或命令行界面，使您无需编写代码即可构建模型并进行准确预测。

**你不需要知道任何数学**。就像你不需要数学来驱动 Microsoft Excel 一样，你不需要数学背景来驱动很多（如果不是大多数）机器学习工具。找出您需要的功能，选择一个工具并亲眼看看。

**您不需要学习特定的编程语言**。选择一种编程语言，你会发现有机器学习库可用。一些库已经存在更长时间并且更成熟。还有用于机器学习的 Web 服务 API 作为支持各种不同语言的服务。如果你不想，你甚至不需要编写代码来进行机器学习。最后，如果您正在自学，您应该选择最适合您的项目或背景的语言。

**你不需要成为机器学习专家**。您不需要成为机器学习专家就可以使用机器学习工具。事实上，我建议您在开始加速学习并快速提供结果并建立信心时使用像 WEKA 这样的机器学习平台。

**您无需成为该工具**的专家。我看到很多专业程序员不知道如何使用编辑器或 IDE。它减慢了它们的速度。当您将工具作为研究对象时，您可以学习如何比机器学习专家或工具更好地驾驶工具。很少有人这样做，如果你这样做会给你一个巨大的优势。您甚至可以开始在专家论坛上回答有关如何使用该工具的问题，因为当其他从业者没有这样做时，您会费心去研究它。

你有问题吗？将其发布在下面的评论中。

## 摘要

您可以学习任何机器学习工具。从发现哪些工具，选择使用哪种工具并证明您可以很好地使用它。

您可以用来学习任何机器学习工具的 5 种策略是：

1.  **列表工具**：列出满足您需求的工具。
2.  **描述工具**：定制工具描述以回答您的问题。
3.  **程序化工具**：为常用机器学习项目任务创建秘籍，您可以将其用作跳转启动指南。
4.  **调查工具**：创建工具特性和功能的小型教程和演示作为实践并展示专业知识。
5.  **扩充工具**：为工具创建扩展和插件，以正式化您的使用，包装或填补功能差距并展示掌握。

如果您想了解有关机器学习工具类型的更多信息，请参阅[机器学习工具](http://machinelearningmastery.com/machine-learning-tools/)。

## 你的下一步

是否有您想学习的机器学习工具？

1.  承诺。立即开始学习工具！
2.  选择并应用上述策略之一。
3.  花费不超过 1 小时。
4.  在评论中回顾，我很想看到你发现了什么。