AI(人工知能)開発のプログラミング言語として高い人気を誇るPython。データ処理や機械学習のためのライブラリも豊富です。本特集では5回にわたって、Pythonの実習を通じて実際の機械学習モデルの開発方法を解説していきます。
例題で取りあげるのは、機械学習で最もよく利用する方式である、「教師あり学習」の「分類」です。乳がんの検診データとその診断結果を学習データとして利用し、検診データから良性か悪性か(2値のいずれか)を予測します。
ここで乳がんの診断予測を事例として取りあげるのは、データが取り扱いやすく、開発フローが単純で説明しやすいからです。まずはこの事例でモデル開発の一般的な流れを把握しましょう。
本特集で紹介する実際のPythonプログラムは、GitHubサイトで公開しています。実際にプログラムを動かしながら、機械学習モデルの開発を体験できます。
モデルの開発フロー
Pythonでモデルを実装する場合の典型的な開発フローは以下の通りです。
それぞれの概要を順に説明します。わかりづらいところがあっても、まずは一通り目を通してください。後でPythonで実装していくので、そのときに実際の方法がわかります。
(1)データ読み込み
機械学習用のデータをPythonで扱えるよう読み込む処理が最初に必要です。具体的なやり方としては大きく次の3通りがあります。
①CSVファイル読み込みによる方法
一番標準的な方法です。CSVファイルは通常、Jupyter Notebookが動いている環境から読み込みますが、学習用データがインターネット上に公開されている場合もあります。
今回の特集でこの後何度も出てくるread_csv関数は、ローカルファイルの読み込みと、URL 指定によるファイルの読み込みをサポートしています。URLを指定するケースでは、read_csv関数呼び出し1行でインターネット上のCSVファイルを直接読み込めます。
②関数呼び出しによる方法
機械学習でよく利用される公開データセットの場合、データ読み込みの関数が用意されている場合があります。このような場合、その関数の呼び出しだけでデータを読み込めます。
③ZIPダウンロードによる方法
学習用データがZIPファイルに圧縮した形でインターネット上に公開されている場合もあります。この場合、Jupyter Notebook上からは!wgetコマンドによるダウンロード、!unzipコマンドによるファイル解凍をした後、read_csv関数呼び出しでデータを読み込む形になります注1。