サービス詳細
企業向けPythonのメリット・デメリット:AI機械学習「RapidMiner」から考察する - Natic | Application Modernization Platform – 日商エレクトロニクス

企業向けPythonのメリット・デメリット:AI機械学習「RapidMiner」から考察する

phython_AI

企業向けPythonのメリット・デメリット : AI機械学習 RapidMiner

本記事では、Pythonのメリットについて、データサイエンスや機械学習の世界で独自の機能を備えている理由と、Pythonに依存した場合、特にエンタープライズ環境ではどのような課題(企業向けPythonのメリット・デメリット)が発生するのか解説するとともに、RapidMinerがどのように役立つのかご紹介いたします。

RapidMinerは、データサイエンティスト向けの高度さからビジネスユーザーのための簡単さまでカバーした、世界中で使われている機械学習プラットフォームです。(RapidMinerについてはこちら

日商エレクトロニクスでは、お客様のデータ分析プロジェクトの成功を支えるサービスとして、RapidMinerの導入からサポート、教育サービスをワンストップで提供しています。

目次(Table of Content)

はじめに

このブログを読んでいる方の多くは、機械学習がもたらすビジネスインパクトに関心がある方かと思います。しかし、機械学習を始める方法がたくさんあり、なかなか踏み出せずにいるかもしれません。視覚的、コードベース、自動化などからアプローチするべきか、オープンソースの技術に頼るべきか、市販の製品に頼るべきか、あるいはその両方を組み合わせるべきか。

オープンソースのツールを探しているのであれば、Pythonというコーディング言語について聞いたことがあるかもしれません。Pythonは今、世界で最も人気のある言語で、機械学習のコーディングにおけるデファクトスタンダードとなっています。また、Pythonには多くのメリットがあります。

本記事では、Pythonのメリットについて、データサイエンスや機械学習の世界で独自の機能を備えている理由と、Pythonに依存した場合、特にエンタープライズ環境ではどのような課題が発生するか説明します。

機械学習のためのPythonのメリット

数多くある他のプログラミング言語とは対照的に、Pythonは機械学習にとても適しています。Pythonがこのようにユビキタスなプログラミング言語である理由はたくさんありますが、ここでは機械学習において人気がある理由を3点ご紹介します。

◆広範囲で活用されている

Pythonは最も広範囲で使われているプログラミング言語の一つです。JET BRAINの” 2019 State of Developer Ecosystem report”では、Pythonが最も研究されているプログラミング言語であると記載されています。2番目に使われている言語と比較すると、約2倍の使用量(https://pypl.github.io/PYPL.html)です。つまり、機械学習を含む広範なユースケースへの互換性と適用性が非常に高いということです。また、Pythonはインタプリタ型言語であるため、コードのコンパイルに苦労する必要がありません。Jupyter Notebookを使えば、コード入力をするとすぐに結果を見ることができます。

◆大規模でサポート体制の整ったコミュニティ

アクティブなオープンソースのコミュニティによって作成され、サポートされているPythonライブラリの数は非常に多く、特にデータサイエンスの領域のものは多く存在します。さらに、詳細な研究論文からビデオチュートリアルまで、このテーマに関する教育的資料は簡単に見つけることができます。機械学習プロジェクトのために何か構築する必要がある場合、既にコードが書かれていたり、必要なライブラリが構築されている可能性があります。

◆フリーなオープンソース

価格についても、考慮しなければならない要素の一つです。
Pythonは無料のため、パソコンさえ持っていれば誰でも使い始めることができます。このアクセシビリティの高さが、Pythonがデータサイエンティストだけでなく、一般のプログラマーの間で高い採用率を誇る主な要因の一つです。また、Pythonがオープンソースであることも、このような大規模で活気のあるコミュニティを持つ理由です。

 

エンタープライズにおけるPythonのデメリット

◆コードの再利用の低さ

企業レベルでのPythonの利用が直面している最大の課題は、コードの再利用率が低いことです。理論的にはGitHubのようなツールを使えばデータサイエンティストやプログラマーが自分のコードを簡単にアーカイブし、他の人がアクセスして使えるようにすることができますが、企業ではそうはいきません。

企業規模が大きくなればなるほど、特定のユースケースに合わせてそれぞれが独自のコードリポジトリを作成することになるため、この課題はより深刻になります。これにより、他のチームは自分たちが必要としているコードが存在していることを知ることさえ難しくなり、他のチームのプロジェクト固有のコードから有用なビットを抽出することは考えられなくなります。

その結果、非常に似たようなコードを多くのコーダーに依頼し、無駄なコストをかけることになります。

◆コーダー以外の排除

Pythonのもう一つの課題は、機械学習モデルのテストや開発を支援するために、非コーダーを排除してしまうことです。コードを書くことがコーダーの仕事であれば、これは一見すると問題ないように思えます。しかし、もしあなたが取り組みたいMLプロジェクトをすべてPythonに精通した人に頼らざるを得ない場合、実際にプロジェクトを実行できる限られた人に依頼するため、効果的に本番に投入できるプロジェクトが増えてしまう、というコーディングのボトルネックに陥りやすくなります。

◆説明可能性の欠如

重要なステークホルダーの賛同を得ることは、企業レベルの機械学習プロジェクトを悩ませる課題です。機械学習の概念は、そもそも説明するのが難しいものです。さらに、全ての作業を行うコードは、コーディングや機械学習のバックグラウンドを持っていない人には理解しがたいという事実に加え、リーダーが完全に理解できないものにリスクを冒すことを嫌がるようになっています。これにより承認を遅らせたり、プロジェクトのチャンスを得る前につぶしてしまったりすることになりかねません。

 

RapidMinerがどのように役立つか

RapidMinerのミッションは、真のデータサイエンスを迅速かつシンプルに提供することです。機械学習はチームスポーツであり、組織全体で多様なグループやユーザーが存在し、機械学習プロジェクトに協力して取り組む必要があることを理解しています。

私たちの目的は、経験豊富なコーダー、新人、そして中間層などの多様なメンバーで構成されている組織のために、RapidMinerのデータサイエンスプラットフォーム内で可能な限り効果的に作業できるようにすることです。

JupyterHubをRapidMiner Serverと一緒に導入することで、フルタイムのコーダーが非コーダーとより強力的に作業できるようになり、上で述べたようなPythonの落とし穴を避けることができるようになりました。

Pythonコードの編集、作成、開発、テスト、実行のすべてをRapidMinerプラットフォーム内から実行可能です。JupyterHubを使ってRapidMinerプラットフォームでコーディングする機能を持つことで、フルタイムのコーダーが行った作業を簡単にパッケージ化し、コーダーも非コーダーと共有することができるようになります。

Pythonコーディングを試す準備ができていないデータ好きな人のために、私たちはRapidMiner GOという、高度に差別化された自動機械学習ソリューションを作成しました。


機械学習プロジェクトを始めるのは大変なことです。無料のAI評価をリクエストしてください。RapidMinerは、技術的な実現可能性とビジネスインパクトの観点から、ユースケースのポートフォリオを作成し、分析することで支援します。

※本記事は、RapidMinerホームページ内、RapidMiner BLOGページに掲載されている” The Pros and Cons of Python for Enterprises” (2020年4月9日)を翻訳したものです。

記事担当者:アプリケーション企画開発部 積田
投稿日:2021/02/25