書籍概要

つくってマスターPython
―機械学習・Webアプリケーション・スクレイピング・文書処理ができる!

著者
発売日
更新日

概要

Pythonの機械学習,Webアプリケーション,スクレイピング,文書処理が一冊でできる!

Pythonで本格的なプログラミングを行ってみたいすべての人に向けた楽しい入門書です。
初歩の機械学習からディープラーニングまで動かして学べます。Webアプリケーションも実際に作って仕組みを学びます。
スクレイピングではパーサーの活用などを紹介し,文書処理ではExcelやPDF処理まで体験できます。

こんな方におすすめ

  • Pythonで実践的なプログラムを書きたい方
  • 機械学習,Webアプリケーション,スクレイピング,文書処理の基礎を身に着けたい方

著者から一言

「Pythonを学びたい」と思う人は多いでしょう。人気の言語で,これさえ学べばいろいろできると話題です。
ただ,具体的に何を学べばどんなことができるのか,イメージできないでいる人も多いはずです。この本では,Pythonを使ってどんなことができるのか,さまざまな用途についてその基本をまとめました。環境構築,Pythonプログラミング基礎,ライブラリ基礎,文書処理,Webスクレイピング,Webアプリケーション,機械学習を解説していきます。

「はじめに」より

サンプル

目次

Chapter 1 Pythonをはじめよう

  • 1-1 Pythonを準備しよう
  • 1-2 Anacondaを利用しよう

Chapter 2 Pythonの基本文法

  • 2-1 値と変数
  • 2-2 値のまとまりを扱う
  • 2-3 構文をマスターする
  • 2-4 関数
  • 2-5 クラスの利用
  • 2-6 標準で用意される関数

Chapter 3 ライブラリを活用する

  • 3-1 基本的な値のライブラリ
  • 3-2 日時の扱い―datetimeモジュール
  • 3-3 文字列処理
  • 3-4 数値計算のNumPy
  • 3-5 matplotlibでグラフを作る

Chapter 4 文書を処理する

  • 4-1 正規表現
  • 4-2 テキストファイルの読み書き
  • 4-3 CSVファイルのアクセス
  • 4-4 OpenPyxlによるExcelファイル操作
  • 4-5 Pandasによるデータ集計

Chapter 5 Webから情報を取得する

  • 5-1 request/requestsによるスクレイピング
  • 5-2 Beautiful Soupでデータを取り出す
  • 5-3 JSON/XMLの活用

Chapter 6 Webアプリケーションを動かす

  • 6-1 http.serverによるサーバープログラム
  • 6-2 FlaskでWebアプリケーション
  • 6-3 Jinja2テンプレートの活用

Chapter 7 機械学習を体験する

  • 7-1 scikit-learnを使う
  • 7-2 さまざまな学習モデルの利用
  • 7-3 TensorFlowでディープラーニング
  • 7-4 ディープラーニングの動きを追う

サポート

ダウンロード

ファイルのダウンロードについて

(2019年11月8日更新)

下記ファイルをダウンロードしてご利用ください。

ダウンロード
sample.zip

正誤表

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

(2024年9月30日最終更新)

リスト5-13, 5-14のURLの変更

著者の管理上の都合により書籍掲載のURLが一部変更となりました。

リスト5-13のアドレス(3行目)
変更後
address = 'https://tuyano-dummy-data.firebaseio.com/mydata.json'
リスト5-14のアドレス(4行目)
変更後
address = 'https://tuyano-dummy-data.firebaseio.com/mydata/{}.json'

なお,取得するデータの形式がオブジェクトの配列に変わっていますので,リスト5-13については繰り返し部分(for部分)の修正が必要になります。

修正前
for key in address_info:
  data = address_info[key]
修正後
for data in address_info:

(以下2022年1月25日更新)

# P.29 図1-16のキャプション

図1-16:Sypderのウィンドウ
図1-16:Spyderのウィンドウ

(以下2020年10月12日更新)

# P.68 図2-8の図 「〜のクラス」の下段の文字

図中の文言が誤っていました。いずれも正しくは下記です。

ウィンドウで使う変数→ウィンドウで使う処理
メニューで使う変数→メニューで使う処理
ボタンで使う変数→ボタンで使う処理

# P.133〜P.134 リスト4-9のインデント

最後の行のインデントがスペース2つになっていました。正しくは4つです。


try:
    with open('data.txt', mode='r') as f:
        count = 0
        for p in f:
            count += 1
            print( str(count) + ':' + p)
except Exception as error:
    print(str(error))

# P.141 4-3の「CSVデータを作成する」の値の保存の解説箇所

これをwritenowで書き出しています。
これをwriterowで書き出しています。

# P.218 6-2の「Jinja2テンプレートを利用する」のリスト6-12の説明箇所


{{mwessage}}

{{message}}

# P.229 6-3の「{% for in %}で繰り返し表示を行う」の末尾、リスト6-19の説明文


index.htmlがわの{% block content %}部分が、

index.htmlの{% block content %}部分が、

# P.261 7-3の「Sequentialモデルを作成する」の関数指定の説明箇所

ここではoftmaxという関数を指定しています。
ここではsoftmaxという関数を指定しています。

# P.272 7-4の見出し「fasion minstをTensorBoard対応にする」の部分

fashionとすべき箇所がfasionになっていました。

fasion mnistをTensorBoard対応にする
fashion mnistをTensorBoard対応にする

# P.272 fashion minstの説明をしている箇所

fashionとすべき箇所がfasionになっていました。

一例として、先に使ったfasion mnist のプログラム(リスト7-13~15)にログ出力の処理を追加し、TensorBoard で実行状況をチェックできるようにしてみましょう。
一例として、先に使ったfashion mnist のプログラム(リスト7-13~15)にログ出力の処理を追加し、TensorBoard で実行状況をチェックできるようにしてみましょう。

# P.272 リスト7-16のコメント部分


import os.path #  Windows/macOS感でファイル名を適切に処理するのに必要

import os.path #  Windows/macOSでファイル名を適切に処理するのに必要

補足情報

P.57 tryによる例外処理のelse節について

(2022年1月25日更新)

本書では説明の簡略化のために紹介しませんでしたが,tryにはexceptとfinallyのほかにelseという文法事項もあります。
elseは,exceptのあとにおき,exceptが動作しなかった場合に動作します。


try:
    ……例外が発生する可能性のある処理……
except:
    ……例外が発生時の処理……
else:
    ……例外が未発生時の処理……
finally:
    ……構文を終える際の処理……

商品一覧