Skip to main content

What if I’m Not a Good Programmer


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.
What if I'm Not a Good Programmer
What if I’m Not a Good Programmer
Photo by mutednarayan, some rights reserved
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.

Conquer Self-Limiting Beliefs in Machine LearningTake the Next Step

Are you struggling with a self-limiting belief?
Grab the guide that takes you through the 5 most common self-limiting beliefs in machine learning and how to overcome each.
The 25-page PDF guide is called:
Conquer Self-Limiting Beliefs in Machine Learning.
Master your mindset and get confidence in yourself to get started and make progress in machine learning.

Comments

Popular posts from this blog

The Difference Between LEGO MINDSTORMS EV3 Home Edition (#31313) and LEGO MINDSTORMS Education EV3 (#45544)

http://robotsquare.com/2013/11/25/difference-between-ev3-home-edition-and-education-ev3/ This article covers the difference between the LEGO MINDSTORMS EV3 Home Edition and LEGO MINDSTORMS Education EV3 products. Other articles in the ‘difference between’ series: * The difference and compatibility between EV3 and NXT ( link ) * The difference between NXT Home Edition and NXT Education products ( link ) One robotics platform, two targets The LEGO MINDSTORMS EV3 robotics platform has been developed for two different target audiences. We have home users (children and hobbyists) and educational users (students and teachers). LEGO has designed a base set for each group, as well as several add on sets. There isn’t a clear line between home users and educational users, though. It’s fine to use the Education set at home, and it’s fine to use the Home Edition set at school. This article aims to clarify the differences between the two product lines so you can decide which

Let’s ban PowerPoint in lectures – it makes students more stupid and professors more boring

https://theconversation.com/lets-ban-powerpoint-in-lectures-it-makes-students-more-stupid-and-professors-more-boring-36183 Reading bullet points off a screen doesn't teach anyone anything. Author Bent Meier Sørensen Professor in Philosophy and Business at Copenhagen Business School Disclosure Statement Bent Meier Sørensen does not work for, consult to, own shares in or receive funding from any company or organisation that would benefit from this article, and has no relevant affiliations. The Conversation is funded by CSIRO, Melbourne, Monash, RMIT, UTS, UWA, ACU, ANU, ASB, Baker IDI, Canberra, CDU, Curtin, Deakin, ECU, Flinders, Griffith, the Harry Perkins Institute, JCU, La Trobe, Massey, Murdoch, Newcastle, UQ, QUT, SAHMRI, Swinburne, Sydney, UNDA, UNE, UniSA, UNSW, USC, USQ, UTAS, UWS, VU and Wollongong.

Logic Analyzer with STM32 Boards

https://sysprogs.com/w/how-we-turned-8-popular-stm32-boards-into-powerful-logic-analyzers/ How We Turned 8 Popular STM32 Boards into Powerful Logic Analyzers March 23, 2017 Ivan Shcherbakov The idea of making a “soft logic analyzer” that will run on top of popular prototyping boards has been crossing my mind since we first got acquainted with the STM32 Discovery and Nucleo boards. The STM32 GPIO is blazingly fast and the built-in DMA controller looks powerful enough to handle high bandwidths. So having that in mind, we spent several months perfecting both software and firmware side and here is what we got in the end. Capturing the signals The main challenge when using a microcontroller like STM32 as a core of a logic analyzer is dealing with sampling irregularities. Unlike FPGA-based analyzers, the microcontroller has to share the same resources to load instructions from memory, read/write the program state and capture the external inputs from the G