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

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

A5判/240ページ

定価(本体2,480円+税)

ISBN 978-4-297-10525-9

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

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

こんな方におすすめ

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

この書籍に関連する記事があります!

現場で活躍できる機械学習エンジニアになるための第一歩
世界的なトレンドとして,AIを活用した社会がどんどん進む中,それを実現する機械学習エンジニアが圧倒的に足りていません。

目次

第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 本章のまとめと次のステップ

著者プロフィール

島田達朗(しまだたつろう)

Connehito株式会社に所属。
コネヒトを創業し,日本の3人に1人のママが使うアプリ「ママリ」を開発。現在はAWSを中心としたインフラや自然言語処理を用いた機械学習基盤の構築に従事 。博士(工学)。
Twitter:@tatsushim


越水直人(こしみずなおと)

AdAsia Holdings Pte. Ltd. に所属。
データ分析会社を経て,現職。2018年11月からタイ在住。PythonでWeb開発やデータ分析を行いつつ,最近はReactによるフロントエンド開発を担当。R言語でShinyによるWebアプリケーション開発も行っている。
Twitter:@ksmzn


早川敦士(はやかわあつし)

株式会社FORCAS,株式会社ホクソエムに所属。
前職のリクルートコミュニケーションズではB2Cマーケティング,現職のFORCASではB2Bマーケティングプラットフォームのデータ分析及び開発を担当。大学在学中より『データサイエンティスト養成読本』(技術評論社)を共著にて執筆し,その後も執筆活動を続けている。国内最大級のR言語コミュニティであるJapan.Rを主催。株式会社ホクソエム執行役員。1年に1回のトライアスロンを目標にしている。
Mail:gepuro@gmail.com


山田育矢(やまだいくや)

株式会社Studio Ousiaに所属。
Pythonが大好きなエンジニア。 大学在学中に学生ベンチャー企業を創業し,売却。その後,株式会社Studio Ousiaを設立し,Pythonを使った自然言語処理の技術開発を行う。NIPS,WWW,ACL,NACCL等の著名な情報科学の国際会議内で開催されたコンペティションにて複数回の優勝経験を持つ。主に,自然言語処理や機械学習を応用した実用的な手法の開発に興味がある。博士(学術)。理化学研究所AIP客員研究員。