Pythonの強化版Anaconda

前回は、機械学習の概要を説明しました。今回は、機械学習を実際に使用するための環境構築を行っていきます。

Pythonは、用途に応じてさまざまなライブラリ(パッケージ)をインストールし、プログラミングしていきます。ライブラリのおかげで、専門的な数学の知識や高度なプログラミングスキルがなくても、機械学習を手軽に扱うことができるのです。Googleが提供しているTensorFlowも、機械学習ライブラリの1つで、昨今話題のDeep-Learningに対する敷居を低くしてくれました。

今回は、Anacondaを利用してPythonで機械学習を行う環境を作っていきます。Anacondaを利用すると、Pythonに加えて、数値演算、データ分析、機械学習等でよく利用するライブラリを一括でインストールでき、難解な環境構築作業から解放してくれます。

Anacondaのインストール

Windows、Macともに、まずは下記URLにアクセスし、Anacondaのインストーラをダウンロードします。

Anacondaのサイトにアクセスすると、少し下の方にダウンロードボタンが2つあることが確認できます。Python3系の「Python 3.6 version」、Python2系の「Python 2.7 version」がありますが、最新版であるPython3系の「Python 3.6 version」をダウンロードしてください。また、32 Bit版Windowsの方は、Downloadボタンの下にあるDownload 32-Bitをクリックする必要があるので注意してください。

Anacondaのダウンロードページ

ダウンロードが完了したら、インストーラをダブルクリックし、インストーラを立ち上げてください。あとは、インストーラの手順に従い、インストールを行えば問題ありません。

Jupyter Notebookの使い方

本連載では、Jupyter Notebookという対話型実行環境を使います。Jupyter Notebookを用いることで、データの扱い、可視化、機械学習を探索的に行うことが可能になります。その素晴らしさは、触ってみると瞬時に理解できるでしょう。早速、Jupyter Notebookを使ってPythonの世界に入っていきましょう。

Windowsの場合は、左下のスタートメニューから、Macの場合は、アプリケーションの中にAnaconda-Navigatorがあるので起動してください。

Anaconda Navigatorの起動

起動するとツールの一覧が表示されます。その中から、Jupyter NotebookのLaunchボタンをクリックしてください。

Jupyter Notebookの起動

Jupyter Notebookのダッシュボードが立ち上がり、Desktop、Documents等のフォルダの一覧が確認できると思います。

Jupyter Notebookダッシュボード

最後に、作業フォルダを準備してから、実際のプログラミングに入っていきましょう。作業フォルダは、基本的に適宜設定すれば問題ありません。ただし、本連載では、CSVやエクセルファイルを多用します。その際に同一フォルダに入れておくと作業が楽なので、必ず今回の作業用フォルダを作成してください。

フォルダ作成は、Jupyter Notebook上でも作成できます。右上のNewをクリックし、Folderを選ぶと、リストにUntitled Folderが追加されます。名前を変更するために、一番左のチェックボックスをチェックし、左上のRenameを押すと、フォルダの名前が変更できますので適宜変更してください。今回の例では、MyNaviというフォルダ名にしました。MyNaviフォルダをクリックすると、空のフォルダであることが確認できます。

Jupyter Notebookでのフォルダ作成

Hello Python!

お待たせしました。それでは、Pythonプログラミングを始めましょう。先ほど、フォルダを作成した際と同様に右上のNewを押し、今度はPython3をクリックしてください。そうするとNotebookが立ち上がります。

早速、以下のプログラミングコードを打ち込んでみましょう。

print('Hello Python!!')

コードを打ち込んだら、shift+enterを押してみてください。先ほど打ち込んだ「Hello Python!!」が下に出力されます。

この一連の流れ—コードをセルに打ち込んだあと、shift+enterでコードを実行するという作業—が、Jupyter Notebookを用いたPythonプログラミングの基本となります。

Hello Pythonの実行結果

次に、そのまま計算をしてみましょう。以下のコードを次のセルに入力して、実行(shift+enter)してみてください。

a = 3
b = 5
a + b

そうすると、3+5の計算結果、8が表示されます。これは、あらかじめa、bという箱に、3、5という数字を代入した後、足し算を行なっています。これは、あらかじめa、bという箱に、3、5という数字を代入した後、足し算を行なっています。a、bに入れた数字を、自分で好きなように変更し、実行してみましょう。計算結果が変化するのが確認できると思います。

このように、コンピュータと対話しながら、臨機応変にプログラミングできるのが、Jupyter Notebookの利点です。自分でいろいろとコードを打ち込んで、遊んでみてください。

計算の実行結果

エクセル、CSVのデータを読み込んでみよう

本連載での機械学習では、外部からエクセルやCSVデータを読み込み、機械学習モデルを作成していくというプロセスになります。次回からの機械学習に向けて、エクセルやCSVデータの読み込みを最後に試してみます。

まず、エクセルを開いて、適当にデータを作成してみましょう。1行目には、その列の説明(名前)、2行目以降にデータを入れていきます。イメージを膨らませて、自分で自由にデータを作成してみましょう。

例を以下に示します。

データの作成

データは、エクセル、CSVどちらでも問題ないので、好きな方を選択し、先ほど作成したフォルダ(MyNavi)の中に入れてください。今回の例では、HelloPython.xlsx(HelloPython.csv)というファイル名で作成しました。CSVファイルの場合は、UTF-8という文字コードで保存してください。

準備が整ったら、こちらを記述し、実行(shift+enter)してみてください。

  • エクセルの場合
import pandas as pd
data = pd.read_excel('HelloPython.xlsx')
data
  • CSVの場合
import pandas as pd
data = pd.read_csv('HelloPython.csv')
data

データ読込の実行結果

自分で作成したエクセルやCSVのデータがNotebook上で表示できたでしょうか。最初にimportとありますが、これは、冒頭で述べたライブラリを使うための宣言です。pandasは、データ分析に特化したライブラリで、pandasのおかげで我々はエクセルやCSVデータを簡単に扱うことができます。

最後に、このNotebookを保存しましょう。上部のUntitledをクリックすると、名前が変更できます。適当に名前を変更してRenameを押してください。今回の例では、HelloPythonという名前を付けました。その後、左上にあるFileの下の保存ボタンをクリックして完了です。保存ができたら、ブラウザとAnaconda Navigatorを終了してください。Macの場合、Terminalも立ち上がっていると思いますので、Terminalも同時に終了してください。

Jupyter Notebookの保存

さて、今回で、機械学習を行うための環境構築が完了し、Pythonプログラミングの第一歩を踏み出しました。わからないこともまだ多いかもしれませんが、プログラミングを理解するためには、とにかく試してみることです。Notebookを開いて、いろんな計算やいろんなデータを読み込んでみてください。

次回からは、いよいよ探索的に機械学習に挑戦していきます。

著者プロフィール

下山輝昌
大手電機メーカーにて、ハードウェアの研究開発に従事した後、独立。独立後はソフトウェア、データ分析等において実務経験を積むとともに、数社を共同創業。その中でも合同会社アイキュベータでは、人工知能・IoTなどの可能性や方向性を研究している。最近では、オープンデータに着目し、オープンデータ活用のためのwebサービスの立ち上げ、オープンデータ×IoTによる価値創出を1つのテーマに取り組んでいる。