Pythonエンジニアが全員機械学習エンジニアじゃない理由
Pythonといえば、機械学習そしてディープラーニング。
最近の流行で、Pythonと機械学習は同義語のように扱われているように思えます。
しかし、本当はPythonは機械学習「も」できる言語なのです。
Pythonが機械学習以外で使えることをご紹介します。
機械学習=Pythonはライブラリーのおかげ
Pythonが機械学習と結びつくのは、Pythonのライブラリーの一つであるnumpyの影響が大きいのです。
numpyは、数値計算を高速に行うために作られたライブラリーで、nympyをつかえばC++と同程度の計算スピードを達成することができるのです。
じゃあ、C++をつかえばいいんじゃないの?という話になりますが、コンパイル言語であるC++とスクリプト言語であるPythonでは、コードを書き直せばコンパイルなしにすぐに実行するという即時性が機械学習にマッチしたのです。
つまり、高速な数値計算ライブラリと、スクリプト言語という点がPython=機械学習という構図を作っているのです。
便利なライブラリーのおかげで広がるPythonワールド
Pythonをnumpyというライブラリーが機械学習=Pythonという構図を作ってしまったように、Pythonは様々なライブラリーのおかげで、多くのことができるのです。
Webアプリケーションの作成
Pythonは、Webアプリの政策にも向いている言語です。「Dropbox」、「Instagram」、「Pinterest」といったWebサービスがPythonで作られていることはよく知られています。
Webサービス向けのPythonライブラリーには「django」が有名です。
djangoには、Web開発に必要なものが一通り含まれているので、Webアプリを高速に開発することができるでしょう。Ruby on Railsが持っている管理画面を簡単に作成する機能もdjangoには含まれています。
Webのスクレイピング
Webサイトから必要な情報を収集するスクレイピングもPythonで行うことが可能です。標準ライブラリーでもスクレイピングは可能ですが、「Requests」を使えば、簡単にそして標準ライブラリーでは難しいAPIをたたくなどの処理にも対応しています。
もっと大掛かりなスクレイビングがしたいのなら「Scrapy」がおすすめです。スクレイビングに関わるフレームワークが全て含まれているので、やりたいことがきっと実現できるはずです。
デスクトップアプリも作れてしまいます
Pythonでは、GUIを使用したデスクトップアプリを作成することも可能です。
そんな時にはGUIライブラリーの「kivy」を使えば簡単にクロスプラットフォームのアプリケーションを作成可能です。
Kivyがすごいのは、Winodows、Mac、Linux以外にもAndroidやiOSで動作するアプリを作成することができる以外にも、このライブラリーを使ってゲームを作成することまで可能になっています。
kivyは日本語書籍が販売されていたり、ユーザ層が厚いのでインターネットで情報を取得することも難しくないはずです。
そのほかにも、「wxPyhton」や、「PySide」、「PyQt」などのライブラリーもメジャーな存在です。
デスクトップアプリを作るまでに至らなくても簡単な作業をPythonで自動化するなんていう使い方もあります。
機械学習だけがPythonじゃない
日本では機械学習によって注目されているPythonですが、それ以外にも色々とできることはあるのです。
もちろん、機械学習をフックにPythonに興味を持たれる方も多いと思いますが、それ以外にもPythonには広い世界があるということを知っていただけたらと思います。
株式会社キャパでは、アプリの企画・開発についてご相談を承っています。
アプリを作りたいので、具体的な提案が欲しい。頭の中にあるアイデアを本当に実現できるのか知りたい。予算内に収まるのか?
などのお客様のご相談に、親身に応じます。
アプリ開発:実績のご紹介