翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 法人のお客様へ 新規会員登録 ログイン
SEshop

現場で使える!NumPyデータ処理入門 第2版 機械学習・データサイエンスで役立つ高速処理手法

吉田 拓真(著) , 尾原 颯(著)

商品番号
186420
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2024年08月26日
出荷開始日
2024年08月23日
ISBN
9784798186429
判型
A5
ページ数
528
キーワード
プログラミング  Python  ビッグデータ  数学  機械学習  AI & TECHNOLOGY

4,400円(税込)(本体4,000円+税10%)
送料無料

400pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

電子書籍はこちら 紙書籍とPDF版のセット商品はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

  • ポスト

待望の第2版
機械学習・データサイエンスの現場で役立つ
Numpyによるデータ高速処理手法を丁寧に解説

【本書の概要】
機械学習やデータサイエンスを扱う現場では、Pythonの高機能で利用しやすい数学・科学系ライブラリが活用されています。本書は、その中でも機械学習・データサイエンスの現場でよく利用されているNumPyをピックアップ。Numpyの基本から始まり、現場で使える実践的な高速データ処理手法について解説します。特に、配列の処理に力点を置いています。最終章では機械学習における実践的なデータ処理手法について解説します。

【第2版の変更点】
・Python 3.11に対応
・NumPy 1.25に対応
・各種ライブラリのアップデート

【NumPy(ナンパイ)とは】
NumPyは、機械学習・データサイエンスの現場で扱うことの多い多次元配列(行列やベクトル)を処理する高水準の数学関数が充実しているライブラリです。Python単体では遅い処理であっても、C言語なみに高速化できるケースもあり、機械学習・データサイエンスにおけるデータ処理に欠かせないライブラリとなっています。

【対象読者】
・機械学習エンジニア
・データサイエンティスト

【目次】
Chapter1 NumPyの基本
Chapter2 NumPy配列を操作する関数を知る
Chapter3 NumPyの数学関数を使う
Chapter4 NumPyで機械学習を実装する

【著者プロフィール】
吉田拓真(よしだ・たくま)
データサイエンス関連のサービスを提供する株式会社Spot 代表取締役社長。Webメディア『DeepAge』編集長。

尾原 颯(おはら・そう)
東京大学工学部機械工学科所属。大学ではハードウェア寄りの勉強が多め。趣味はアカペラとテニス。基本的に運動が好き。最近、ランニングを始める。

画像01
画像02
画像03

NumPyの基本がわかる

NumPyの基本からNumPy配列を操作する関数について解説します。

画像04

NumPyの数学関数を利用したデータ処理の方法がわかる

NumPyに用意されている数学関数に触れながら、データ処理の方法を解説します。

画像05

機械学習の基本がわかる

NumPyを使い機械学習の基本を解説します。またNumPyの数学関数を利用したニューラルネットワークと強化学習の構築方法についても解説します。

Chapter 1 NumPyの基本
1.1 NumPyの基本とインストール方法
1.1.1 NumPy入門
1.1.2 Pythonのインストール
1.1.3 NumPyのインストール方法
1.1.4 NumPyチュートリアル
1.2 多次元データ構造ndarrayの基礎
1.2.1 ndarray
1.2.2 属性(attributes)
1.2.3 Memory Layout
1.2.4 ストライド
1.2.5 ブロードキャスト
1.3 ブロードキャスト
1.3.1 ブロードキャストとは
1.3.2 ブロードキャストでは何が起こっているのか
1.4 スライシング
1.4.1 スライシングとは
1.4.2 スライシングの使い方
1.4.3 多次元への拡張
1.5 軸(axis)と次元数(ndim)について
1.5.1 ndarrayの次元数(ndim)とは何か
1.5.2 axisについて
1.5.3 関数の引数としてのaxis
1.6 ndarrayの属性(attribute)shape
1.6.1 ndarray.shape
1.7 要素のデータ型(dtype)の種類と指定方法
1.7.1 dtypeが必要な理由
1.7.2 データ型
1.8 コピー(copy)とビュー(view)の違い
1.8.1 そもそもcopyとviewとは何なのか
1.8.2 操作による違い
1.8.3 配列の1次元化
1.8.4 fancy indexing
1.8.5 copyかviewか確かめる方法

Chapter2 NumPy配列を操作する関数を知る
2.1 配列を形状変換するreshape
2.1.1 np.reshape
2.1.2 np.resize
2.1.3 ndarray.resize
2.1.4 np.reshapeとnp.resizeなどとの違いのまとめ
2.2 配列末尾へ要素を追加するappend
2.2.1 Pythonのlistのappendメソッド
2.2.2 np.append
2.2.3 速度比較
2.3 配列の真偽判定に役立つallとany
2.3.1 np.all
2.3.2 np.any
2.4 条件を満たす要素のインデックスを取得するwhere
2.4.1 np.where
2.4.2 条件の指定
2.4.3 np.whereを使った三項演算子
2.5 最大値、最小値を抜き出すamax、maxとamin、min
2.5.1 np.amax
2.5.2 np.ndarray.max
2.5.3 np.amin
2.5.4 np.ndarray.min
2.6 配列の最大要素のインデックスを返すargmax
2.6.1 np.ndarray.argmax
2.6.2 np.argmax
2.6.3 np.ndarray.argmin
2.6.4 np.argmin
2.7 配列の軸の順序を入れ替えるtranspose
2.7.1 「軸のデータを入れ替える」とはどういうことなのか
2.7.2 np.ndarray.transpose
2.7.3 np.transpose
2.7.4 np.ndarray.T
2.8 ソートをするsortとargsort
2.8.1 np.sort
2.8.2 np.argsort
2.8.3 kindで指定可能なquicksort、mergesort、stable、heapsortについて
2.8.4 引数orderについて
2.8.5 np.sortとnp.ndarray.sort
2.9 配列同士を連結する、 NumPyのvstackとhstackの使い方
2.9.1 np.hstack
2.9.2 np.vstack
2.10 データを可視化するmatplotlibの使い方
2.10.1 matplotlibのインストール方法
2.10.2 matplotlibを利用する環境の準備
2.10.3 サイン波のプロット
2.10.4 いろいろなグラフのプロット
2.10.5 複数のサイン波を重ね合わせたプロット
2.11 要素がゼロの配列を生成する関数のまとめ
2.11.1 np.zeros
2.11.2 np.emptyとnp.zerosとの違い
2.11.3 np.zeros_like
2.12 要素が1の配列を生成するones
2.12.1 np.ones
2.12.2 np.ones_like
2.13 連番や等差数列を生成するarange
2.13.1 Pythonのrange関数
2.13.2 等差数列
2.13.3 np.arange
2.14 線形に等間隔な数列を生成するlinspace
2.14.1 np.linspace
2.15 単位行列を生成するeyeとidentity
2.15.1 単位行列と正方行列
2.15.2 2つの関数の違い
2.15.3 np.eye
2.15.4 np.identity
2.16 未初期化の配列を生成するempty
2.16.1 np.empty
2.16.2 他の生成関数との比較
2.17 randomモジュールを使った配列操作・乱数生成方法
2.17.1 一様乱数を生成
2.17.2 生成する乱数を固定する
2.17.3 リストからのランダムな抽出、リストのシャッフル
2.17.4 リストのシャッフル
2.17.5 特定の確率分布に従った乱数の生成
2.17.6 ヒストグラムを使った分布の確認
2.18 配列を1次元に変換するflatten
2.18.1 np.ndarray.flatten
2.18.2 パフォーマンス
2.19 loadtxtとsavetxtを使ってテキストファイルを読み書きする
2.19.1 それぞれの関数の特徴
2.19.2 np.loadとnp.saveの特徴
2.19.3 np.loadtxtとnp.savetxtの特徴
2.19.4 np.loadtxt
2.19.5 np.savetxt
2.19.6 np.genfromtxt
2.20 配列データをそのまま読み書きするloadとsave
2.20.1 np.save
2.20.2 np.load
2.21 bufferをndarrayに高速変換するfrombuffer
2.21.1 np.frombuffer
2.21.2 音声ファイルを配列に収納する時間を比較
2.22 非ゼロ要素を抽出するnonzero
2.22.1 np.nonzero
2.22.2 np.ndarray.nonzero
2.22.3 np.where、np.argwhereとの比較
2.23 flattenよりも高速に配列を1次元化するravel
2.23.1 np.ravel
2.23.2 np.ndarray.ravel
2.23.3 引数orderについて
2.23.4 numpy.ndarray.flattenとの違い
2.24 配列をタイル状に並べるtile
2.24.1 np.tile
2.24.2 np.tileとブロードキャスト
2.25 新しく配列に次元を追加するnp.newaxisオブジェクト
2.25.1 np.newaxisオブジェクトを用いた次元追加
2.25.2 np.reshapeでの代用
2.25.3 np.newaxisとnp.reshapeの比較
2.26 要素の差分と足し合わせを計算するdiffとcumsum
2.26.1 np.diff
2.26.2 np.cumsum
2.26.3 np.ndarray.cumsum
2.27 多次元配列の結合を行うnp.c_とnp.r_オブジェクト
2.27.1 np.c_とnp.r_の特徴
2.27.2 np.r_
2.27.3 np.c_

Chapter 3 NumPyの数学関数を使う
3.1 NumPyの数学関数・定数のまとめ
3.1.1 四則演算
3.1.2 累乗(np.power)・平方根(np.sqrt)
3.1.3 三角関数
3.1.4 指数関数、対数関数
3.1.5 双曲線関数(hyperbolic)
3.1.6 切り捨て、切り上げ、四捨五入
3.1.7 複素数
3.1.8 絶対値
3.1.9 数学的な定数の呼び出し
3.2 要素の平均を求めるaverageとmean
3.2.1 np.average
3.2.2 np.mean
3.2.3 np.ndarray.mean
3.2.4 np.averageとnp.meanの違い
3.3 要素の中央値を計算するmedian
3.3.1 中央値(メジアン)
3.3.2 np.median
3.4 要素の和を求めるsum
3.4.1 np.sum
3.4.2 np.ndarray.sum
3.5 標準偏差を計算するstd
3.5.1 標準偏差
3.5.2 np.std
3.6 分散を求めるvar
3.6.1 分散
3.6.2 np.var
3.7 共分散を求めるcov
3.7.1 共分散
3.7.2 np.cov
3.8 相関係数を求めるcorrcoef
3.8.1 相関係数
3.8.2 定義
3.8.3 np.corrcoef
3.9 配列の要素から格子列を生成するmeshgrid
3.9.1 格子点
3.9.2 np.meshgrid
3.9.3 グラフでの利用
3.10 内積を計算するdot
3.10.1 数学(ベクトルの内積や行列の積)のおさらい
3.10.2 shapeの変化について
3.10.3 np.dot
3.11 行列式を求めるlinalg.det
3.11.1 行列式について
3.11.2 np.linalg.det
3.12 行列の固有値や固有ベクトルを求めるlinalg.eig
3.12.1 固有値と固有ベクトル
3.12.2 固有値、固有ベクトルの求め方
3.12.3 np.linalg.eig
3.13 行列の階数(ランク)を求めるrank
3.13.1 行列の階数(ランク)
3.13.2 np.linalg.matrix_rank
3.14 逆行列を求めるinv
3.14.1 逆行列とは
3.14.2 逆行列の求め方
3.14.3 np.linalg.inv
3.15 直積を求めるouter
3.15.1 直積(outer)とは
3.15.2 np.outer
3.16 外積を求めるcross
3.16.1 外積とは
3.16.2 np.cross
3.17 畳み込み積分や移動平均を求めるconvolve
3.17.1 np.convolve
3.17.2 畳み込み積分(コンボリューション積分)

Chapter 4 NumPyで機械学習を実装する
4.1 配列の正規化(normalize)、標準化をする方法
4.1.1 データの正規化
4.1.2 z-score normalization(標準化)
4.1.3 min-max normalization
4.1.4 ベクトルなどの正規化
4.2 線形回帰をNumPyで実装する
4.2.1 線形回帰とは
4.2.2 損失関数の設定
4.2.3 学習の進め方
4.2.4 NumPyで実装する
4.2.5 関数で多項式フィッティングを行う
4.2.6 まとめ
4.3 NumPyでニューラルネットワークを実装する: 基本編
4.3.1 本節の学習の前に
4.3.2 人間が持つ認知メカニズム
4.3.3 計算機にとって難しく、人間にとって簡単なこと
4.3.4 脳の神経細胞
4.3.5 視覚による物体の認識
4.4 NumPyでニューラルネットワークを実装する: 理論編
4.4.1 ニューラルネットワーク
4.4.2 神経細胞の模倣
4.4.3 パラメータの導入
4.4.4 損失関数の設定
4.4.5 学習の進め方
4.5 NumPyでニューラルネットワークを実装する: 実装編
4.5.1 NumPyでの実装
4.5.2 データセットの用意
4.5.3 訓練用データとテスト用データに分ける
4.5.4 ニューラルネットワークの構築
4.5.5 まとめ
4.6 NumPyでニューラルネットワークを実装する: 多層化と誤差逆伝播法編
4.6.1 ニューラルネットワークの拡張と誤差逆伝播法
4.6.2 多層ニューラルネットワークへの拡張
4.6.3 誤差逆伝播法
4.6.4 まとめ
4.7 NumPyでニューラルネットワークを実装する: 文字認識編
4.7.1 NumPyで実装する(MNIST)
4.7.2 ネットワークの構築
4.7.3 学習を進める
4.7.4 まとめ
4.8 NumPyで強化学習を実装する
4.8.1 Gymnasiumとは
4.8.2 インストールからゲームの実行まで
4.8.3 Q学習
4.8.4 np.digitize
4.8.5 方策勾配法
4.8.6 まとめ

各種問い合わせは以下のリンクからご連絡ください

関連商品

おすすめ特集

【2024年】SEshop人気書籍 ベスト20

2024年にSEshopで人気だった本を20冊ご紹介!IT技術、生成AI活用、マネジメント本など

プログラミング入門書大特集

翔泳社のプログラミング書籍の中から、入門・初級者向けの書籍をピックアップ!

エンジニア必携特集

【エンジニア必携特集】開発現場で使える!ITエンジニアの業務に役立つ書籍を一挙ご紹介

ライティングおすすめ本

ライティングのスキルアップにおすすめの本。Webライティングやコピーライティングなど

手帳術

毎日をもっと楽しく、充実させる手帳・ノートの活用術書をご紹介

電気工事技術者

第二種電気工事士、電験3種など、電気工事技術者関連の資格参考書はこちら

特集をもっと見る