Python 実践データ分析 100本ノック 第2版
書籍情報
発売日 : 2022年06月15日
著者/編集 : 下山輝昌/松田雄馬/三木孝行
出版社 : 秀和システム
発行形態 : 単行本
書籍説明
内容紹介
大好評の書籍が“朝練”“放課後”を追加されリニューアル!!これがリアルなデータ分析だ!君は「汚いデータ」を処理できるか?事前の加工(視覚化)から機械学習、最適化問題まで。-ビジネス現場で即戦力になれる「応用力」を身につけよう!練習するライブラリ:Pandas/Numpy/Matplotlib/scikit-learn/Networkxs/pulp/ortoolpy/opencv/dlib//MeCab。
目次
朝練 100本ノックに備えて準備運動を行いましょう。
序章 朝練
朝練1:Google Colaboratoryをつかってみよう
朝練2:プログラムを書いて実行してみよう
朝練3:変数を使ってみよう
朝練4:ライブラリを使ってみよう
朝練5:コードセルを分けて効率よくプログラミングをしよう
朝練6:本書のサンプルプログラムをGoogle Colaboratoryで動かしてみよう
朝練7:Google Driveからデータを参照してみよう
朝練8:絶対パスと相対パスについて
第1部 基礎編:データ加工
第1章 ウェブからの注文数を分析する10本ノック
ノック1:データを読み込んでみよう
ノック2:データを結合(ユニオン)してみよう
ノック3:売上データ同士を結合(ジョイン)してみよう
ノック4:マスターデータを結合(ジョイン)してみよう
ノック5:必要なデータ列を作ろう
ノック6:データ検算をしよう
ノック7:各種統計量を把握しよう
ノック8:月別でデータを集計してみよう
ノック9:月別、商品別でデータを集計してみよう
ノック10:商品別の売上推移を可視化してみよう
第2章 小売店のデータでデータ加工を行う10本ノック
ノック11:データを読み込んでみよう
ノック12:データの揺れを見てみよう
ノック13:データに揺れがあるまま集計してみよう
ノック14:商品名の揺れを補正しよう
ノック15:金額欠損値の補完をしよう
ノック16:顧客名の揺れを補正しよう
ノック17:日付の揺れを補正しよう
ノック18:顧客名をキーに2つのデータを結合(ジョイン)しよう
ノック19:クレンジングしたデータをダンプしよう
ノック20:データを集計しよう
第2部 実践編①:機械学習
第3章 顧客の全体像を把握する10本ノック
ノック21:データを読み込んで把握しよう
ノック22:顧客データを整形しよう
ノック23:顧客データの基礎集計をしよう
ノック24:最新顧客データの基礎集計をしてみよう
ノック25:利用履歴データを集計しよう
ノック26:利用履歴データから定期利用フラグを作成しよう
ノック27:顧客データと利用履歴データを結合しよう
ノック28:会員期間を計算しよう
ノック29:顧客行動の各種統計量を把握しよう
ノック30:退会ユーザーと継続ユーザーの違いを把握しよう
第4章 顧客の行動を予測する10本ノック
ノック31:データを読み込んで確認しよう
ノック32:クラスタリングで顧客をグループ化しよう
ノック33:クラスタリング結果を分析しよう
ノック34:クラスタリング結果を可視化してみよう
ノック35:クラスタリング結果をもとに退会顧客の傾向を把握しよう
ノック36:翌月の利用回数予測を行うための準備をしよう
ノック37:特徴となる変数を付与しよう
ノック38:来月の利用回数予測モデルを作成しよう
ノック39:モデルに寄与している変数を確認しよう
ノック40:来月の利用回数を予測しよう
第5章 顧客の退会を予測する10本ノック
ノック41:データを読み込んで利用データを整形しよう
ノック42:退会前月の退会顧客データを作成しよう
ノック43:継続顧客のデータを作成しよう
ノック44:予測する月の在籍期間を作成しよう
ノック45:欠損値を除去しよう
ノック46:文字列型の変数を処理できるように整形しよう
ノック47:決定木を用いて退会予測モデルを作成してみよう
ノック48:予測モデルの評価を行い、モデルのチューニングをしてみよう
ノック49:モデルに寄与している変数を確認しよう
ノック50:顧客の退会を予測しよう
第3部 実践編②:最適化問題
第6章 物流の最適ルートをコンサルティングする10本ノック
ノック51:物流に関するデータを読み込んでみよう
ノック52:現状の輸送量、コストを確認してみよう
ノック53:ネットワークを可視化してみよう
ノック54:ネットワークにノード(頂点)を追加してみよう
ノック55:ルートの重みづけを実施しよう
ノック56:輸送ルート情報を読み込んでみよう
ノック57:輸送ルート情報からネットワークを可視化してみよう
ノック58:輸送コスト関数を作成しよう
ノック59:制約条件を作ってみよう
ノック60:輸送ルートを変更して、輸送コスト関数の変化を確認しよう
第7章 ロジスティクスネットワークの最適設計を行う10本ノック
ノック61:輸送最適化問題を解いてみよう
ノック62:最適輸送ルートをネットワークで確認しよう
ノック63:最適輸送ルートが制約条件内に収まっているかどうかを確認しよう
ノック64:生産計画に関するデータを読み込んでみよう
ノック65:利益を計算する関数を作ってみよう
ノック66:生産最適化問題を解いてみよう
ノック67:最適生産計画が制約条件内に収まっているかどうかを確認しよう
ノック68:ロジスティクスネットワーク設計問題を解いてみよう
ノック69:最適ネットワークにおける輸送コストとその内訳を計算しよう
ノック70:最適ネットワークにおける生産コストとその内訳を計算しよう
第8章 数値シミュレーションで消費者行動を予測する10本ノック
ノック71:人間関係のネットワークを可視化してみよう
ノック72:口コミによる情報伝播の様子を可視化してみよう
ノック73:口コミ数の時系列変化をグラフ化してみよう
ノック74:会員数の時系列変化をシミュレーションしてみよう
ノック75:パラメータの全体像を、「相図」を見ながら把握しよう
ノック76:実データを読み込んでみよう
ノック77:リンク数の分布を可視化しよう
ノック78:シミュレーションのために実データからパラメータを推定しよう
ノック79:実データとシミュレーションを比較しよう
ノック80:シミュレーションによる将来予測を実施しよう
第4部 発展編:画像処理/言語処理
第9章 潜在顧客を把握するための画像認識10本ノック
ノック81:画像データを読み込んでみよう
ノック82:映像データを読み込んでみよう
ノック83:映像を画像に分割し、保存してみよう
ノック84:画像内のどこに人がいるのかを検出してみよう
ノック85:画像内の人の顔を検出してみよう
ノック86:画像内の人がどこに顔を向けているのかを検出してみよう
ノック87:検出した情報を統合し、タイムラプスを作ってみよう
ノック88:全体像をグラフにして可視化してみよう
ノック89:人通りの変化をグラフで確認しよう
ノック90:移動平均を計算することでノイズの影響を除去しよう
第10章 アンケート分析を行うための自然言語処理10本ノック
ノック91:データを読み込んで把握しよう
ノック92:不要な文字を除外してみよう
ノック93:文字数をカウントしてヒストグラムを表示してみよう
ノック94:形態素解析で文章を分割してみよう
ノック95:形態素解析で文章から「動詞・名詞」を抽出してみよう
ノック96:形態素解析で抽出した頻出する名詞を確認してみよう
ノック97:関係のない単語を除去してみよう
ノック98:顧客満足度と頻出単語の関係を見てみよう
ノック99:アンケート毎の特徴を表現してみよう
ノック100:類似アンケートを探してみよう
放課後練 さらなる挑戦
第11章 深層学習に挑戦する10本ノック
放課後ノック101:深層学習に必要なデータを準備しよう
放課後ノック102:深層学習モデルを構築しよう
放課後ノック103:モデルの評価をしてみよう
放課後ノック104:モデルを使った予測をしてみよう
放課後ノック105:物体検出YOLOを使って人の検出を行ってみよう
放課後ノック106:YOLOの学習を行うための準備をしよう
放課後ノック107:新たな学習データを使ってYOLOの学習モデルを生成してみよう
放課後ノック108:新たに学習させたモデルを使って人の検出を行ってみよう
放課後ノック109:YOLOとHOGの人の検出結果を比較して深層学習の精度を体感しよう
放課後ノック110:YOLOでの人以外の物体の検出のようすを確認しよう
第12章 データ加工に挑戦する10本ノック
放課後ノック111:“よくある”エクセルデータに挑戦
放課後ノック112:エクセルの社員マスタ加工に挑戦
放課後ノック113:正規化に挑戦
放課後ノック114:外れ値の加工に挑戦
放課後ノック115:欠損値の補完に挑戦
放課後ノック116:データのスクランブル化に挑戦
放課後ノック117:文字コードの自動判定に挑戦
放課後ノック118:センサーデータの加工に挑戦
放課後ノック119:JSON形式に挑戦
放課後ノック120:SQLiteに挑戦
付録
Appendix① データ結合とデータ正規化
Appendix② 機械学習
Appendix③ 最適化問題
序章 朝練
朝練1:Google Colaboratoryをつかってみよう
朝練2:プログラムを書いて実行してみよう
朝練3:変数を使ってみよう
朝練4:ライブラリを使ってみよう
朝練5:コードセルを分けて効率よくプログラミングをしよう
朝練6:本書のサンプルプログラムをGoogle Colaboratoryで動かしてみよう
朝練7:Google Driveからデータを参照してみよう
朝練8:絶対パスと相対パスについて
第1部 基礎編:データ加工
第1章 ウェブからの注文数を分析する10本ノック
ノック1:データを読み込んでみよう
ノック2:データを結合(ユニオン)してみよう
ノック3:売上データ同士を結合(ジョイン)してみよう
ノック4:マスターデータを結合(ジョイン)してみよう
ノック5:必要なデータ列を作ろう
ノック6:データ検算をしよう
ノック7:各種統計量を把握しよう
ノック8:月別でデータを集計してみよう
ノック9:月別、商品別でデータを集計してみよう
ノック10:商品別の売上推移を可視化してみよう
第2章 小売店のデータでデータ加工を行う10本ノック
ノック11:データを読み込んでみよう
ノック12:データの揺れを見てみよう
ノック13:データに揺れがあるまま集計してみよう
ノック14:商品名の揺れを補正しよう
ノック15:金額欠損値の補完をしよう
ノック16:顧客名の揺れを補正しよう
ノック17:日付の揺れを補正しよう
ノック18:顧客名をキーに2つのデータを結合(ジョイン)しよう
ノック19:クレンジングしたデータをダンプしよう
ノック20:データを集計しよう
第2部 実践編①:機械学習
第3章 顧客の全体像を把握する10本ノック
ノック21:データを読み込んで把握しよう
ノック22:顧客データを整形しよう
ノック23:顧客データの基礎集計をしよう
ノック24:最新顧客データの基礎集計をしてみよう
ノック25:利用履歴データを集計しよう
ノック26:利用履歴データから定期利用フラグを作成しよう
ノック27:顧客データと利用履歴データを結合しよう
ノック28:会員期間を計算しよう
ノック29:顧客行動の各種統計量を把握しよう
ノック30:退会ユーザーと継続ユーザーの違いを把握しよう
第4章 顧客の行動を予測する10本ノック
ノック31:データを読み込んで確認しよう
ノック32:クラスタリングで顧客をグループ化しよう
ノック33:クラスタリング結果を分析しよう
ノック34:クラスタリング結果を可視化してみよう
ノック35:クラスタリング結果をもとに退会顧客の傾向を把握しよう
ノック36:翌月の利用回数予測を行うための準備をしよう
ノック37:特徴となる変数を付与しよう
ノック38:来月の利用回数予測モデルを作成しよう
ノック39:モデルに寄与している変数を確認しよう
ノック40:来月の利用回数を予測しよう
第5章 顧客の退会を予測する10本ノック
ノック41:データを読み込んで利用データを整形しよう
ノック42:退会前月の退会顧客データを作成しよう
ノック43:継続顧客のデータを作成しよう
ノック44:予測する月の在籍期間を作成しよう
ノック45:欠損値を除去しよう
ノック46:文字列型の変数を処理できるように整形しよう
ノック47:決定木を用いて退会予測モデルを作成してみよう
ノック48:予測モデルの評価を行い、モデルのチューニングをしてみよう
ノック49:モデルに寄与している変数を確認しよう
ノック50:顧客の退会を予測しよう
第3部 実践編②:最適化問題
第6章 物流の最適ルートをコンサルティングする10本ノック
ノック51:物流に関するデータを読み込んでみよう
ノック52:現状の輸送量、コストを確認してみよう
ノック53:ネットワークを可視化してみよう
ノック54:ネットワークにノード(頂点)を追加してみよう
ノック55:ルートの重みづけを実施しよう
ノック56:輸送ルート情報を読み込んでみよう
ノック57:輸送ルート情報からネットワークを可視化してみよう
ノック58:輸送コスト関数を作成しよう
ノック59:制約条件を作ってみよう
ノック60:輸送ルートを変更して、輸送コスト関数の変化を確認しよう
第7章 ロジスティクスネットワークの最適設計を行う10本ノック
ノック61:輸送最適化問題を解いてみよう
ノック62:最適輸送ルートをネットワークで確認しよう
ノック63:最適輸送ルートが制約条件内に収まっているかどうかを確認しよう
ノック64:生産計画に関するデータを読み込んでみよう
ノック65:利益を計算する関数を作ってみよう
ノック66:生産最適化問題を解いてみよう
ノック67:最適生産計画が制約条件内に収まっているかどうかを確認しよう
ノック68:ロジスティクスネットワーク設計問題を解いてみよう
ノック69:最適ネットワークにおける輸送コストとその内訳を計算しよう
ノック70:最適ネットワークにおける生産コストとその内訳を計算しよう
第8章 数値シミュレーションで消費者行動を予測する10本ノック
ノック71:人間関係のネットワークを可視化してみよう
ノック72:口コミによる情報伝播の様子を可視化してみよう
ノック73:口コミ数の時系列変化をグラフ化してみよう
ノック74:会員数の時系列変化をシミュレーションしてみよう
ノック75:パラメータの全体像を、「相図」を見ながら把握しよう
ノック76:実データを読み込んでみよう
ノック77:リンク数の分布を可視化しよう
ノック78:シミュレーションのために実データからパラメータを推定しよう
ノック79:実データとシミュレーションを比較しよう
ノック80:シミュレーションによる将来予測を実施しよう
第4部 発展編:画像処理/言語処理
第9章 潜在顧客を把握するための画像認識10本ノック
ノック81:画像データを読み込んでみよう
ノック82:映像データを読み込んでみよう
ノック83:映像を画像に分割し、保存してみよう
ノック84:画像内のどこに人がいるのかを検出してみよう
ノック85:画像内の人の顔を検出してみよう
ノック86:画像内の人がどこに顔を向けているのかを検出してみよう
ノック87:検出した情報を統合し、タイムラプスを作ってみよう
ノック88:全体像をグラフにして可視化してみよう
ノック89:人通りの変化をグラフで確認しよう
ノック90:移動平均を計算することでノイズの影響を除去しよう
第10章 アンケート分析を行うための自然言語処理10本ノック
ノック91:データを読み込んで把握しよう
ノック92:不要な文字を除外してみよう
ノック93:文字数をカウントしてヒストグラムを表示してみよう
ノック94:形態素解析で文章を分割してみよう
ノック95:形態素解析で文章から「動詞・名詞」を抽出してみよう
ノック96:形態素解析で抽出した頻出する名詞を確認してみよう
ノック97:関係のない単語を除去してみよう
ノック98:顧客満足度と頻出単語の関係を見てみよう
ノック99:アンケート毎の特徴を表現してみよう
ノック100:類似アンケートを探してみよう
放課後練 さらなる挑戦
第11章 深層学習に挑戦する10本ノック
放課後ノック101:深層学習に必要なデータを準備しよう
放課後ノック102:深層学習モデルを構築しよう
放課後ノック103:モデルの評価をしてみよう
放課後ノック104:モデルを使った予測をしてみよう
放課後ノック105:物体検出YOLOを使って人の検出を行ってみよう
放課後ノック106:YOLOの学習を行うための準備をしよう
放課後ノック107:新たな学習データを使ってYOLOの学習モデルを生成してみよう
放課後ノック108:新たに学習させたモデルを使って人の検出を行ってみよう
放課後ノック109:YOLOとHOGの人の検出結果を比較して深層学習の精度を体感しよう
放課後ノック110:YOLOでの人以外の物体の検出のようすを確認しよう
第12章 データ加工に挑戦する10本ノック
放課後ノック111:“よくある”エクセルデータに挑戦
放課後ノック112:エクセルの社員マスタ加工に挑戦
放課後ノック113:正規化に挑戦
放課後ノック114:外れ値の加工に挑戦
放課後ノック115:欠損値の補完に挑戦
放課後ノック116:データのスクランブル化に挑戦
放課後ノック117:文字コードの自動判定に挑戦
放課後ノック118:センサーデータの加工に挑戦
放課後ノック119:JSON形式に挑戦
放課後ノック120:SQLiteに挑戦
付録
Appendix① データ結合とデータ正規化
Appendix② 機械学習
Appendix③ 最適化問題
著者情報
下山, 輝昌
下山輝昌
《下山 輝昌》
日本電気株式会社(NEC)の中央研究所にてハードウェアの研究開発に従事した後、独立。機械学習を活用したデータ分析やダッシュボードデザイン等に裾野を広げ、データ分析コンサルタントとして幅広く案件に携わる。それと同時に、最先端テクノロジーの効果的な活用による社会の変革を目指し、2017 年に合同会社 アイキュベータを共同創業。人工知能、Internet of Things(IoT)、情報デザインの新しい方向性 や可能性を研究しつつビジネス化に取り組んでいる。共著『Tableau データ分析~入門から実践まで~』(秀和システム)。
松田, 雄馬, 1982-
松田雄馬
《松田 雄馬》
博士(工学)。京都大学大学院にてニューラルネットワークの基礎研究に着手した後、日本電気株式会社(NEC)中央研究所に入所。確率論を用いた無線通信信号処理の最適化に関する研究に着手した後、次世代脳型コンピュータに関するプロジェクトを立ち上げ、画像認識を中心とした航空宇宙防衛事業を含む多数分野の事業化に携わる。2015年、東北大学大学院にて博士号を取得し、2017年、合同会社アイキュベータを共同創業。著書『人工知能の哲学』(東海大学出版部)、『人工知能はなぜ椅子に座れないのか』(新潮社)。
三木, 孝行
三木孝行
《三木 孝行》
銀行系、鉄道系の業務基幹システム開発を、要件定義から設計、開発、リリースまで幅広く経験。業務基幹システムでは必ずといっていいほどデータベースを用いるため、特にRDB/SQLについて知識を習得している。
それらの経験を活かし、データ分析やデータ加工を含めたシステム開発全般におけるコンサルタントとして幅広く案件に携わる。2017 年に合同会社 アイキュベータを共同創業。