Python機械学習150PX1

  • Amazonで購入

Pythonによるスクレイピング&機械学習 開発テクニックBeautifulSoup、scikit-learn、TensorFlowを使ってみよう

著者
クジラ飛行机
定価
3,456円(本体価格 3,200円)
発売日
2016年12月6日
判型/ページ数
B5変型/320ページ(オール2色)
ISBN
978-4-8026-1079-7
備考
-

いまどきのWebアプリに必須とも言える機械学習・深層学習・スクレイピング・クローリング。
こうした施術を習得するには、サンプルを動かしながら使ってみるのがいちばんの早道。

本書では、まずインターネットのクローリングと、そのデータのスクレイピングを行います。

そして、得られたデータを活用する例として、機械学習や深層学習、画像認識などの例を紹介しています、

実用的なものから、ちょっと笑えるものまで、さまざまなサンプルが紹介されているので、これからPythonをつかって何か新しいアプリを開発してみたい…という人には最適の一冊といえます。


ジャンル

読者サポート

  • ダウンロード

目次

★0 章 機械学習のためのデータ処理とは
0-1 クローリング、スクレイピングそして機械学習
ビッグデータはネットにある
インターネットは宝の山
ブログやSNS - トレンド解析
ネットショップ - 商品データベースの利用
金融情報の利用
画像データの利用
行政機関の情報 - オープンデータ
辞書情報の利用
著作権切れの作品 - パブリックドメイン
機械学習用のデータセットの利用
スクレイピングとクローリング〜データの入手と加工
スクレイピングとは?
クローリングとは?
機械学習で使えるデータ構造
★1 章 クローリングとスクレイピング
1-1 データのダウンロード
Web 上の情報を取得する方法
urllib.request を使ったダウンロード
urlopen() を使ってファイルに保存する方法
Web からデータを取得してみよう
クライアントの接続情報を表示してみよう
任意のパラメーターを付けてリクエストを送信する方法
百人一首を検索するコマンドを自作してみよう
1-2 BeautifulSoup でスクレイピング
BeautifulSoup でスクレイピングしよう
BeautifulSoup のインストール
BeautifulSoup の基本的な使い方
任意のid で要素を探す方法
複数の要素を取得する - find_all() メソッド
DOM 要素の属性について
urlopen() とBeautifulSoup の組み合わせ
CSS セレクタを使う
Yahoo! ファイナンスの為替情報を取得してみよう!
1-3 CSS セレクタについて
HTML の構造確認にはWeb ブラウザーを使おう
任意の要素を選択してみよう
青空文庫で公開されている夏目漱石の作品一覧を得る
CSS セレクタをマスターしよう
CSS セレクタを抽出する練習をしてみよう
CSS セレクタで野菜・フルーツを選択しよう
正規表現と組み合わせる方法
1-4 リンク先を丸ごとダウンロード
丸ごとダウンロードを実現するのに必要な処理
相対パスを展開する方法
再帰的にHTML ページを処理すること
丸ごとダウンロードするプログラム
★2 章 高度なスクレイピング
2-1 ログインの必要なサイトからダウンロード
HTTP 通信について
クッキーについて
セッションについて
requests を使ってみよう
requestsモジュールのメソッド
ログイン時に送信しているデータを調べる
2-2 ブラウザーを経由したスクレイピング
Web ブラウザーを遠隔操作するSelenium について
画面なしブラウザー「PhantomJS」について
Selenium + PhantomJS の実行環境を整えよう
画面キャプチャしてみよう
会員制Web サイトにログインしてみよう
Selenium でスクレイピングする方法
Selenium でDOM 要素を選択する方法
Selenium で要素に対して行う操作
Selenium のドライバに対する操作
より詳しいSelenium のマニュアルについて
JavaScript を実行してみよう
2-3 スクレイピング道場
ページからリンク一覧を列挙する
URL の一覧を一気にダウンロードする方法

タグを解析してCSV ファイルとして出力する
SNS で特定ユーザーの作品を全部お気に入りにしよう
2-4 Web API からのデータ取得
Web API とは?
なぜ、Web API が提供されるのか?
Web API のデメリットも確認しておこう
Web API を利用しよう - OpenWeatherMap で天気予報
有名なWeb API の紹介
Rakuten Web Service
Yahoo! ショッピングWeb API
Recruit Web Service
ぐるなびAPI
日テレアプリ Web API
Twilio - 電話/SMS
ぽすたん(郵便番号→住所、住所→郵便番号)
OpenWeatherMap - 世界中の天気情報を取得
オープンデータ API
政府統計の総合窓口(e-Stat)
国立国会図書館サーチ
J-SHIS 地震ハザードステーション API
ハローワークのAPI
観光情報 公共クラウドシステムのAPI
国土交通省が提供する位置参照情報 API
国土交通省による国土数値情報のAPI
国税庁による法人番号システム Web-API
国土交通省土地総合情報システムAPI
2-5 cron と定期的なクローリング
定期的なクローリングについて
定期実行を使うメリットを確認
為替情報を毎日保存しよう
cron を仕掛けて毎日一回実行しよう
必要に応じて「nano」エディタをインストール
cron の設定を行う「crontab」
cron 実行時の環境変数に注意
crontab の記述方法の詳細
★3 章 データソースと書式・整形
3-1 Web のデータはさまざまなデータフォーマット
テキストデータとバイナリデータ
テキストデータにおける注意点
XML の解析
Python でXML の解析 - 地域防災拠点データを読む
JSON の解析
JSON の構造
Python でJSON の解析 - 百人一首を読む
JSON 形式を書き出す
YAML を解析する
Python でYAML の読み書き
YAML のデータ形式の紹介
CSV/TSV の解析
Python で単純なCSV ファイルを読む
Python でcsv モジュールを使う
Pandas も使える!
Excel ファイルの解析
Python-Excel をインストールしよう
Python でExcel ファイルを読む
Python でExcel ファイルに書き込む
Pandas を利用してExcel を読み出す方法
3-2 データベースについて
データベースについて
データの保存にはどのデータベースが向いている?
データベース
SQLite - お手軽単体ファイルのデータベース
MySQL を使う
docker でPython+MySQL の環境を整えよう
MySQL を起動してデータベースを作成しよう
Python から接続してデータベースを操作しよう
TinyDB を使う
★4 章 機械学習
4-1 機械学習とは
機械学習の概要
どのようにして特徴や規則を調べるのか?
全自動ではない
回帰分析とは?
機械学習の分類
教師あり学習
教師なし学習
強化学習
機械学習の流れ
機械学習の応用分野
クラス分類 (Classification)
グループ分け - クラスタリング (Clustering)
推薦 (Recommendation)
回帰 (Regression)
次元削減(Dimensionality Reduction)
過学習(過剰適合)について
4-2 機械学習はじめの一歩
scikit-learn - 機械学習のフレームワークについて
XOR 演算を学習させてみよう
フレームワークを利用してプログラムを楽に書く
アヤメを品種ごとに分類しよう
アヤメデータの入手
機械学習でアヤメの品種を分類しよう
訓練データとテストデータの分割を専用メソッドで
4-3 画像の文字認識
手書き数字の認識
手書き数字データならMNIST
画像データを学習させよう
6万件のフルデータで試してみよう
4-4 外国語の文章を判定
外国語の判定について
どのように判定を行うか?
サンプルデータの収集
言語判別のプログラム
データごとの分布をグラフにする
Web のインターフェイスを付けよう
学習済みのパラメーターを保存するプログラム
Web から使える言語判定アプリ
4-5 サポートベクターマシン(SVM) について
SVM とは?
SVM を実践で使ってみよう
データの分布を確認
SVM の種類について
4-6 ランダムフォレスト
ランダムフォレストとは?
ンダムフォレストを使ってみる
データを数値に直す際に気をつけること
4-7 データの検証方法について
クロスバリデーションについて
クロスバデーションを実践しよう
scikit-learn のクロスバリデーションを試す
グリッドサーチについて
★5 章 深層学習に挑戦しよう
5-1 深層学習とはなにか
深層学習——ディープラーニングについて
従来の画像認識と深層学習の手法の違い
ニューラルネットワークについて
パーセプトロンについて
そしてTensorFlow の世界へ
5-2 TensorFlow のインストール
TensorFlow について
インストール方法について
Ubuntu Linux (Docker) へのインストール
Ubuntu Linux へのインストール
macOS へのインストール
インストールできたかを確認する方法
TensorFlow に簡単な計算をさせてみよう
簡単な計算
5-3 Jupyter Notebook のススメ
Jupyter Notebook のセットアップと起動
新規ノートを作成しよう
コメントやドキュメントを入力しよう
ノートを保存しよう
出力がおかしくなったら
Python 以外にも使える
データを視覚化してみよう
Python のパスは?
グラフに日本語を表示する
TensorFlow とともに利用しよう
5-4 TensorFlow の基本を押さえよう
TensorFlow の基本
TensorFlow での変数の表現方法
TensorFlow のプレースホルダについて
機械学習に挑戦しよう
5-5 TensorBoard で視覚化しよう
TensorBoard の使い方
掛け算を行うコードを視覚化してみよう
変数を使った場合
機械学習を行うプログラムをTensorBoard に表示
TensorBoard を見やすくするために処理をまとめよう
5-6 TensorFlow で深層学習に進もう
深層学習の仕組み
畳み込み層について
プーリング層について
全結合層について
深層学習を実践してみよう - MNIST の手書きデータ再び
5-7 Keras でもっと楽に深層学習を実践しよう
Keras について
Keras のインストール
Keras でMNIST を試してみよう
Keras で肥満度判定ができるか試してみよう
5-8 Pandas/NumPy を使いこなそう
Pandas/NumPy について
Pandas/NumPy を使うには
DataFrame について
任意のデータの抽出
ソートや反転
データに対する操作
NumPy への変換
Pandas/Numpy のまとめ
★6 章 テキスト解析とチャットボットの作成
6-1 日本語の解析(形態素解析)について
形態素解析について
代表的な形態素解析のライブラリ
利用実績の多い定番ライブラリ「MeCab」
インストールがとにかくな簡単ピュアPython 解析器「Janome」
出現頻度の解析
夏目漱石の「こころ」もカウントしよう
6-2 Word2Vec で文章をベクトル変換しよう
Word2Vec について
Gensim とインストールについて
Gensim のWord2Vec で「こころ」を読む
夏目漱石「こころ」のモデルで遊んでみよう
夏目漱石・太宰治・芥川龍之介の作品をベクトル化しよう
夏目漱石のモデルで遊んでみよう
Wikipedia 日本語の全文データを辞書に使ってみよう
Wikipedia の全文データで遊んでみよう
6-3 ベイズの定理でテキストを分類しよう
テキストの分類に関する考察
ベイズの定理を紹介
ベイズの定理より、条件付き確率について
同時確率と乗法定理(積の法則)
ベイズの定理
イーブベイズ分類について
ベイジアンフィルタを使ってみよう
6-4 MLP でテキスト分類してみよう
MLP でテキスト分類しよう
livedoor ニュースコーパスをサンプルとして利用
テキストデータを固定長ベクトルに変換する方法
テキストの分類に挑戦してみよう
テキストの分かち書き
単語をID に変換し出現回数を数える
MLP でテキストの分類をしよう
6-5 文章の類似度をn-gram で調べよう
文章の類似度を調べることについて
レーベンシュタイン距離について
Python でレーベンシュタイン距離を計算するプログラム
N-gram で類似度を調べよう
6-6 マルコフ連鎖やLSTM で文章を生成しよう
マルコフ連鎖とLSTM/RNN について
マルコフ連鎖とは
マルコフ連鎖を実装してみよう
LSTM/RNN について
LSTM で文章を生成する
6-7 チャットボットの作成
チャットボット(会話ボット)について
チャットボットの仕組み
ボットに機械学習を導入する意味
ボットを作ろう
チャットボットのプログラムを実行してみよう
チャットボットのプログラム
★7 章 深層学習を実践してみよう
7-1 類似画像の検出をしよう
簡単な形状認識 - Average Hash
たくさんの画像から類似する画像を検索する
7-2 CNN でCaltech 101 の画像分類に挑戦しよう
CNN でカラー画像の分類に挑戦しよう
画像データをPython のデータ型に変換しよう
CNN を実践してみよう
さらに精度を上げるために
学習済みモデルを保存しよう
7-3 牛丼屋のメニューを画像判定しよう
牛丼判定ができるPC が良いPC である
スクレイピングからはじめよう
教師データの作成 - 手作業で牛丼を振り分けよう
画像データを数値データに変換しよう
まずはCNN で学習してみる
判定精度を向上させよう
コマンドラインで画像を判定できるようにしよう
7-4 OpenCV で顔認識
OpenCV について
OpenCV のインストール
Python3 用のCV2 モジュールのインストール
顔認識するプログラムを作ってみよう
顔にモザイクをかけよう
7-5 画像OCR - 連続文字認識に挑戦しよう
OpenCV でテキスト領域を認識しよう
100 桁の数字で挑戦
数字認識データを作ろう
100 個の数字をMNIST データで認識してみる
いろいろな数字フォントを学習させよう
★Appendix 作業の準備と環境構築
Appendix 1 Docker で開発環境を構築しよう
Docker とは
Docker のインストール
Windows10 以下でDocker Toolbox をインストール
macOS でDocker Toolbox をインストール
Appendix 2 Python + Anaconda の環境を整える
Docker が正しく動くか検証
Python + Anaconda のイメージをダウンロード
コンテナの状態を保存しよう
コンテナの再開について
ホストOS のホームディレクトリをマウントしよう
その他のインストール

この書籍の購入

  • Amazonで購入する