書籍概要

Pythonブートキャンプ[データ分析コース]
~コードを書くチカラを鍛える3週間集中プログラム

著者
発売日
更新日

概要

「コードを書くには基礎学習を完璧にしなきゃ」と思い込んでいませんか?

試験勉強のように,ノートにまとめたり,文法を丸暗記したり……。しかし,本当のプログラミング最短習得の道は「とにかく実践あるのみ」です。

そこで,本書はデータ分析の演習問題を105問掲載。自分でコードを書くトレーニングを1日5問ずつこなし,3週間で実務に通用するレベルを目指します。

「入門書を1冊読んでも,いざ実践となると手が動かない」「転職のためにどうステップアップしよう……」と悩む方は必読です!

こんな方におすすめ

  • Pythonの基礎学習からステップアップしたい人
  • データサイエンティストを目指す人
  • 業務データを分析したい人

サンプル

samplesamplesamplesamplesample

目次

  • 本書の効果的な使い方
  • 本書のゴール「分析コンペティション」
  • インストール不要の実行環境「GoogleColab」

Chapter1 データ分析でよく使う「基礎文法」15問

  • [問1-01] リストを作成する
  • [問1-02] Pythonの条件分岐を学ぶ
  • [問1-03] 条件に合う要素を格納したリストを作成する
  • [問1-04] Pythonのループをマスターする
  • [問1-05] リスト内包表記をマスターする
  • [問1-06] リストを結合する
  • [問1-07] リストから要素を取り出す
  • [問1-08] リストのソートを学ぶ
  • [問1-09] スライスをマスターする
  • [問1-10] タプルの基本操作を学ぶ
  • [問1-11] 辞書を作成する
  • [問1-12] 辞書を結合する
  • [問1-13] 関数を作成する
  • [問1-14] lambda式の基本を学ぶ
  • [問1-15] lambda式を使ってリストをソートする
  • COLUMN プログラミング学習は英語や料理の習得と同じ?

Chapter2 基本の流れをおさえる「分析フロー」10問

  • [問2-01] ファイルからデータを読み込む
  • [問2-02] データフレームの基本情報を確認する
  • [問2-03] データフレームの基本操作を学ぶ
  • [問2-04] データを絞り込む
  • [問2-05] データをソートする
  • [問2-06] 欠損値の扱い方を学ぶ
  • [問2-07] グルーピング(集約)を理解する
  • [問2-08] データを可視化する
  • [問2-09] かんたんな統計分析を実行する
  • [問2-10] データを結合する

Chapter3 分析前の下処理をする「データ加工」20問

  • [問3-01] 特定の列のユニークな値を確認する
  • [問3-02] 列の値を置換する
  • [問3-03] 新しい列を追加する
  • [問3-04] 列の値を標準化する
  • [問3-05] 外れ値を検出して対処する
  • [問3-06] 欠損値を特定の値で埋める
  • [問3-07] データを正規化する
  • [問3-08] 特定の行をインデックスで抽出する
  • [問3-09] 特定の行をラベルで抽出する
  • [問3-10] 特定の行と列を抽出する
  • [問3-11] 特定の列に文字列を追加する
  • [問3-12] 特定の列を新しい値で更新する
  • [問3-13] 条件付きで列の値を更新する
  • [問3-14] 複数の条件で列の値を更新する
  • [問3-15] データフレームを分割する
  • [問3-16] 列の値を別のカラムに分割する
  • [問3-17] 特定の列を数値に変換する
  • [問3-18] カテゴリ変数をLabelEncodingする
  • [問3-19] カテゴリ変数をOne-HotEncodingする
  • [問3-20] 数値データをカテゴリデータに変換する
  • COLUMN データサイエンティストにキャリアアップするには?

Chapter4 “見える形”に表現する「データ可視化」10問

  • [問4-01] ヒストグラムを描画する
  • [問4-02] 棒グラフを描画する
  • [問4-03] 散布図を描画する
  • [問4-04] 箱ひげ図を描画する
  • [問4-05] 円グラフを描画する
  • [問4-06] ヒートマップを描画する
  • [問4-07] ラインプロットを描画する
  • [問4-08] バイオリンプロットを描画する
  • [問4-09] 散布図行列を描画する
  • [問4-10] 複数グラフを描画する

Chapter5 データの傾向をくわしく見る「統計学」10問

  • [問5-01] 特定の列の最大値と最小値を確認する
  • [問5-02] データの要約統計量を確認する
  • [問5-03] 相関係数を計算する
  • [問5-04] 最頻値を求める
  • [問5-05] 確率密度関数を推定し描画する
  • [問5-06] 歪度と尖度を計算する
  • [問5-07] 対数変換をおこなう
  • [問5-08] Box-Cox変換をおこなう
  • [問5-09] Yeo-Johnson変換をおこなう
  • [問5-10] カテゴリデータの独立性を検定する
  • COLUMN コードはどのくらい覚えればいいのか?

Chapter6 学習し未来を予測する「機械学習」20問

  • [問6-01] データセットを説明変数と目的変数に分割する
  • [問6-02] 学習用データと評価用データに分割する
  • [問6-03] 線形回帰モデルを作成する
  • [問6-04] 線形回帰モデルを評価する
  • [問6-05] 交差検証をおこなう
  • [問6-06] 機械学習モデル作成の準備をする(分類問題)
  • [問6-07] ロジスティック回帰モデルを作成して評価する
  • [問6-08] 特徴量を標準化し,ロジスティック回帰モデルを作成する
  • [問6-09] 層化交差検証を実装する
  • [問6-10] forループを活用した層化交差検証を実装する
  • [問6-11] 決定木モデルを作成する
  • [問6-12] ランダムフォレストモデルを作成する
  • [問6-13] すべてのデータを特徴量に使う
  • [問6-14] すべてのデータを使ってLightGBMモデルを作成する
  • [問6-15] 特徴量の重要度を可視化する
  • [問6-16] LightGBMモデルのハイパーパラメータを調整する
  • [問6-17] LightGBMモデルのハイパーパラメータを自動で調整する①
  • [問6-18] LightGBMモデルのハイパーパラメータを自動で調整する②
  • [問6-19] アンサンブル学習をおこなう
  • [問6-20] 正解率88.2%を目指して精度改善する

Chapter7 分類問題のKaggleコンペに挑戦しよう

  • 問題
  • 解答解説 STEP1 ベースライン作成
  • 解答解説 STEP2 特徴量エンジニアリング
  • 解答解説 STEP3 モデルチューニング
  • Chapter7 コード全体

Chapter8 回帰問題のKaggleコンペに挑戦しよう

  • 問題
  • 解答解説 STEP1 ベースライン作成
  • 解答解説 STEP2 特徴量エンジニアリング
  • 解答解説 STEP3 モデルチューニング
  • Chapter8 コード全体

サポート

ダウンロード

本ページでは『Pythonブートキャンプ[データ分析コース]』のChapter2~6で使用するデータセットと,本書のサンプルコードを提供しています。

(2025年5月15日更新)

Chapter2~6で使用するデータセット

データセット「Adult Income Dataset」のCSVファイルです。下記のリンクをクリックするとダウンロードされます。ダウンロードしたデータセットの使用方法は,本書P.85をご確認ください。

ダウンロード
データセット(adult_income_dataset.csv)

本データセット「Adult Income Dataset」は,以下のデータを一部改変・再構成したものです。

Becker, B. & Kohavi, R. (1996). Adult [Dataset]. UCI Machine Learning Repository. https://doi.org/10.24432/C5XW20
ライセンス: Creative Commons Attribution 4.0 International (CC BY 4.0)

本書のサンプルコード

Chapter1~6の「解答例」,Chapter7~8の「全体コード」のサンプルコードのファイル(IPYNBファイル)です。解答例の動作の確認などにご利用ください。下記のリンクをクリックすると,圧縮ファイル形式でダウンロードされます。ダウンロードした圧縮ファイルは適宜解凍してご利用ください。

ダウンロード
サンプルコード(PythonBootCamp_sample.zip)

IPYNBファイルは,Googleドライブにアップロードしてファイル名をダブルクリックすることで,Google Colaboratoryから開くことができます。もしGoogle Colaboratoryが起動しない場合は,Google Colaboratoryをインストールしてから再度お試しください。インストール方法は本書P.21に記載があります。

[ご注意]
また,本書記載の内容および公開しているデータセット,サンプルコードに基づく運用の結果について,著者,データセットの提供元,技術評論社は一切の責任を負いかねます。ご自身の責任のもと,ご使用ください。

正誤表

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

(2025年5月16日最終更新)

P.382 問6-20「解答例」コードの下から8行目

lgb_model = lgb.LGBMClassifier(random_state=42, verbose=-1)
LGBMClassifier(random_state=42)
model.fit(X_train, y_train)
model = lgb.LGBMClassifier(random_state=42, verbose=-1)
model.fit(X_train, y_train)

P.444 「cell-11.2」コードの下から5行目

"imp": model.get_feature_importance_,
"imp": model.feature_importances_,

P.449 「cell-11.3」コードの下から5行目

"imp": model.get_feature_importance_,
"imp": model.feature_importances_,

P.462 コード全体「cell-11.3」コードの下から3行目

# "imp": model.feature_importances_,
"imp": model.get_feature_importance_,
"imp": model.feature_importances_

商品一覧