どうも、こんにちは。
ケミカルエンジニアのこーしです。
本日は「【化学系向け】最短で成果が出るデータサイエンス勉強方法」について解説します。
最近、データサイエンスを勉強し始める人が増えてきました。
生成AIがプログラミングの手助けをしてくれるようになり、データサイエンスに挑戦する絶好の機会が訪れたと言えるでしょう。
しかし、「データを使って何がしたいのか」、「どの手法を用いてどのような結論を導くべきか」を判断するには、一定の統計学や数学、機械学習の知識が必要です。
そのため、多くの方がどのように学習を進めればよいのかわからず、遠回りをしていることが多いように感じます。
そこで本記事では、初心者の方がデータサイエンスを効率的に学ぶためのおすすめの勉強方法を紹介します。
私は化学メーカーに勤めながら約5年間データサイエンスを学び、統計検定2級から1級まで取得し、今では実務でゴリゴリとデータ解析をしています。
これまで試行錯誤してきた経験をもとに、皆さんのお役に立てる情報を提供します!
本記事の内容
- 具体的な実務課題
- 筆者の経験と学習の歩み
- 最短で成果を出す勉強方法
- まとめ
この記事を書いた人
こーし(@mimikousi)
目次
はじめに
データサイエンスは、化学分野における多くの実務課題を解決するための強力なツールとなっています。
例えば、下記のような実務課題を解決できます。
- ソフトセンサーで品質を予測&制御
- 予兆検知でトラブルを未然防止
- 数理計画法で最適な運転条件を探索
- ベイズ最適化で実験・試作回数の削減
- 運転日誌やアラーム情報をテキスト解析しプロセス状態を可視化
- 原価管理ダッシュボードの構築
など
私自身もこれらの実務課題を解決するためにデータサイエンスの学習を始めました。
筆者の経験と学習の歩み
私自身、大学では統計学もプログラミングも学んでおらず、完全に初心者でした。
会社の研修で統計解析を少しだけ学び、「これからの時代はデータサイエンスだ!」と思い、本格的に勉強を開始しました。
初めはPythonでデータ解析をやってみましたが、何をやっているのかよくわからず、出てきた結果に自信が持てないということに気づきました。
そこで、Pythonの勉強は一旦諦め、「統計学」の勉強を本格的に始めました。
ちょうど「統計検定」という資格試験があることがわかり、統計検定を学習の"道しるべ"と定めることにしました。
統計検定の重要性については下記の記事で解説しています。
-
-
統計検定は"取得する価値アリ"なのか?【体験談】
続きを見る
私は、「統計検定」を取得し、統計学を体系的に学ぶことを推奨しています。
私の場合、統計検定2級から準1級、そして1級と順番に取得し、その後は毎日のようにPythonでデータ解析をしています。
統計検定を取得するメリットは下記の3点です。
統計検定のメリット
- 独学でも理解度を測ることができる
- 業務に関する知識だけでなく体系的に学べる
- "試験"が控えているという「強制力」が働くのでモチベーションが維持できる
とはいえ、統計検定を取得しながら網羅的にデータサイエンスの実力を高めていくには非常に多くの時間が必要です。
そこで本記事では、最短で成果を出す勉強方法をお伝えします!
最短で成果を出す勉強方法
化学メーカに勤めながら、5年以上独学でデータサイエンスの勉強をしてきましたので、その経験をもとに「最短で成果を出す勉強方法」をご紹介します。
(1)やりたいことを具体的にイメージしよう
まず、やりたいことを具体的にイメージしてみましょう!
「そんなの当たり前じゃん!」と思うかもしれませんが、データサイエンスに限っては「なんとなく」勉強を始める方が散見されます。
そして、大概の人が挫折してしまうのです。
「具体的に」と書きましたが、よくわかってなくてもOKです。
あいまいなイメージでもやりたいことが無いよりはマシです!
3つくらいやりたことを書き出してみましょう!
私が勉強を始めた頃は、下記のようなことを考えていました。
やりたいこと
- 製造データのダッシュボード(Webアプリ)作成
- 機械学習による品質予測(ソフトセンサー)
- 異常検知によるトラブル防止
今では、(生成AIの力をお借りしながら)上記すべてを会社の業務で実践できています。
(2)動画でデータ解析の流れを見てみよう
正直、動画より書籍の方が扱っている内容も幅広く、情報量が多いです。
しかし、まったくの初心者が書籍でプログラミングを学ぶのは難しいです。
「百聞は一見に如かず」と言いますが、これはマジです!
私自身、書籍で挫けそうになりましたが、ブレイクスルーになったのはUdemyでした。
Udemyは動画学習教材を提供するサービスで、月に数回セールを行っており、1講座1200〜3000円くらいで購入できます。
専門書を1冊買うより安いです。
YouTubeでも学べますが、(当時は)YouTubeに良質な動画が無かったため、Udemyは大変重宝しました。
実際のデータ解析の流れを解説してくれる講座がいくつもあり、動画を見てデータ解析の流れをイメージできるようになりました。
私が初心者のときに役立った講座は下記の2つです。
②はSIGNATEでのコンペティション(データ分析の課題をみんなで解いて、結果を競い合う。Kaggleの日本版のようなもの)のやり方も学べるので、今後、KaggleやSIGNATEでコンペティションをやりたい人にもオススメ講座です。
(3)実際にPythonを使ってみよう
上記のUdemy講座でも、Pythonのインストール方法や環境構築方法は解説してくれます。
しかし、Udemyだと講座によってオススメする環境構築方法が異なります。
色々と試してみた結果、私はズバリ下記の環境構築をオススメします。
- プログラミング言語:Python
- エディタ: Visual Studio Code(VSCode)
- 仮想環境:使用しない(少なくとも最初は)
プログラミング言語は、「PythonかRか」という論争が長らく行われていましたが、今ではPython一択です。
Pythonならデータ解析だけでなく、自動化、Webアプリ開発など何でもできてしまいます。
エディタについては、最初はJupyterNotebookやJupyterLabでも構いませんが、VSCodeの拡張機能の便利さを経験するともう元に戻れません。
そして、venvやDockerなど仮想環境を構築する人も多いですが、初心者は手を出さないことをオススメします。
特にデータ解析では、プログラムを他の人と共有する機会は少ないですので、デスクトップアプリやWebアプリの開発を始めたら仮想環境を勉強すれば良いと思います。
ちなみに、VScodeなどの環境設定のポイントは、下記の記事で詳しく解説しています。
-
-
【初心者向け】おすすめのpython環境構築方法
続きを見る
また、会社のセキュリティ環境下での工夫(プロキシ設定の対処法等)については下記の記事で解説しています。
-
-
【生成AIを業務に活かそう】Python環境構築とプロキシ設定
続きを見る
(4)書籍で勉強しよう
やはり、学習の本命は「書籍」です。
動画で具体的なデータ解析の進め方のイメージができたら、書籍で深掘りしていきましょう!
書籍ならば、自分のやりたいことを解説してくれる著者に出会える可能性がとても高いです。
①化学系のデータサイエンス
化学系のデータサイエンス本では、金子先生の著書3冊が特にオススメです。
初心者向けにわかりやすく解説してくれていますし、「プロセスインフォマティクス」から「マテリアルズインフォマティクス」まで幅広く扱っています。
さらに嬉しいのは、"誤植"がとても少ないことですね。
オススメ3冊
- 『化学のためのPythonによるデータ解析・機械学習入門』:化学特有のデータ解析手法
- 『Pythonで学ぶ実験計画法入門』:実験計画法の基礎から応用まで
- 『化学・化学工学のための実践データサイエンス ―Pythonによるデータ解析・機械学習』:中級者向け
最初に読んで欲しいのは、1.『化学のためのPythonによるデータ解析・機械学習入門』です。
Pythonの基礎から、可視化や回帰分析も学べますし、初心者でもすぐに実務に活かせる内容なのでとてもオススメです!
後半では、材料設計や分子設計、ソフトセンサー、異常検知など実践的な内容も解説してくれています。
初めは理解できなくても、「データサイエンスで何ができるのか」という視点で教科書の内容を追ってみてください。
何を勉強したら良いのかが少しずつ見えてくると思います。
2.『Pythonで学ぶ実験計画法入門』は、タイトル通り実験計画法を学ぶことができます。
しかし実は、回帰分析の内容も豊富でして、ランダムフォレストやサポートベクター回帰だけでなく、時系列データの回帰分析で人気のある「ガウス過程回帰」も実装できるようになります。
3.『化学・化学工学のための実践データサイエンス ―Pythonによるデータ解析・機械学習』は中級者向けですが、実務でよく扱う内容を扱っているため、データ解析を本格的にやる方は必読です(初心者のうちは読まなくて大丈夫です)。
② 統計学(統計検定2級〜準1級レベル)
最初にぶち当たる壁は、やはり「統計学」だと思います。
今の時代、Pythonコードや環境構築は、生成AIに聞けばなんとかしてくれます。
しかし、統計学については生成AIに聞いても自分が理解できないと"自信"が持てません。
というのも、プログラムのように「動けば良い」ものは生成AIの力をお借りすれば、試行錯誤すれば必ずできます。
プログラムの場合、間違ったコードを打てば必ずエラーが出るので試行錯誤もしやすいです。
一方、データ解析では、得られた結果をどう解釈し、どんな意志決定をするのかについては、結局人間がするしかありません。
「得られたデータをどう解析したら良いのだろう、アウトプットとして何が必要かな?」と生成AIに何を指示するかで悩んだり、「生成AI&Pythonを使って計算結果は出力できたけど、その結果をどう解釈したらよいのだろう」と途方に暮れることになります。
よって、ある程度の統計学の知識を身につけるしかありません。
初学者向けの統計学の教科書でオススメしたいのは下記の2冊です。
統計学のオススメ本
基本統計学(第3版):初学者向けの教科書
統計学入門 (基礎統計学Ⅰ) :文句なしの名著赤本
『基本統計学(第3版)』は平易に書かれた基本的な教科書です。
ほとんどの方が挫折せずに読了できると思います。
『統計学入門(赤本)』は、言わずと知れた名著であり、本腰を入れて読まないと難しいです。
以前は東京大学の授業で使われていたそうです(今もかな?)
本書ですごく自信がついたので、書評記事も書いています。
-
-
【書評】「統計学入門」(東京大学出版会)
続きを見る
③ 数学(線形代数)
統計学や機械学習(多変量解析)の学習には、「線形代数」の知識が不可欠です。
もし統計学を勉強していて「線形代数ってあまり使わないよな」と思っていたら要注意です。
それは、まだまだ統計学のほんの入口にいるということです。
線形代数は、「ビッグデータを解析するために存在する」と言っても過言ではないです。
とはいえ、線形代数の難しい内容が必要というわけでもないです。
有名な教科書を読んだり、色んな本を読みましたが『意味がわかる線形代数』で十分でした。
線形代数オススメ本
まずはこの一冊から 意味がわかる線形代数:直感的に理解できる良書
主成分分析における固有値分解の直感的な意味が理解できるのでオススメです!
④ 機械学習(多変量解析)
統計学の基礎、線形代数の勉強が終わったら、機械学習(多変量解析)に挑戦してみましょう!
ここまで来れば、実務でデータ解析が色々とできるはずです。
化学系の機械学習の書籍としては、『スモールデータ解析と機械学習』がオススメです。
機械学習のオススメ本
スモールデータ解析と機械学習:化学系では珍しい機械学習本
化学系の実務では、実験や試作データなどで得られるスモールデータを扱うことがよくあります。
スモールデータ解析に強い主成分分析(PCA)や部分的最小二乗回帰(PLS)などの機械学習を勉強できるのはとても有り難いです。
そして、解説もわかりやすくお気に入りの1冊です。
また本書は、極力便利なライブラリを使用せず、ゼロからプログラムを組んで理解を深める形式の書籍です。
理解を深めることが主題であり、実務で本書のコードを使うのはやや扱いにくいです。
名著『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装』と同じようなスタイルですね。
よって、実務で使うプログラムは金子先生の著書の方が参考になります。
⑤Python(発展)
生成AIを活用すれば、プログラミングで困ることはほとんどなくなりました。
本当に有り難いことです。
基本的に、生成AIにコードを書かせながら、生成AIの書いたコードを見て学べば良いと思います。
とはいえ、Pythonというかプログラミングの基礎知識も身につけたい方は下記の書籍を読んでみてください。
実務に使える内容で、とても気に入っている2冊です。
『独学プログラマー』は、Pythonというよりプログラミングの基礎が学べます。
ファイル名にある日付から順番にデータをインポートする際は「正規表現」を使うと便利ですし、プログラムの試行錯誤をする際にはバージョン管理システム(Git)を使うと便利です。
そういう細かなテクニックを学ぶことができます。
『Pythonプロフェッショナル大全』の方は、ロギングや並列処理、スクレイピングなど、さらに高度なテクニックを学ぶことができます。
データ解析をしているだけなら、あまり使わないテクニックですが、データ解析を自動化したり、Webアプリを開発するときに役立つこと間違いなしです。
ちなみに、『Pythonプロフェッショナル大全』は「現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル」というUdemy講座を書籍したものです。
動画で学びたい場合は、Udemyもチェックしてみてください。
まとめ
以上、まとめますと「最短で成果を出す勉強方法」は下記の通りです。
最短で成果を出す勉強方法
- まず、やりたいことをイメージしよう
- やりたいことが学べそうな動画講座(Udemy or YouTube)を見よう
- Pythonを使って実際にデータ解析してみよう
- 統計学を勉強しよう
- 線形代数を勉強しよう
- 機械学習(多変量解析)を勉強しよう
- Python(発展)を勉強しよう
ここまでくれば、実務でゴリゴリとデータ解析ができるようになります!
勉強して終わりではなく、実務でデータサイエンスをドンドン活用していきましょう。
私も、引き続き頑張ります!
もし疑問などあれば、コメントでもXのDMや返信でも良いので、ドシドシ質問してください!