Last Updated on June 7, 2016
How do you best use a machine learning tool to make accurate predictions?
You select and use machine learning tools only to make your life easier on a machine learning project. The tools are exist to help you build models that make accurate predictions.
It is important that you know how to best use them in this process.
In this post you will discover a simple 5-step process that you can use map any machine learning tool onto the process of applied machine learning.
By proceduralizing the use of the tool you create step-by-step recipes that can be followed or copied on your current and future project to quickly get the best results from the tool.
Use Your Tool To Make Accurate Predictions
Machine learning tools have so many features and capabilities, most of them are hard to understand or are hidden behind walls of documentation.
Which features of a machine learning tool should you use?
It is critical that you know how to best use your chosen machine learning tools in order to build accurate predictive models. You need to know which features of the tool are actually relevant to the process of applied machine learning that you follow on any project to make accurate predictions.
How to best use each feature on a project?
Each feature may be configurable and inconsistently described in documentation, or not described at all. You need to know how to best use each feature of the tool in your projects. You cannot afford to re-learn this each time or copy-paste it from the specifics of the last project.
Map Tool Features Onto Project Tasks
The solution is to perform the work up-front and understand once how to best use each feature in service of your project.
You need to identify those features that may provide results for specific sub-tasks of the applied machine learning process. This mapping provides the short list of features that are worth understanding further and figuring out.
Once you have figured out how to use each feature well for your process and in your projects, you can create a short reusable procedure for it. This may be a step-by-step numbered list of things to do or a small code example that you can copy and paste and use as a starting point.
Together, these recipes provide a best practice guide for using the tool and a jump-start that you can use on your current or future projects to get the most out of the tool.
Proceduralize Any Machine Learning Tool
You need to use a systematic process to proceduralize a machine learning tool.
Quick 5-Step Process
- Select Tool. Select the tool that you want to proceduralize. This may be a tool that you have short listed or described previously. It may even be a tool that you use often and you want to standardize the way you use it.
- Layout Process. Layout the steps in the process of applied machine learning that relate to the tool. It may be helpful to do so in a text document. Specifically the steps in the process and any tasks under each step that may be supported by the tool.
- Map Features To Tasks. Review the features of the tool and map them onto the tasks of a machine learning project that you outlined in the previous step. It might be helpful to list the relevant tool features under each task in a text document.
- Research Features. Research each mapped feature of the tool and discover how to use it. This may include reading API documentation and reviewing tutorials. Discover what you need to know to minimally use the feature for a discrete task in an applied machine learning project.
- Create Procedures. Create a procedure for using each mapped feature. This may be a recipe with a numbered list. Alternatively, this may be a complete self-contained and minimal code example for using the feature.
Gathering all of the recipes together will give you a jump-start guide for best using the tool for making accurate predictions in any applied machine learning project.
Tips To Proceduralize Tools
Below are 9 tips that you can use to create excellent procedures for machine learning tools.
- Focus on tasks. Do not proceduralize every feature of a machine learning tool. This would be a waste of your time. focus only on those tasks of the applied machine learning process that the tool covers.
- Focus on results. Recipes must deliver a result. For an algorithm this will be a prediction, for analysis this may be a graph.
- Keep it very simple. Do not proceduralize all of the variations of a feature or technique provided by the tool. Focus on one and keep the procedure as small as possible to demonstrate a result.
- Readability over efficiency. Do not get bogged down in best practice code standards or extreme detail. Make the recipes readable and simple. They are not intended for operational use, only as a starting point for using the tool.
- Copy-paste recipes. Each recipe must be complete so that it could be copied and pasted and run immediately.
- Use simple standard datasets. Use small well understood datasets when needed to demonstrate features of a tool. Consider using datasets from the UCI Machine Learning repository.
- Keep up to date. After you have proceduralized the tool, consider keeping it up to date with new releases of the tool. Even a frequent refresh of the procedures may help to make them smaller and more concise.
- Use revision control. Consider storing procedures in revision control. This is a good tactic if they are intended to be used by the whole team. It also allows them to be updated asynchronously and peer reviewed.
- Sample output. Consider providing sample output for recipes to give an idea of what to expect. This can be helpful for more visual recipes such as those for data analysis and graphing.
Below are 3 case studies for proceduralizing tools that you might find useful.
- Graphical User Interface. You can create recipes for a tool with a graphical user interface by writing down the recipe of mouse clicks required to get a repeatable result.
- Algorithm Library. If you are proceduralizing a machine learning algorithm library, provide a short code recipe for running each algorithm in the library.
- Platform. If you are proceduralizing a platform then consider creating recipes for each step in the applied machine learning process as well as complete end-to-end case studies that show how the sub-tasks can fit together.
You Can Proceduralize Machine Learning Tools
You do not need to be a programmer. You can proceduralize a tool that does not require any programming, such as the WEKA machine learning workbench that provides both a graphical user interface and a command line interface.
You do not need to be an expert in the tool. You can research what you need to know to use specific features of a tool on the tasks of the applied machine learning process. You are learning only what you need, when you need it.
You do not need to be an expert at machine learning. You may come across models and techniques that you do not fully understand. This is good, it is broadening your exposure. You can still proceduralize how to use those features. In so doing you will get a practical understanding of the type of result these techniques can deliver. You can also research them in greater detail at a later stage.
You do not need to be a writer. Use dot points and create a step-by-step recipe that can be followed. For a programming library create a complete code example that can be copied and pasted.
In this post you discovered how you can get the most out of a machine learning tool by creating procedures for the tasks of the applied machine learning process.
The procedures for the tool can be used on your project to best use the tool for your needs. They can also be used as guide to jump-start new projects in the future.
The process for proceduralizing a machine learning tool was described in 5 quick steps:
- Select the tool that you want to proceduralize.
- Layout the tasks in the process of applied machine learning relevant for the tool.
- Map the features of the tool onto the tasks in the process of an applied machine learning project.
- Research each mapped feature for the tool and learn how to use it.
- Create a procedure for each mapped feature of the tool that you can use to quickly get a result.
Your Next Step
Your next step is to proceduralize a machine learning tool.
- Select a tool that you want to proceduralize.
- Use the process above to create a procedure, even if it is for one task.
- Share your results, I’d love to see what you came up with.
Do you have any questions about this process? Email me or leave a comment.