Map the Landscape of Machine Learning Tools

Last Updated on June 7, 2016

There are a lot of machine learning tools out there.

Which ones should you use? What tools could actually be useful on your project?

Choosing a tool is a big deal. The tools that you use for machine learning determine the results you can achieve. It is critical that you take the time to choose the best tools that you can for your project.

In this post you will discover a simple tactic that you can use to very quickly find out what tools are out there.

Map the Landscape of Machine Learning Tools

Map the Landscape of Machine Learning Tools
Photo by Zach Dischner, some rights reserved.

What Is the Machine Learning Tool Landscape?

There are hundreds if not thousands of tools that you can use for machine learning. You need to know what tools are out there. You want to know so that you can choose among the best tools for the one that is right for your project.

You could just use the first tool you come across on your project. The tool that is currently popular or being talked about on tech news sites. But how do you know that it is a good fit? How could the first tool you come across be the right fit for your project?

New tools are being released all the time. As well as updates and plug-ins to existing tools. You do not need to keep abreast of all machine learning tool releases, but it can be valuable if not required to periodically check in and see what the landscape looks like.

Make Lists of Machine Learning Tools

The solution is to make lists of machine learning tools.

A list gives you options that you can evaluate and choose from. You can use your requirements as search terms to create the list and you can capture only those salient details about each tool as column headers in your list.

Once you have the list of candidate tools, you can investigate them further and narrow it down to one or a few tools that you can actually evaluate or use on your project.

How To Make Useful Lists Fast

So how do you create good lists of machine learning tools?

Your lists should be created fast. There is no need to spend much time creating them. The important point is that you are doing some research and giving yourself options before committing to a tool that may define the success of your project.

Quick 5-Step Process

Below is a quick 5-step process that you can use to quickly create useful lists of machine learning tools:

  1. Requirements. List the requirements you need for the tool. These will be the search term phrases you will use to locate candidate tools. This may include the programming language, features, capabilities and even interface. The more detailed you are with your requirements, the more specific your list of tools will be.
  2. Features: List out any highly important features or capabilities of a machine learning tool. These will be the column headings that you will capture for each tool. I’d recommend including at least the name of the tool and the URL for the tool’s homepage.
  3. Spreadsheet: Create a spreadsheet and list out the features as column headings. For example, you could use Microsoft Excel, LibreOffice or Google Sheets.
  4. Search: Use your favorite search engine and search for candidate machine learning tools using your requirements as qualifiers.
  5. List: Inspect each search result and capture the candidate tool in your spreadsheet if it is appropriate, filling in as many of your features (columns) as you can.

Tips to Create Useful Lists Fast

Below are 8 tips for making good quality lists.

  • Don’t spend more than 10 minutes creating your list. You want to ensure that you cover the landscape using a broad brush, but you do not want to be exhaustive.
  • Limit features to between 2 and 5. If you have too many features, you may spend too much time hunting for the details to fill in to your spreadsheet. The idea is to be quick. A detailed investigation can follow later.
  • Do not record duplicates. There’s no need to double up.
  • Exclude tools that are clearly not contenders. This is your list and it is OK to have entry requirements. If you’re worried about having to re-discover a tool you excluded, list it, but add a column called “First Impression” and add an honest entry.
  • Maintain your list over time. You can keep the list and invest additional time later to update and add new entries and even try new search terms. Lists of candidate tools can be useful when starting a new project or when you are looking for new tools to experiment with.
  • Rank candidate tools as you add them. Do not be afraid to capture your impression of the tool as you are adding it to the list. This can greatly speed up the process of creating a short list of tools to investigate further at a later time.
  • Share your list. Post it online, on a forum, or on social media. If you found the list useful, chances are that other people found it useful too.
  • Leverage other peoples lists. As you are searching you may discover that other people have created a similar list in the past. Depending on the date of what the list was created it may or may not be relevant. It may be helpful to capture these links in a related spreadsheet (or in a new tab of your existing spreadsheet) for later reading.

Ideas for Lists of Machine Learning Tools

Do you like this tactic but you don’t have any ideas of what to search for?

Below are 10 examples of lists of machine learning tools that you could create:

  • List of machine learning platforms with graphical user interfaces
  • List of machine learning as a service APIs
  • List of machine learning as a service website tools
  • List of machine learning libraries for (you favorite language)
  • List of deep learning libraries for (you favorite language)
  • List of computer vision libraries for (you favorite language)
  • List of natural language processing libraries for (you favorite language)
  • List of recommender system libraries for (you favorite language)
  • List of reinforcement learning libraries for (you favorite language)
  • List of rating system libraries for (you favorite language)

I would love to see what you came up with. Post in the comments.

You Can Make Tool Lists

Your list does not need to be exhaustive. In fact I recommend against creating exhaustive lists of machine learning tools. There is a point of diminishing returns at around 10-to-15 minutes where you start discovering peoples side projects that are unused, undocumented tools that you probably should not be going near.

You do not need to keep the list. You can discard the list after you create it and use it to create a short list or pick a tool. It can be an artifact that helped you make a decision.

You do not need to discard the list. You may want to keep your list if you are working on a lot of project and you would like to update and reevaluate the landscape of tools often. I find this a useful strategy.

You should not spend too long making the list. Lists of machine learning tools should be created quickly and put to use choosing a tool so that you can get started with your project. It is a stepping stone to starting your project. Do not let the list become the project!

You should not have many requirements on the list. Do not over specify your list of requirements. You may make it too difficult to find any matching tools. Try to separate desirable features from those attributes of a tool that are absolute requirements. Examples may include function (e.g. deep learning algorithms) and programming language (e.g. python).

The list will save you time. If you just search for tools you will end up reading a lot of material, retreading ground and not making a decision because you have no way to frame the tools consistently to make a comparison. This simple tactic of making a list before evaluating will save you hours of research and thinking.

The list will help you make better decisions. You will not use the first tool you come across or the first tool recommended to you. You will carefully consider your project requirements and at least consider more than one option.


In this post you discovered a simple tactic that you can use to discover the landscape of machine learning tools that you could use for your project within minutes.

A quick 5-step process was recommended to create your list:

  1. List tool requirements to use as search terms.
  2. List tool features you can use as column headers.
  3. Create a spreadsheet with column headers.
  4. Search using tool requirements.
  5. Add entries to your list from search results.

Next Step?

Do you need a tool for a machine learning project?

  1. Use this process and make a list of candidate machine learning tools.
  2. Spend no more than 10 minutes making your list.
  3. Report back in the comments and share your list.

No comments yet.

Leave a Reply