学習記録:Pythonによるスクレイピング&機械学習[開発テクニック]

学習

Pythonによるスクレイピング&機械学習[開発テクニック]」という書籍を読んでみました。Pythonを使用して「スクレイピング」の理解を深めたいと思い、少し重みのある当書籍を手に取りました。

概要

当書籍のメインテーマは「機械学習」。筆者が理解を深めたいのは「スクレイピング」は、機械学習を行う前段階としての使用・紹介にとどまる。機械学習を行うための情報を、スクレイピングで効率的に入手しよう、といった印象を受けました。

内容

機械学習のためのデータ処理とは

クローリングとスクレイピング

  • urllib
  • BeautifulSoup
  • find_all()
  • Chromeのデベロッパーツール

高度なスクレイピング

  • requestモジュールとCookie
  • Selenium / PhantomJS
  • WebAPI

データソースと書式・整形

  • json / PyYAML / codecs / csv
  • Python-Excel / pandas
  • SQLite / MySQL / TinyDB

機械学習

深層学習

テキスト解析とチャットボットの作成

深層学習を実践してみよう

作業の準備と環境構築

  • dockerを使用した環境構築

つまづきポイント

Dockerを使用した環境構築ができる前提で進んでいくので、Docker周辺の知識は必須。筆者はDockerの知識はゼロであったため、なかなか書籍の学習に辿り着けませんでした。

環境構築においても、2016年当時のバージョン情報なので、2023年現在のバージョンに自分で情報を置き換えて作業するのが大変でした。

まとめ

Dockerを使用した環境構築に多くの時間を費やすことになった。2016年-2017年当時の情報がベースになっているので仕方ないが、それにしても環境を構築するまでのエラー対応が非常に多かった。そのおかげで、小手先の知識やスキルは身についたように思う。

目標であったスクレイピングのさわりは体験できたが、ヘッドレスブラウザ「PhantomJS」の部分で代替の記述まで辿り着けず、実習がストップしてしまったのが残念。(PhantomJSはサポートが終了している)

スクレイピングについては、基本的なプログラムの流れは決まっており、目的のデータに合わせて解析し、加工することが流れであると捉えた。APIが提供されていればAPIを使用、ページ内から情報を取得したければ、CSSを解析して情報を取得する、など。
理解を深めるには、実際にやってみることが近道であるとは思ったので、今後も継続的に学習していきたい。

また、当書籍のメインコンテンツである「機械学習」については、今回はさらっと眺めるにとどめてスルーさせてもらった。プログラムの実行だけでもしたかったが、ボリュームが多すぎて消化しきれないと思ったので、今後機会があれば再度学習したいと思う。

増補改訂Pythonによるスクレイピング&機械学習 開発テクニック
本書は、機械学習を手軽に学習し、さらにそれを活用するために、実践的なPythonのサンプルコードを使って紹介しています。 最近では、深層学習の活用はさまざまな分野に広がっています。2000 万件もの医学論文を学習した人工知能のWatsonが...

コメント

タイトルとURLをコピーしました