前回、プログラミング未経験者の私がPythonを独学で学ぶための導入書に、『いちばんやさしいPythonスタートブック』(以下『スタートブック』)を選びました。今回は『Pythonスタートブック』のインストラクション通りに読み進めるのでなく、「人工知能」「機械学習」の習得を目指す初心者向けの独自のアプローチを考えました。この記事では、初心者の私が「Python」を効率的に学ぶために導入した「 Jupyter notebook 」について紹介していきます。
プログラミング未経験者がPythonを学習する勉強法と他の選択肢について興味がある方は以下の記事を読んでみてください。
はじめに
” 人工知能を独学で学ぶ “とあるように、私はAIやプログラミング等の知識のない初心者です。なので、この記事は「知識ゼロの私がどのようにAIの知識を得ていったか」というプロセスを記録したものです。それに加えて私が色々な文献から考え思ったことを記しております。
Python2とPython3のどちらで学習するか
本書籍『スタートブック』は2010年に第一版が発行されています。また書籍内で扱っている言語はPython2です。Pythonには、Python2とPython3が存在し、それぞれコードの書き方が異なる部分があり、完全な互換性はありません。私も初め「このPython2と3の違いは?機械学習を学ぶにはどちらがいいのか?」という疑問を抱きました。
結論として、Python3を用いて『スタートブック』の学習を進めることにしました。
現在もPython2が広く使われておりますが、公式のサポートは2020年には終了される予定です。今後はPython3に以降されることが予想されるので、これから機械学習を始める初心者が機械学習のためにPythonの習得を目指しているのならPython3で進めて問題ないと思います。
初心者が学ぶレベルでPython2と3の違いはさほど気になりません。
また、書籍の中でもPython3系とPython2系で動作が異なる部分について注意書きがされておりますので、『スタートブック』内の例題と異なる結果が得られても、その箇所がPython2と3の違いであることが把握できます。
Python2とPython3で迷ったらこちらのサイトを参考にしてください。
Pythonダウンロード、その前に
本書では初めにPythonを公式HPからダウンロードして、数個のプログラムを入力してPythonを実際に使用してみるのですが、第一章の最後で「テキストエディタのダウンロード」を推奨してきます。しかし、世の中にはPythonをより便利に使うためのプログラムが多数開発されております。
書籍の情報が2010年以前であるため、自分の学習の目的に合うものを探すためにウェブ上で最新の情報を調べてみました。
Jupyter notebook がPython学習に適している
具体的には「機械学習+Python+テキストエディタ」で検索をかけて、それらの結果から「Jupyter notebook」が使いやすいということがわかりました。
Jupyter Notebookは、実行結果を可視化して確認しながらプログラムを実行できる環境です。Webブラウザからアクセス可能なサーバを起動し、Pythonのコードが実行可能な視覚的で直感的なAPIを提供します。インタラクティブに試行を繰り返しながらコードを試すのに適しています。
Pythonで機械学習/Deep Learningを始めるなら知っておきたいライブラリ/ツール7選最近流行の機械学習/Deep Learningを試してみたいという人のために、Pythonを使った機械学習について主要なライブラリ/ツールの使い方を中心に解説する連載。初回は、筆者が実業務で有用としているライブラリ/ツールを7つ紹介します。
このJupyter notebookはWebブラウザで表示されるためインストール先のOSを選びません。そのため様々なツールやサービスでの導入が進んでおり、Google Cloud Datalab の機械学習の環境に採用されています。
また、視覚的にコードが書けたり試行錯誤がしやすいので、初心者でもPython学習そのものに集中できます。
Jupyter notebookのインストール方法
この「Jupyter notebook」をインストールするには、「Anaconda」をインストールするのが手っ取り早いです。これは、「Anaconda」の中にパッケージとして「Jupyter notebook」が含まれているからです。
実はこのAnacondaの中にすでに、Pythonプログラムがパッケージの中に含まれているのでPython単体をインストールする必要が無いのです。
また、環境によっては初めにPythonをインストールしているとAnacondaが正常にインストールされない場合もあります。
Anacondaのインストールはこちらのサイトを参考にしました。
[Note]Anacondaインストールの際に、先にPythonをインストールしていると不具合を起こす?
初めにPythonをインストールしてある状態でAnacondaをインストールを試みても、処理が途中で止まってしまいました。
試しにPythonをアンインストールして再度試してみたところ通常通りできました。
[Note]Anaconda保存先に英字(English)以外を使用しているとインストールできない?
こちらは、別の例で保存場所のフォルダ・階層に日本語が含まれていた場合にエラーが出て先に進めませんでした。[‘Destination Folder’には”non-ascii”文字を使用することが出来ない]という旨のエラー文です。
そこで、Anaconda保存先を初期設定でのユーザーファイル直下のフォルダ(C:\Users\”日本語氏名”)のフォルダから、日本語のフォルダを含まない階層にフォルダを作って指定したら無事にインストールできました。
どうやらAnacondaに限らずwindows10のユーザー設定で日本語登録しているとアプリのインストール時に不具合を起こすことがあるらしいです。このサイトで、ローカルアドレスの追加方法があるので、インストール出来ない人は試して下さい。
Jupyter notebookを用いたPython学習の進め方
基本的な使い方
Jupyter notebookの利点
Jupyter notebookを用いた学習の利点として、以下の点が挙げられます。
- Chapter毎の例題を保存できる
- 入力の簡略化により効率化
- 入力データ・実行結果の修正が簡単に行える
Chapter毎の例題を保存できる
まずは、Pythonの学習記録を作成するフォルダを作成します。
そのフォルダ内で、まず「New」をクリックして新規タブを開きます。新規シートには、Chapter番号を示しておきましょう。
名前を変えるには、「Untitled」をクリックして開かれたウィンドウにて入力するだけです。また、学習内容のコピーフォルダを作成して、自分で様々に編集することも可能です。
[File]を選択して、[Make a Copy]を選択すると、以下の画像のように「”元のファイル名”-Copy1」というノートが自動的に作成されます。
入力の簡略化により効率化
コマンドプロンプトを用いていた際は、白黒で全てのプログラムを手入力する必要がありました。しかし、Jupyter notebookでは”(“を入力したら自動的に”()”で閉じられる・型ごとに色分けされるといった補助があるので、入力とプログラムの確認が容易になります。
後は『スタートブック』に記入されているプログラム例をIn [#]の入力部分に記述していきます。
ただプログラムを入力してEnterを押すだけでは実行されません。実行するには、「Shift+Enter」です。実行結果はOut[#]に示されます。
入力データ・実行結果の修正が簡単に行える
このノート上では一つ一つのデータが順番に分かれていて、以前に入力したものに遡って様々に編集できます。
万が一打ち間違えても、間違えた箇所の入力部に戻り、修正→実行することで結果が得られます。この時、間違えた結果はページ上から消えますが、In[#]とOut[#]内の数字は、修正前より1増えて[#+1]の数字が表示されているはずです。
このように間違えて入力して、画面がエラー画面で一杯になることが無いので、自分の入力したInputとOutputが非常に見やすく、また入力データの一部を変えて様々な実行をすることが出来るなど、初心者のTry & Errorにはもってこいの機能です。
最後に
『Pythonスタートブック』のインストラクション通りに読み進めるのでなく、「人工知能」「機械学習」の習得を目指す初心者向けの独自のアプローチを考えました。この記事では、初心者の私が機械学習用の「Python」を効率的に学ぶために、「Python3」「Jupyter notebook」の導入方法について紹介しました。
今後の更なる発展と活用が期待されるPython3を早い段階でJupyter notebookの扱いに慣れながら学習することで、効率的に「人工知能」「機械学習」の学習を進められます。
既にJupyter notebookを使用していて学習を進めているかたは以下の記事の情報を知っているか知らないかでは学習のスピードも大きく変わりますのでご覧ください。
次回は楽しみながらPythonを学べるゲームのCODECOMBATの紹介を行いたいと思います。
コメント