Python 実践AIモデル構築 100本ノック
書籍情報
発売日 : 2021年09月17日
著者/編集 : 下山輝昌/中村智/高木洋介
出版社 : 秀和システム
発行形態 : 単行本
書籍説明
内容紹介
前処理からパラメータチューニング、AIアルゴリズムの特徴や長所短所まで。実際のビジネスの現場にも応用可能なAIモデル構築の一連の流れを学ぼう!
目次
■第1部 教師なし学習
第1章 基本的なクラスタリングを行う10本ノック
ノック1: k-meansで非階層型クラスタリングを実施してみよう
ノック2: クラスタリングの結果を評価してみよう
ノック3: k-means++で非階層型クラスタリングを実施してみよう
ノック4: エルボー法で最適なクラスタ数を探索してみよう
ノック5: シルエット分析で最適なクラスタ数を探索してみよう
ノック6: 階層型クラスタリングを実施してみよう
ノック7: 樹形図(デンドログラム)を解釈してみよう
ノック8: 最短距離法で階層型クラスタリングを実施してみよう
ノック9: 最長距離法で階層型クラスタリングを実施してみよう
ノック10: 群平均法で階層型クラスタリングを実施してみよう
第2章 様々なクラスタリングを行う10本ノック
ノック11: SpectralClusteringでクラスタリングを実施してみよう
ノック12: MeanShiftを使ったクラスタリングを実施してみよう
ノック13: x-meansで非階層型クラスタリングを実施してみよう
ノック14: GMMでクラスタリングを実施してみよう
ノック15: VBGMMでクラスタリングを実施してみよう
ノック16: VBGMMで最適なクラスタ数を探索してみよう
ノック17: MiniBatchKMeansでクラスタリングを実施してみよう
ノック18: DBSCANでクラスタリングを実施してみよう
ノック19: DBSCANでノイズを確認してみよう
ノック20: HDBSCANでクラスタリングを実施してみよう
第3章 代表的な次元削減を行う10本ノック
ノック21: PCAを実施してみよう
ノック22: 主成分を解釈してみよう
ノック23: スクリープロットで次元削減数を探索してみよう
ノック24: 寄与率で次元削減数を探索してみよう
ノック25: Isomapで次元削減を実施してみよう
ノック26: t-SNEで次元削減を実施してみよう
ノック27: t-SNEで最適なPerplexityを探索してみよう
ノック28: UMAPで次元削減を実施してみよう
ノック29: UMAPで最適なn_neighborsを探索してみよう
ノック30: PCAとUMAPを組み合わせて次元削減を実施してみよう
■第2部 教師あり学習
第4章 基礎的な回帰予測を行う10本ノック
ノック31: データを読み込もう
ノック32: データの概要を把握しよう
ノック33: データ同士の相関を把握しよう
ノック34: データを分割しよう
ノック35: 単回帰モデルを構築しよう
ノック36: モデルを使って値を予測しよう
ノック37: 予測結果を可視化してみよう
ノック38: 精度評価指標を使ってモデルを評価しよう
ノック39: 構築したモデルを保存しよう
ノック40: 保存したモデルを利用しよう
第5章 線形系回帰予測を行う10本ノック
ノック41: データを加工しよう
ノック42: データをスケーリングしよう
ノック43: 重回帰モデルを構築しよう
ノック44: 重回帰モデルを評価しよう
ノック45: 各説明変数の重みを確認しよう
ノック46: LASSO回帰モデルを構築しよう
ノック47: LASSO回帰モデルを評価しよう
ノック48: LASSO回帰のハイパーパラメータを変更しよう
ノック49: 交差検証で最適なパラメータを見つけよう
ノック50: リッジ回帰でモデルを構築・評価しよう
第6章 決定木系回帰予測を行う10本ノック
ノック51: 決定木モデルを構築しよう
ノック52: 決定木モデルを評価しよう
ノック53: 決定木の深さを変えてみよう
ノック54: 最小サンプル数を変えてみよう
ノック55: ランダムフォレストモデルを構築・評価しよう
ノック56: ランダムフォレストの決定木の数を変えてみよう
ノック57: 交差検証法でモデルを評価しよう
ノック58: 勾配ブースティングモデルを構築・評価しよう
ノック59: グリッドサーチでハイパーパラメータをチューニングしよう
ノック60: ランダムサーチでハイパーパラメータをチューニングしよう
第7章 様々な分類予測を行う10本ノック
ノック61: 使用するデータを確認しよう
ノック62: データを加工しよう
ノック63: ロジスティック回帰モデルを構築しよう
ノック64: ロジスティック回帰モデルの決定境界を可視化してみよう
ノック65: 線形SVMモデルを構築し、決定境界を可視化してみよう
ノック66: カーネルSVMモデルを構築し、決定境界を可視化してみよう
ノック67: K近傍法モデルを構築し、決定境界を可視化してみよう
ノック68: 決定木モデルを構築し、決定境界を可視化してみよう
ノック69: ランダムフォレストモデルを構築し、決定境界を可視化してみよう
ノック70: 線形分離できないデータを分類してみよう
第8章 分類モデルの評価を行う10本ノック
ノック71: 評価対象のモデルを用意しよう
ノック72: 正解率を算出しよう
ノック73: 混同行列を見てみよう
ノック74: 適合率を算出しよう
ノック75: 再現率を算出しよう
ノック76: F1値を算出しよう
ノック77: 分類レポートを見てみよう
ノック78: 予測結果の確信度を算出しよう
ノック79: PR曲線を見てみよう
ノック80: 各モデルの評価結果を見てみよう
■第3部 機械学習発展編
第9章 AIを説明可能にする10本ノック
ノック81: SHAPモデルを構築してみよう
ノック82: 回帰系モデルのSHAP値を確認してみよう
ノック83: 回帰系モデルをsummary_plotで解釈してみよう
ノック84: 回帰系モデルをdependence_plotで解釈してみよう
ノック85: 回帰系モデルをforce_plotで解釈してみよう
ノック86: 回帰系モデルをwaterfall_plotで解釈してみよう
ノック87: 分類系モデルのSHAP値を確認してみよう
ノック88: 分類系モデルをsummary_plotで解釈してみよう
ノック89: 分類系モデルをdependence_plotで解釈してみよう
ノック90: 分類系モデルをforce_plotで解釈してみよう
第10章 AutoMLでモデル構築評価を行う10本ノック
ノック91: PyCaretで回帰モデルの前処理を実施しよう
ノック92: PyCaretでtrain_sizeを変更してみよう
ノック93: PyCaretで回帰モデルを構築しよう
ノック94: PyCaretでハイパーパラメータをチューニングしよう
ノック95: PyCaretで回帰モデルを評価しよう
ノック96: PyCaretで回帰モデルを完成させて再利用しよう
ノック97: PyCaretで回帰モデルを解釈しよう
ノック98: PyCaretで分類モデルを構築しよう
ノック99: PyCaretで分類モデルを評価しよう
ノック100: PyCaretでクラスタリングを実施してPCAで可視化しよう
第1章 基本的なクラスタリングを行う10本ノック
ノック1: k-meansで非階層型クラスタリングを実施してみよう
ノック2: クラスタリングの結果を評価してみよう
ノック3: k-means++で非階層型クラスタリングを実施してみよう
ノック4: エルボー法で最適なクラスタ数を探索してみよう
ノック5: シルエット分析で最適なクラスタ数を探索してみよう
ノック6: 階層型クラスタリングを実施してみよう
ノック7: 樹形図(デンドログラム)を解釈してみよう
ノック8: 最短距離法で階層型クラスタリングを実施してみよう
ノック9: 最長距離法で階層型クラスタリングを実施してみよう
ノック10: 群平均法で階層型クラスタリングを実施してみよう
第2章 様々なクラスタリングを行う10本ノック
ノック11: SpectralClusteringでクラスタリングを実施してみよう
ノック12: MeanShiftを使ったクラスタリングを実施してみよう
ノック13: x-meansで非階層型クラスタリングを実施してみよう
ノック14: GMMでクラスタリングを実施してみよう
ノック15: VBGMMでクラスタリングを実施してみよう
ノック16: VBGMMで最適なクラスタ数を探索してみよう
ノック17: MiniBatchKMeansでクラスタリングを実施してみよう
ノック18: DBSCANでクラスタリングを実施してみよう
ノック19: DBSCANでノイズを確認してみよう
ノック20: HDBSCANでクラスタリングを実施してみよう
第3章 代表的な次元削減を行う10本ノック
ノック21: PCAを実施してみよう
ノック22: 主成分を解釈してみよう
ノック23: スクリープロットで次元削減数を探索してみよう
ノック24: 寄与率で次元削減数を探索してみよう
ノック25: Isomapで次元削減を実施してみよう
ノック26: t-SNEで次元削減を実施してみよう
ノック27: t-SNEで最適なPerplexityを探索してみよう
ノック28: UMAPで次元削減を実施してみよう
ノック29: UMAPで最適なn_neighborsを探索してみよう
ノック30: PCAとUMAPを組み合わせて次元削減を実施してみよう
■第2部 教師あり学習
第4章 基礎的な回帰予測を行う10本ノック
ノック31: データを読み込もう
ノック32: データの概要を把握しよう
ノック33: データ同士の相関を把握しよう
ノック34: データを分割しよう
ノック35: 単回帰モデルを構築しよう
ノック36: モデルを使って値を予測しよう
ノック37: 予測結果を可視化してみよう
ノック38: 精度評価指標を使ってモデルを評価しよう
ノック39: 構築したモデルを保存しよう
ノック40: 保存したモデルを利用しよう
第5章 線形系回帰予測を行う10本ノック
ノック41: データを加工しよう
ノック42: データをスケーリングしよう
ノック43: 重回帰モデルを構築しよう
ノック44: 重回帰モデルを評価しよう
ノック45: 各説明変数の重みを確認しよう
ノック46: LASSO回帰モデルを構築しよう
ノック47: LASSO回帰モデルを評価しよう
ノック48: LASSO回帰のハイパーパラメータを変更しよう
ノック49: 交差検証で最適なパラメータを見つけよう
ノック50: リッジ回帰でモデルを構築・評価しよう
第6章 決定木系回帰予測を行う10本ノック
ノック51: 決定木モデルを構築しよう
ノック52: 決定木モデルを評価しよう
ノック53: 決定木の深さを変えてみよう
ノック54: 最小サンプル数を変えてみよう
ノック55: ランダムフォレストモデルを構築・評価しよう
ノック56: ランダムフォレストの決定木の数を変えてみよう
ノック57: 交差検証法でモデルを評価しよう
ノック58: 勾配ブースティングモデルを構築・評価しよう
ノック59: グリッドサーチでハイパーパラメータをチューニングしよう
ノック60: ランダムサーチでハイパーパラメータをチューニングしよう
第7章 様々な分類予測を行う10本ノック
ノック61: 使用するデータを確認しよう
ノック62: データを加工しよう
ノック63: ロジスティック回帰モデルを構築しよう
ノック64: ロジスティック回帰モデルの決定境界を可視化してみよう
ノック65: 線形SVMモデルを構築し、決定境界を可視化してみよう
ノック66: カーネルSVMモデルを構築し、決定境界を可視化してみよう
ノック67: K近傍法モデルを構築し、決定境界を可視化してみよう
ノック68: 決定木モデルを構築し、決定境界を可視化してみよう
ノック69: ランダムフォレストモデルを構築し、決定境界を可視化してみよう
ノック70: 線形分離できないデータを分類してみよう
第8章 分類モデルの評価を行う10本ノック
ノック71: 評価対象のモデルを用意しよう
ノック72: 正解率を算出しよう
ノック73: 混同行列を見てみよう
ノック74: 適合率を算出しよう
ノック75: 再現率を算出しよう
ノック76: F1値を算出しよう
ノック77: 分類レポートを見てみよう
ノック78: 予測結果の確信度を算出しよう
ノック79: PR曲線を見てみよう
ノック80: 各モデルの評価結果を見てみよう
■第3部 機械学習発展編
第9章 AIを説明可能にする10本ノック
ノック81: SHAPモデルを構築してみよう
ノック82: 回帰系モデルのSHAP値を確認してみよう
ノック83: 回帰系モデルをsummary_plotで解釈してみよう
ノック84: 回帰系モデルをdependence_plotで解釈してみよう
ノック85: 回帰系モデルをforce_plotで解釈してみよう
ノック86: 回帰系モデルをwaterfall_plotで解釈してみよう
ノック87: 分類系モデルのSHAP値を確認してみよう
ノック88: 分類系モデルをsummary_plotで解釈してみよう
ノック89: 分類系モデルをdependence_plotで解釈してみよう
ノック90: 分類系モデルをforce_plotで解釈してみよう
第10章 AutoMLでモデル構築評価を行う10本ノック
ノック91: PyCaretで回帰モデルの前処理を実施しよう
ノック92: PyCaretでtrain_sizeを変更してみよう
ノック93: PyCaretで回帰モデルを構築しよう
ノック94: PyCaretでハイパーパラメータをチューニングしよう
ノック95: PyCaretで回帰モデルを評価しよう
ノック96: PyCaretで回帰モデルを完成させて再利用しよう
ノック97: PyCaretで回帰モデルを解釈しよう
ノック98: PyCaretで分類モデルを構築しよう
ノック99: PyCaretで分類モデルを評価しよう
ノック100: PyCaretでクラスタリングを実施してPCAで可視化しよう
著者情報
下山, 輝昌
下山輝昌
《下山輝昌》
日本電気株式会社(NEC)の中央研究所にてハードウェアの研究開発に従事した後、独立。機械学習を活用したデータ分析やダッシュボードデザイン等に裾野を広げ、データ分析コンサルタントとして幅広く案件に携わる。それと同時に、最先端テクノロジーの効果的な活用による社会の変革を目指し、2017年に合同会社アイキュベータを共同創業。2021年にはテクノロジーとビジネスの橋渡しを行い、クライアントと一体となってビジネスを創出する株式会社 Iroribiを創業。人工知能、Internet of Things(IoT)、情報デザインの新しい方向性や可能性を研究しつつビジネス化に取り組んでいる。
共著「Tableau データ分析~実践から活用まで~」「Python 実践データ分析100本ノック」「Python 実践機械学習システム 100本ノック」「Python 実践データ加工/可視化 100本ノック」(秀和システム)。
中村, 智
中村智
《中村智》
明治大学経営学部を卒業後、株式会社ワークスアプリケーションズにて、鉄道会社、大型ホテル、小売業者をはじめとする幅広い業界に対する業務効率化を推進。営業から導入・運用保守コンサルティングまでを幅広く手掛け、顧客メリットを追求した提案スタイルが好評を博す。
日本企業のDX を推進すべく、合同会社アイキュベータを経て、株式会社Iroribiに初期メンバーとして参画する。会社の立ち上げに携わりつつ、現在も中心メンバーとして様々な顧客のDXプロジェクトを牽引。AIやIoT等の最先端技術への見識を深め、社内情報に対するデータビジュアライゼーション、データアナリティクス、AI開発・導入を行いつつ、経営戦略にまで踏み込んだ提案を実施している。
高木, 洋介
高木洋介
《高木洋介》
大手証券会社にて、BIツールを用いた金融資産分析基盤の構築運用や、周辺機能の要件定義から設計構築に従事。独立後、各企業のデータ基盤構築、データ分析、機械学習モデル構築、さらにはシステム導入までを一貫して支援。顧客とのプロジェクトを通じて、様々なデータ(Webログ、購買、営業、人事)に携わり、データ特性に応じた適切なデータ活用方法を熟知する。顧客とのコミュニケーションを重視し、顧客に合った解決策提案から実装までを強みにして、エンジニアリングに留まらず多角的な視点でのコンサルティングも実施している。さらには、スタートアップのWebサービスの立ち上げにも参画し、バックエンドからフロントエンドまで全領域においてのシステム開発を行っている。
共著「Tableauデータ分析~実践から活用まで~」(秀和システム)。