書籍概要

Pythonによるはじめての機械学習プログラミング
[現場で必要な基礎知識がわかる]

著者
発売日
更新日

概要

人工知能(AI)・機械学習と言ったバズワードを見ることは多くなりましたが,まだまだデータ解析のハードルは高いと考えられています。特に機械学習の入門書には高度な理論や前提知識を必要とされることも多く,学習する過程で挫折しまうことが多いようです。
エンジニアのみなさんにとっては,Pythonの便利なツールを用いてデータに実際にふれて,機械学習の面白さや便利さを体験することも良い学習方法の1つです。 誤解をおそれずに言えば,目の前のデータをどう扱えば役に立つのか? を理解してからでも理論を学ぶのは遅くはありません。本書では「勉強になった」で終わることなく現場のアプリーケーションを使うための機械学習の基礎を解説します。

こんな方におすすめ

  • 機械学習に興味のあるエンジニア,これから機械学習を試してみたいエンジニア

目次

第1章 Pythonによる機械学習プログラミングの準備

  • 1.1 本書で扱う重要なPythonパッケージ
    • Pandas
    • scikit-learn
    • Flask
    • Gensim
    • PyTorch
  • 1.2 本書の読み方
    • コードおよびコマンドの表示
    • importの決まりごと
    • サンプルデータとサンプルコード
  • 1.3 Pythonのセットアップ
    • 本書で用いるPython環境とバージョン
    • macOSへのPythonのインストール
    • UbuntuへのPythonのインストール
    • WindowsへのPythonのインストール
    • MeCabのインストール
    • Graphvizのインストール
    • Pipenvによる仮想環境作成
    • Pythonを記述する環境
  • 1.4 Visual Studio CodeによるPythonの実行
    • Visual Studio Codeのインストール
    • Visual Studio Codeの設定
    • Visual Studio Code上でのPythonファイルの実行方法
    • Visual Studio Codeを用いたPythonのデバッグ方法
  • 1.5 JupyterLabの基本
    • JupyterLabの概要
    • セットアップ
    • JupyterLabの画面構成
    • Notebookの基本的な使い方

第2章 Pandasによる前処理とデータの分析

  • 2.1 前処理とは
    • データ分析プロセスのフレームワークCRISP-DM
  • 2.2 irisデータの操作
    • データの読み込み
    • データへのアクセス
    • 1次元データ:Series
    • データの型
    • 事例:型の変換
  • 2.3 データフレームへの変換とデータフレームからの変換
    • データフレームの作り方
    • CSVファイルへの書き出し
    • データフレームをリストや辞書型に変換
  • 2.4 データフレームを用いた計算や集計
    • カテゴリーデータの種類や頻度
    • ランキング
    • データの並び替え
    • 基本的な集計
    • グループごとの集計
    • 複数の集計を計算
  • 2.5 その他のデータ形式の操作
    • TSV形式のデータ
    • Excel形式のデータ
    • htmlのテーブルを読む
    • メモリに乗らないデータを逐次的に読み込む
  • 2.6 データベースからのデータ取得
    • データベースとは
    • SQLite形式のデータを作る
    • SQLの実行
    • 集計と結合
  • 2.7 Pandasによるデータ分析の例
    • ライブラリとデータの読み込み
    • カテゴリカルな列を特定
    • データの整形1 - 複数回答を異なる列へ展開
    • データの整形2 - 4種類の回答を3種類にまとめる
    • データの整形3 - 条件に一致する行を抽出
    • データの整形4 - 縦方向のデータを横方向のデータに変換
    • Plotlyによる可視化
    • 1連の前処理を連続して記述するメソッドチェーン
    • 正規化と正則化
    • 外れ値
    • データのサンプリング
    • 欠損を含むデータの削除
    • 欠損値の補完

第3章 scikit-learnではじめる機械学習

  • 3.1 機械学習に取り組むための準備
    • 機械学習とは
    • 機械学習を使うメリット
    • 機械学習を使うデメリット
    • 機械学習を用いるかの判断
  • 3.2 scikit-learnによる機械学習の基本
    • scikit-learnとは
    • 教師あり学習と教師なし学習
    • 教師あり学習における課題の取り組み方
    • データの準備
    • 機械学習でデータを分類する
    • どんな特徴量が分類に貢献しているのか?
    • 別のアルゴリズムを試してみる
    • 機械学習での予測結果に関する評価方法
    • ここまでのまとめ
  • 3.3 Flaskとscikit-learnでAPIを構築する
    • マイクロサービスの考え方
    • 機械学習のアプリケーションをつくるステップ
    • 学習と予測を分けると得られるメリット
    • 学習結果を保存し,読み込む
    • 学習結果を用いて予測APIを構築する
    • Flaskを起動してみる
    • 学習結果をFlaskから読み込み,予測結果をAPIで返す
    • まとめ

第4章 GensimとPyTorchを使った自然言語処理

  • 4.1 自然言語処理とは
    • 分布仮説とWord2vec
    • Word2vecの学習
    • 単語の意味ベクトルの応用
  • 4.2 Gensimで単語の意味ベクトルを学習する
    • Word2vecのモデル
    • 学習データの生成
    • Gensimによる学習
    • 学習時に指定できる主要なパラメータ
    • 意味ベクトルの視覚化
  • 4.3 類語を検索する
    • 類語検索のアルゴリズム
    • 類語検索の実装
  • 4.4 アナロジーの推論をする
    • アナロジー推論のアルゴリズム
    • アナロジー推論の実装
  • 4.5 PyTorchで日本語ニュース記事を分類する
    • データセットの準備
    • 学習済み意味ベクトルのテキスト形式への変換
    • データセットの読み込みと語彙の作成
    • モデルの定義
    • モデルの訓練とテスト
  • 4.6 本章のまとめと次のステップ

サポート

ダウンロード

(2019年4月23日更新)

サンプルコードや設定ファイルを以下のURLで公開しています。

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2019年4月25日最終更新)

P.64「2.2.2 データへのアクセス」箇条書き部分

1行目で2列目のデータはiloc.iloc[0, 1]
1行目で2列目のデータはiris.iloc[0, 1]

P.83 「2.5.2 Excel形式のデータ」1つめのコードブロック

pd.read_excel('iris.data.xlsx', , sheet_name=0, index=None)
pd.read_excel('iris.data.xlsx', sheet_name=0, index=None)

P.88「2.6.3 SQLの実行」1つめのコードブロック

pd.read_sql('select * from iris where class='Iris-setosa'', con)
pd.read_sql('select * from iris where class="Iris-setosa"', con)

商品一覧