データ分析の教科書のサンプルコードの4.5の実行結果

以前の記事日立製作所Lumada データサイエンスチームが書いたデータサイエンスの本「実践 データ分析の教科書」(リックテレコム社)を紹介しました。

データサイエンスをどのように業務に活用するかが分かりやすく書かれていて、しかも第4章ではPython を使ったサンプルコード、第5章ではシステム化のコツもあって良い本だと思いました。

日立のLumadaデータサイエンティストたちが書いた「実践 データ分析の教科書」(出版:リックテレコム)
日立のLumadaデータサイエンティストたちが書いた「実践 データ分析の教科書」(出版:リックテレコム)

サンプルコードはリックテレコムの公式サイトから「データダウンロード」→「コンピュータ、通信」をクリックして、「実践 データ分析の教科書」の「ソースコード」のハイパーリンクをクリックします。

リックテレコムのデータダウンロードのページ
リックテレコムのデータダウンロードのページ

直リンクはこちらです。ダウンロード時には、書籍に書いてあるユーザー名とパスワードが必要になるので注意してください。

ただ、画像処理(4.5節)のサンプルコードを試したところ、そのまま実行するとエラーで動かなかったので要注意です。

私の環境はWindows だったのですが、このサンプルコードをダウンロードしてZip ファイルを解凍すると、中には中間ファイルと思われるファイルが含まれていました。「._」で始まるファイルが含まれているとコード実行時にエラーが出るので削除します。

データ分析の教科書のサンプルコードの4.5
データ分析の教科書のサンプルコードの4.5
データ分析の教科書のサンプルコードの4.5
データ分析の教科書のサンプルコードの4.5

続いてtest フォルダにサブフォルダを作ります。Zip ファイルをダウンロードして解凍すると、test フォルダにはフラットにJPG 画像が置かれていますが、この状態だとサンプルコードを実行したときにload_images を実行する際にディレクトリ名が無効というエラーが出てしまいました。

NotADirectoryError: [WinError 267] ディレクトリ名が無効です。: ‘test\\001_OK.jpg’

これはカスタム関数で定義されているload_images でサブフォルダを想定した書き方になっているためです。train フォルダと同じように、test フォルダに「NG」と「OK」のサブフォルダを作り、それぞれJPG ファイルのファイル名を見て「OK」が付いていれば「OK」フォルダに、「NG」が付いているファイル名なら「NG」フォルダに移動させます。

データ分析の教科書のサンプルコードの4.5
データ分析の教科書のサンプルコードの4.5

この4.5 の画像処理のサンプルでは、依存関係としてはTensorflow、numPy、matplotlib が書いてあったので

pip install tensorflow numpy matplotlib

でパッケージを事前にインストールしておきましたが、それでも実行時に内部処理のアフィン変換 (affine_transformations.py:281)のところで

ImportError: Image transformations require SciPy. Install SciPy.Code language: Python (python)

のエラーが出てしまいます。

pip install scipy

を実行してSciPy もインストールしておく必要があります。Python コードでの「import scipy」は不要です。

以上で問題なく4.5 のサンプルのJupyter Notebook (ipynb ファイル)が実行できました。

データ分析の教科書のサンプルコードの4.5の実行結果
データ分析の教科書のサンプルコードの4.5の実行結果

ちなみに書籍で指定のあったライブラリのバージョンは守らず、Python 3.9 で実行して、tensorflow、matplotlib、scipy、もバージョン指定せずに最新のバージョンをPIPでインストールして実行できました。Visual Studio Code でJupyter Notebook の拡張機能も入れて、ローカルのJupyter Notebook サーバーで試しました。

スポンサーリンク

2 Responses

  1. 電機メーカのエンジニアです。
    仕事に使えそうな内容がいろいろ入っており
    データ分析の教科書を気に入っています。
    ただ、初心者なので些細なところで躓くのですが
    おかげさまで4.5節をクリアできました!
    ありがとうございました。

    • コメントありがとうございます。
      この本は業務で使えそうな内容に絞って様々なデータサイエンスの実践例が書いてあるので、素晴らしいと思います。
      他のデータサイエンス本にもあるのですが、サンプルを動かすのにデータが無かったり、不要なファイルがあったり、環境構築の前提が書かれていなかったりするので、そういうところは気付き次第記事にまとめていこうと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です