09 April 2020

Blog

The Pros and Cons of Python for Enterprises

If you’re reading this, you’re probably intrigued by the potential for machine learning to deliver incredible results for your business. But you might also be overwhelmed by how many ways there are to get started. Should you take a visual, code-based, or automated approach? Should you rely on open-source tech, commercial products, or a mix of both?

If you’ve explored open-source tooling, it’s likely you’ve heard about the coding language Python. Python is the most popular language in the world right now and it’s the de facto standard in coding for machine learning—and for a reason. Python has a long list of benefits, and 76% of respondents in Accelerate Your Data-Driven Transformation, a commissioned study conducted by Forrester Consulting on behalf of RapidMiner, said that the investment in open-source machine learning, artificial intelligence, and advanced analytics programming languages and frameworks was either critical or very important in achieving their ML/AI/AA goals.

In this article, we’re going to discuss some of the pros of Python—why it’s uniquely equipped for the world of data science and machine learning —as well as some of the challenges that relying exclusively on Python can present, especially in an enterprise environment. We’ll also talk about how RapidMiner can be paired up with Python to enhance the language’s power and overcome some of its enterprise shortcomings.

The pros of Python for machine learning

You might be curious what makes Python so well suited for machine learning as opposed to the many other programming languages available. While there are many reasons why Python is such a ubiquitous programming language, here are three things that make it so popular for machine learning.

Broad usage

Python is one of the most widely used programming languages. In JetBrains’ 2019 State of Developer Ecosystem report, Python was the most studied programming language. It’s also the most widely used, and has nearly twice as much usage as the second most used language. This means that it has extremely high compatibility and applicability to an extremely wide range of use cases, including machine learning. Python is also an interpreted language, meaning you don’t need to struggle with compiling code. Using Jupyter Notebook, you can start inputting code and see the results immediately as you type.

Large, supportive community

There are a tremendous number of Python libraries which are created and supported by an active and open-source community, and this is especially true within the domain of data science. Additionally, it’s easy to find educational material on the subject, from in-depth research papers to video tutorials. Chances are, if you need to build something for your machine learning project, someone else has already written code or built a library you can use to get started.

Free and open source

Of course, a factor that cannot be overlooked is price. Python is free, so anyone with a computer can start using it. This accessibility is one of the main drivers in Python having the high adoption rate that it has among data scientists specifically, as well as programmers in general. Python being open source is also one of the key factors in it having such a large and vibrant community.

The cons of Python for enterprises

Despite Python’s widespread use and popularity, it certainly isn’t perfect, especially in an enterprise environment. Here are three of the most common problems that present themselves when companies try to rely exclusively on Python.

Low code reuse

One of the biggest challenges facing the use of Python at the enterprise level is a low level of code reuse. Although theoretically tools like GitHub make it easy for data scientists and programmers to archive their code in a way that others can access it and use it, this isn’t typically what happens on the ground.

The bigger a company gets, the more of a problem this becomes, as different teams curate their own code repositories for specific use cases. This makes it hard for other teams to even know that the code they need exists, never mind extracting the useful bits from another team’s project-specific code.

The result of all of this is that you have a lot of different coders being paid to write very similar pieces of code over and over again.

Exclusion of non-coders

Another challenge of relying on Python is that it can exclude non-coders from helping to test and develop machine learning models. This might seem a bit counter-intuitive at first glance—after all, isn’t it a coder’s job to write code? Yes, but—

If you’re forced to rely on those familiar with Python to roll out every ML project you’re hoping to work on, you can easily end up in a coding bottleneck, where you have more projects that you can effectively get into production because you’re relying on a limited number of people who can actually execute the projects.

Unexplainability

Getting buy-in from important stakeholders is something that plagues enterprise-level machine learning projects. ML concepts can be hard to explain in the first place. Add to that the fact that the code that does all of the heavy lifting is inscrutable to anyone who doesn’t have a background in coding and machine learning, and you’ve got a recipe for leadership being unwilling to take a risk on something they can’t fully understand. This can slow down approvals and even kill projects before they have a chance to shine.

How RapidMiner can help

RapidMiner’s mission is to provide real data science, fast and simple. We understand that machine learning is a team sport, and that there are diverse groups and users across an organization that need to work together on ML projects.

Our aim is to make it easier for these diverse groups to work within our data science platform as effectively as possible – for teams made up of experienced coders, newcomers, and anyone in between.

By co-deploying JupyterHub with RapidMiner Server, we’ve made it easier for full-time coders to work more collaboratively with non-coders and avoid Python pitfalls, including the ones that we noted above.

You can now edit, create, develop, test and run Python code all from within the RapidMiner platform. Having the ability to code in the RapidMiner platform with JupyterHub makes it easier for full-time coders package up the work they’ve done and share it with both other coders and non-coders.

Getting started with a machine learning project can be overwhelming. Request a live demo with one of our data science experts and learn how RapidMiner can help your enterprise.

 

Related Resources