Last Updated on December 10, 2020
Programming is a part of machine learning, but machine learning is much larger than just programming.
In this post you will learn that you do not have to be a programmer to get started in machine learning or find solutions to complex problems.
Programming Machine Learning
Machine learning algorithms are implemented in code. Programmers like implementing algorithms themselves to really understand how an algorithm works. This can also be required to get the most from an algorithm as is tailored for a given problem.
Solving problem is more than an algorithm. For example, there is more work in defining the problem clearly, preparing the data and presenting the results. Even the algorithms can be taken off-the-shelf and applied and tuned for a problem.
Graphical Machine Learning Environments
You can get a long way without touching a line of code. This is due to the great software that is available.
There are three popular machine learning environments you can use that do not require any programming to get started or make great progress on a problem.
- Weka: A graphical machine learning workbench. It provides an explorer that you can use to prepare data, run algorithms and review results. It also provides an experimenter where you can perform the same tasks in a controlled environment and design a batch of algorithm runs that could run for an extended period of time and then review the results. Finally, it also provides a data flow interface where you can plug algorithms together like a flow diagram. Under the covers you can use Weka as a Java library and write programs that make use of the algorithms.
- BigML: A web service where you can upload your data, prepare it and run algorithms on it. It provides clean and easy to use interfaces for configuring algorithms (decision trees) and reviewing the results. The best feature of this service is that it is all in the cloud, meaning that all you need is a web browser to get started. It also provides an API so that if you like it you can build an application around it.
- Orange: Provides a design tool for visual programming allowing you to connect together data preparation, algorithms, and result evaluation together to create machine learning “programs”. Provides over 100 widgets for the environment and also provides a Python API and library for integrating into your application.
Scripting Machine Learning Environments
You do not have to be an excellent programmer to write scripts that glue together components. You may consider yourself a programmer, just not a very confident programmer.
Scripting is an excellent intermediate between a machine learning environment and more programming intensive solutions such as using a code library. In this section you will review two scripting environments for machine learning.
- Scikit-Learn: Scripting environment and library written in python providing machine learning algorithms and data preprocessing. It provides plenty of documentation and examples for getting started.
- Waffles: A collection of command line tools. If orange is a graphical programming environment than waffles is a command line programming environment. Provides tools for preparing and visualizing data, running algorithms and summarizing results. It is written in C++ and provides a API that can be integrated into larger programs.
Don’t Start With Code
Whether you are a programmer or not, I recommend exploring problems in graphical and scripting machine learning environments.
I think here are benefits in not starting with code. That you can learn more, faster by applying the algorithms rather than trying to understand them intimately first. Three benefits include:
- Process: Platforms like WEKA are built around the process of analysis, preparation, algorithm running and result evaluation. They can train you in the discipline of experimentation rather than on how to run an algorithm. This allows you to focus on the path from problem to solution rather than on deeply learning about machine learning.
- Discovery: You can discover data preparation steps you hadn’t thought of and algorithms you hadn’t heard of. You can get explore to a lot more methods than you would if you had to research and implement each in turn or read APIs documentation to figure out what was available.
- Speed: You can try a lot more methods a lot faster when you don’t have to implement everything yourself or write code to realize each experiment.
In this post you learned that you do not need to be a skilled programmer to get started or make progress in the field of machine learning. You learned that there are many options available and that two specific examples are graphical and scripting machine learning environments. These environments can be used to learn machine learning and solve complex problems.
Many thanks for sharing these tools. I will take a closer look at Orange and Waffles.
Further, I can recommend KNIME which has a graphical approach as well including Python, R, Wekka and many other ML libraries.
thank you for your really inspiring posts! Just like Dominik, I would also recommend KNIME as this is a very powerful tool especially for newbies. It has an easy-to-learn and intuitive user interface so you can start using it right away and come to notable results even if you only have the slightest idea of what machine learning is. On the other hand, with its extensions (especially with its integration with R and Python) it will be a powerful and productive tool for high-talented and experienced professionals as well.
Keep up writing those great posts!
A good comparison is pure research X applied research…. what I think you are suggesting is: get a solution for a problem (applied research) and leave the pure research (like building a brand new algoritm that you don´t know for what it serves at start) for the PHDs…
And I agree with you!
Nice reading of the post Kleyn!
Hi Jason. Thank you so much for the info. This is what I was looking for!
I’m glad to hear it Jin.
To learn ML what is the minimum configuration of Laptop system requires.
How to find examples/projects to learn ML with out coding.
Good question, I answer it here:
I am quite good at math and have a general understanding of what ML does. I only have an entry-level Python skill. How long will it take for me to become able to use ML to process my data?
You could pick up a tool like Weka in a weekend and get good at working through small datasets end to end within a few weeks. There is a lot to learn, but you can get results fast if you put in the time.
Gee thanks for all your posts! Machine learning mastery is the definitive guide for those starting out in ML. Were would H2O be classed in the line up above?
H2O is a MLaaS, like BigML, google predict and so on. I think it is a great platform for developers that want to start bringing machine learning into their software without implement methods from scratch/using a local library.
Can i interconnect these frameworks with my data base and .net?
Many machine learning frameworks can talk to a database Hashim.
I don’t know about .NET, sorry.
Thanks for the details jason, you are the boss in A.I.
I imagine the hard work behind this so as today you are reaching A.I in simplicity.For us to understand it is easy but for you at that time where you start,I don’t think you were at ease,it was hectic.
Thank you! This really paves a way to help me start. All this while I had been procrastinating with the presumption that my math and coding skills are no where near the pre requisites required for machine learning. 🙂
I’m glad you found the post useful Akshatha. Hang in there!
Am new to machine learning and have minimum knowledge in coding. My intention is create an image detection, object detection and speech to text and text to speech translator AI and deploy that to hardware like raspberry pi. Is there any GUI based tool using that i can implement the above requirement .
There may be, I don’t know of any off hand.
Can you help here to search me for the same or similar to that?. I searched but not able to find any.
Thanks Jason Brownlee!! This post really help me for digging up and analysis ml algorithm.
I’m really glad to hear that.
Hii jason…your articles have just given me the required push that i needed to get my self into machine learning …i am not that much good in programming…and just started applying algorithms …but i am using RAPID MINER …is that a good tool ????
and yes again thanks for ur article…
Perhaps Weka would be a good place for you to start:
Thanks for the article, Jason. In your experience, if a person is good and fast at coding and prototyping solutions, can he or she still benefit from using graphical tools such as Weka? Or is it more oriented to novices or people that are not confident (enough) in their programming skills?
Thanks for your time and attention!
Yes, sometimes Weka can get you a result faster than writing code. It’s great for quick prototypes or demos of what could be possible. Or small projects.
I am not getting in laptop WEKA gui chooser when we download in computer
The software mist be installed first. Perhaps this will help:
Good evening Jason!
Your “Orange” link at:
Orange: Provides a design tool for visual programming allowing you to connect together data preparation, algorithms, and result evaluation together to create machine learning “programs”. Provides over 100 widgets for the environment and also provides a Python API and library for integrating into your application.
Is not working…
Thanks, I have updated the link to: https://orange.biolab.si/
Thank you so much for the excellent advice.
You’re very welcome.
Hello Jason, I read your blog. It’s good and helpful to me. Can you please tell me how to start ML with scripting rather than graphical? Whether I will learn first ML and go to scripting tools or reverse? Which scripting tools I can use as I have only Python?
Perhaps start by learning the Python programming language.
How much Python is required for ML as I don’t want to be a Python developer? What will be the major things should I focus and when I can start ML?
You can start without programming by using Weka:
I am interested in scripting. So can you tell me “How much Python is required for ML as I don’t want to be a Python developer? What will be the major things should I focus and when I can start ML?”
If you want to use Python for machine learning, you will need to know how to use the language.
Thanks. Then, I will start learning about Python.
That sounds like a good plan.
what do you think of Alteryx Analytics ???
Never heard of it, sorry. What is it?
Dear Dr. Brownlee, what is your opinion of Deep Learning Studio from https://deepcognition.ai ? They offer a graphical user interface to build and train deep neural network models.
I don’t know anything about it, sorry.
Thank you for sharing I appreciate you dedication