ーPythonでゼロからはじめるー AI・機械学習のためのデータ前処理[入門編]
書籍情報
発売日 : 2021/06/16
著者/編集 : 北 研二/西村 良太
出版社 : 科学情報出版
発行形態 : 単行本
ページ数 : 154p
書籍説明
内容紹介
2010年ごろを境に、ビッグデータという言葉が、わたしたちの身の回りに急速に浸透し始めた。同時に、ビッグデータから機械学習に基づき知的なAI システムを構築することが昨今のブームとさえなってきている。本書は、これらの機械学習システムを構築するうえで避けては通れない、データの前処理の部分を中心に解説している。AI などの機械学習システムを第一に想定しているが、本書で説明する各種の技術は、ビッグデータから有用な知識を獲得するデータマイニングやデータ分析などにも有効に用いることができる。
さて、ビッグデータという言葉は耳に心地よく、なんとなく宝の山のように感じるかもしれないが、実はビッグデータは玉石混交であり、宝とゴミが入り混じっている。さらには、データの規模が大きくなればなるほどゴミも増え、その中から宝を取り出すのがますます困難になってくる。コンピュータサイエンスの分野では、“Garbage In, Garbage Out” (略してGIGO) という警句がある。文字通り、「ゴミからはゴミしか得られない」 「ゴミを入れればゴミが出てくる」 ことを意味しているが、この警句はまさに機械学習の一面を言い当てている。よい機械学習システムを構築するためには、データからゴミを排除し、データを学習しやすい形に加工するという作業が重要となってくるが、これこそがまさしく前処理の真髄である。
最近は、TensorFlow やKeras をはじめとする数多くの機械学習用のフレームワークやライブラリが無償で利用可能であり、これらのフレームワークやライブラリを利用することで、一見、プログラミングの敷居は低くなってきているようにみえる。公開されている機械学習用のデータセットを利用して、誰もが簡単にAI システムを作ることができる。しかし、独自のデータセットを用いて、独自のシステムを構築する場合には、大きな問題が立ちはだかっている。よくいわれていることであるが、現実のデータは汚い。データをそのまま使えば、それこそ
“Garbage In, Garbage Out” の事態に陥る。現実のデータから、有用なAI システムを構築できるかどうかは前処理の成否にかかっているとさえいえる。また、一説によると、実際のAI や機械学習システム構築の現場では、エンジニアが作業に携わる時間の6 割~ 8 割はデータの収集と前処理に費やされているともいわれている。
本書では、従来の機械学習の書籍では十分に扱われていなかった前処理技術に焦点をあて、技術の単なる解説だけではなく、実際に動くプログラムを通して、読者が理解できるような実践的な書を目指した。本書には姉妹編として 『実践編』 も出版が計画されているが、『実践編』ではより高度な前処理技術と、テキスト・画像・音響・音楽等のメディアデータに対する前処理技術について解説した。本書『 入門編』 とあわせてご活用いただきたい。
さて、ビッグデータという言葉は耳に心地よく、なんとなく宝の山のように感じるかもしれないが、実はビッグデータは玉石混交であり、宝とゴミが入り混じっている。さらには、データの規模が大きくなればなるほどゴミも増え、その中から宝を取り出すのがますます困難になってくる。コンピュータサイエンスの分野では、“Garbage In, Garbage Out” (略してGIGO) という警句がある。文字通り、「ゴミからはゴミしか得られない」 「ゴミを入れればゴミが出てくる」 ことを意味しているが、この警句はまさに機械学習の一面を言い当てている。よい機械学習システムを構築するためには、データからゴミを排除し、データを学習しやすい形に加工するという作業が重要となってくるが、これこそがまさしく前処理の真髄である。
最近は、TensorFlow やKeras をはじめとする数多くの機械学習用のフレームワークやライブラリが無償で利用可能であり、これらのフレームワークやライブラリを利用することで、一見、プログラミングの敷居は低くなってきているようにみえる。公開されている機械学習用のデータセットを利用して、誰もが簡単にAI システムを作ることができる。しかし、独自のデータセットを用いて、独自のシステムを構築する場合には、大きな問題が立ちはだかっている。よくいわれていることであるが、現実のデータは汚い。データをそのまま使えば、それこそ
“Garbage In, Garbage Out” の事態に陥る。現実のデータから、有用なAI システムを構築できるかどうかは前処理の成否にかかっているとさえいえる。また、一説によると、実際のAI や機械学習システム構築の現場では、エンジニアが作業に携わる時間の6 割~ 8 割はデータの収集と前処理に費やされているともいわれている。
本書では、従来の機械学習の書籍では十分に扱われていなかった前処理技術に焦点をあて、技術の単なる解説だけではなく、実際に動くプログラムを通して、読者が理解できるような実践的な書を目指した。本書には姉妹編として 『実践編』 も出版が計画されているが、『実践編』ではより高度な前処理技術と、テキスト・画像・音響・音楽等のメディアデータに対する前処理技術について解説した。本書『 入門編』 とあわせてご活用いただきたい。
目次
1章 AI・機械学習における前処理
1.1 機械学習システムの構築
1.1.1 機械学習の例
1.1.2 機械学習システム構築の流れ
1.2 データの前処理
1.2.1 データの形式
1.2.2 データクリーニング
1.2.3 データ統合
1.2.4 スケーリング
1.2.5 特徴選択
1.2.6 次元削減
1.2.7 データ拡張
2章 Google Colabによる実行環境
2.1 Google Colabとは
2.1.1 Googleアカウントの取得
2.1.2 Google Colabへのアクセス方法
2.2 Google Colabの使い方
2.2.1 画面構成と各部の名称
2.2.2 初期設定
2.2.3 セルの操作
2.2.4 マークダウン
2.2.5 コマンド実行
2.2.6 仮想環境のスペック
2.2.7 フォーム
2.2.8 各種ライブラリの活用
2.2.9 代表的な行動のショートカットキー
2.2.10 コマンドパレット
2.3 ストレージ・データベースとの接続
2.3.1 ローカルファイルシステム
2.3.2 Google Drive
2.3.3 外部 (Web上) のデータ
2.3.4 Kaggle
2.4 GPUとTPUの利用
2.4.1 GPUとTPU
2.4.2 GPUの利用
2.4.3 TPUの利用
2.5 Google Colabのその他の設定
2.5.1 各種ライブラリのバージョン変更
2.5.2 新規ライブラリの追加
2.6 Pythonによるデータ処理
2.6.1 NumPy
2.6.2 pandas
2.6.3 scikit-learn
2.6.4 matplotlib
2.6.5 TensorFlow
2.6.6 Keras
3章 基本的な前処理技術
3.1 標準化と正規化
3.2 ビニング
3.3 外れ値
3.3.1 外れ値の検出と除去
3.3.2 四分位範囲を用いた外れ値に頑健な標準化
3.4 欠損値
3.4.1 欠損値の扱い
3.4.2 欠損値補完手法の比較
3.4.3 意味を持つ欠損値の扱い
4章 特徴選択と次元削減
4.1 特徴選択
4.1.1 フィルタ法
4.1.2 ラッパー法
4.1.3 正則化手法による特徴選択
4.2 次元削減
4.2.1 線形次元削減手法
4.2.2 非線形次元削減手法
4.2.3 そのほかの次元削減手法
1.1 機械学習システムの構築
1.1.1 機械学習の例
1.1.2 機械学習システム構築の流れ
1.2 データの前処理
1.2.1 データの形式
1.2.2 データクリーニング
1.2.3 データ統合
1.2.4 スケーリング
1.2.5 特徴選択
1.2.6 次元削減
1.2.7 データ拡張
2章 Google Colabによる実行環境
2.1 Google Colabとは
2.1.1 Googleアカウントの取得
2.1.2 Google Colabへのアクセス方法
2.2 Google Colabの使い方
2.2.1 画面構成と各部の名称
2.2.2 初期設定
2.2.3 セルの操作
2.2.4 マークダウン
2.2.5 コマンド実行
2.2.6 仮想環境のスペック
2.2.7 フォーム
2.2.8 各種ライブラリの活用
2.2.9 代表的な行動のショートカットキー
2.2.10 コマンドパレット
2.3 ストレージ・データベースとの接続
2.3.1 ローカルファイルシステム
2.3.2 Google Drive
2.3.3 外部 (Web上) のデータ
2.3.4 Kaggle
2.4 GPUとTPUの利用
2.4.1 GPUとTPU
2.4.2 GPUの利用
2.4.3 TPUの利用
2.5 Google Colabのその他の設定
2.5.1 各種ライブラリのバージョン変更
2.5.2 新規ライブラリの追加
2.6 Pythonによるデータ処理
2.6.1 NumPy
2.6.2 pandas
2.6.3 scikit-learn
2.6.4 matplotlib
2.6.5 TensorFlow
2.6.6 Keras
3章 基本的な前処理技術
3.1 標準化と正規化
3.2 ビニング
3.3 外れ値
3.3.1 外れ値の検出と除去
3.3.2 四分位範囲を用いた外れ値に頑健な標準化
3.4 欠損値
3.4.1 欠損値の扱い
3.4.2 欠損値補完手法の比較
3.4.3 意味を持つ欠損値の扱い
4章 特徴選択と次元削減
4.1 特徴選択
4.1.1 フィルタ法
4.1.2 ラッパー法
4.1.3 正則化手法による特徴選択
4.2 次元削減
4.2.1 線形次元削減手法
4.2.2 非線形次元削減手法
4.2.3 そのほかの次元削減手法
著者情報
北 研二
1981 年、早稲田大学理工学部数学科卒業。現在、徳島大学大学院社会産業理工学研究部・教授。
マルチメディア情報検索に関する研究に従事。博士( 工学)
西村 良太
2010 年、豊橋技術科学大学大学院博士後期課程電子・情報工学専攻修了。現在、徳島大学大学院社会産業理工
学研究部・講師。
音声対話システムに関する研究に従事。博士(工学)
松本 和幸
2008 年、徳島大学大学院工学研究科博士後期課程修了。現在、徳島大学大学院社会産業理工学研究部・准教授。
感情計算、自然言語処理に関する研究に従事。博士(工学)