pythonといえば、機械学習やAI、データサイエンスで注目されています
Python3 エンジニア認定データ分析試験というものがあるくらい、pythonとデータサイエンスは密接な関係にあります
この記事では、pythonを使ってデータサイエンスを独学で学び進める方法を解説していきたいと思います
この記事でわかること
- データサイエンスとは何か
- pythonでデータサイエンスを実際に行ってみる
- データサイエンスが無料で学べるおすすめサイト
筆者について
2021年から本格的にpython学習を始め、今ではpythonによる収益5桁
大学院時代には、R言語とpythonを使って統計処理を行っていたため、pythonを使ったデータサイエンスの知識が豊富
Contents
データサイエンスとは何か
データサイエンスとは、数多くあるデータから活用価値のある情報を見つけ出すことを指します
ある商品を購入したユーザーの年齢や性別、住んでいる地域などからその商品を好んでいる人たちの特性を見つけ出し、新規サービス・商品を提供することなどに活用されています
また、データサイエンスは機械学習や深層学習などの基礎的部分であり、pythonを使って機械学習などを行いたい場合には、避けては通れない部分になります
データサイエンスの手順
データサイエンスと一言で言っても、行うことはいくつにかに分けられます
- 目標・課題設定
- データ収集
- データの前処理
- データの可視化
- モデル化
といった流れになります
知りたい答えに対する問い、目標・課題の設定
目標・課題設定ではどう言ったことを目的にデータを集めるのかを検討していきます
ここでの検討が曖昧だと集めるデータも曖昧になってしまい、無意味なデータばかりが集まってしまうことになります
データサイエンスの世界で有名な言葉の一つに「Garbage in Garbage out」(ゴミからはゴミしか生まれない)
というものがあります
それくらい集めるデータを検討することは大切になります
- AとBどちらの広告がクリックされやすく、申し込み率が高いか
- 申し込み率を高めるためには、どの位置に広告を設置するべきか?
あらかじめ知りたい答えを決めておくことで、それに対する問いが明確になります
- A商品とB商品、どちらが気温の高い日に売れるか?
仮に気温が高い日に売れる商品がわかったとしても、気温を上げることができないので、好ましい検討方法とは言い難いですね
- 気温が高い日に、多く陳列させるべき商品はAとBどちらか?
という問いであれば、気温が高くなると予想される日に、納品数を増やすことで機会ロスを減らすことができるので、こういった問いはOKです
目標・課題を設定する上で大切なことは、答えが分かった後に次の行動に移せるような仮説を立てることです
行動に移すことができない問いはNGです
こういった目標・課題設定は研究のリサーチデザインを参考に考えたり、マーケティング知識を活用するのがベターです
データ収集
目標・課題設定で立てた内容を解決することができるデータを集めていきます
データ収集方法として、
- オープンデータの使用
- 社内DBの活用
- webスクレイピングでデータを集める
- webサービスを使ってアンケートなどをとる
と言った方法が挙げられます
オープンデータには以下のようなものがあります
- PISA: OECD加入諸国が実施している学習到達度調査のデータセット
- e-stat:e-Statは、日本の統計が閲覧できる政府統計ポータルサイト
- Kaggle: データサイエンスのコンペサイトですが、参考になります
webスクレイピングは書籍を見つつ、コードを書いていけばOKです
書籍が難しい場合には、スクールなども活用しつつ進めていきましょう
データの前処理
統計や機械学習などのモデルを決定するのは、データの質であるため、データの前処理を適当に行ってしまうと、とんでもない結果につながる可能性があります
データの質は、データを適切に把握し、不要なデータを取り除いたり、必要なデータを精査する前処理を行うことで高めることができます
データ分析の約8割は前処理で決定される
とも言われているほど、前処理・データの質というものは重要になります
pandasの前処理について学ぶならこの書籍が一番です
データの前処理で特に重要になるのが、
- 欠損値の処理
- 重複データの処理
- 単位を揃える
このあたりになります
実際にサンプルデータを使って解説しているので、そちらも参考にしてみてください
pythonでデータ分析を行うための前処理【大量サンプルコードあり】
欠損値処理や統計処理に関しては、以下の書籍で学ぶことができます
データの可視化
データの可視化では、
- matplotlib
- pandas
- seaborn
いずれかを使ってデータを可視化していきます
seabornは見た目が綺麗な図を作ることができるので、seabornがおすすめです
実際にサンプルコードを使いながら可視化を解説している記事も参考にしてみてください
また、図を見ながらフォントサイズなどを変更したい場合には、openpyxlを使って、グラフのテンプレ作成→微調整という流れがおすすめです
可視化には以下の書籍がおすすめです
モデル化
機械学習を行う場合には、モデル化をする必要があります
機械学習におけるモデル化とは、
情報と正しい判断をセットにした上で、コンピュータにデータパターンを学習させていく
ことを指します
実際にビジネスに応用する場合には、以下の書籍が非常にわかりやすので、そちらを参考にしてみてください
データサイエンスの基礎が学べるサイト
データサイエンスの基礎が学べるサイトはそこまで多くありません
ここ1-2年でデータサイエンティストという言葉が定着し始め、大学学部も新設されるようになってきました
データサイエンスの基礎を独学で学ぶのであれば、start labのデータサイエンティスト入門がおすすめです
今なら無料登録後3日間無料で全ての講座を受講することができます
以前は3日間のみでしたが、現在は完全無料になっています
ビジネスに活用することができるROIなどについての解説もあるので、pythonを扱わない人でもおすすめです
pythonでデータサイエンスを行うメリット
pythonでデータサイエンスを行うメリットとして、
データ収集からモデル化まで一貫して行うことができる点やビッグデータ(1万件など)のデータ処理も高速で行うことができる点です
ビッグデータになるとexcelでは処理しきれず、動作も重くなりますがpythonではそういったことはありません
また、データサイエンスを得意とするR言語もありますが、R言語はデータ分析が得意であって、可視化やモデル化までも一貫して行うことができないため、pythonを扱えると楽に行うことができます
未経験でもデータサイエンスを仕事にできるか?
未経験からでもデータサイエンスを仕事にすることは可能です
しかし、ハードルはかなり高いといえます
その理由として、
- プログラミングスキル
- 統計学スキル
- 数学スキル
などを持ち合わせている必要があるからです
全てを一から独学で学ぶのはかなり大変であるため、pythonを使ってデータサイエンスの仕事をしようと考えている場合には、Aidemy premiumや.proなどのプログラミングスクールを活用することをおすすめします
プログラミングスクールを活用するメリット
データサイエンスを仕事にするために、プログラミングスクールを活用することで以下のメリットがあります
- 体系的にpythonを学ぶことができ、数学や統計学に関する知識も学習することが可能
- 現役のデータサイエンティストや機械学習エンジニアに質問できたり、フィードバックがもらえる
- プログラミングスクールだからこそ、IT業界に詳しいカウンセラーやエンジニアの方とキャリアについて相談できる
pythonを学ぶのにプログラミングスクールに通うことで、費用はかかってしまいますが、それ以上に得られるものは大きいと思います
スクール代は1日2000円くらいのものもあるので、自分にあったプログラミングスクールを選べるといいですね
データサイエンスの仕事はどれくらいあるか?
pythonを活用したデータサイエンスの仕事はたくさんあり、年収も1000万近いものもあります
例えば、indeedでデータサイエンスの仕事を探すと約2.8万件もヒットします
データサイエンスの仕事は今後さらに需要が高まると考えられるため、より一層増えていきます
求人によっては必須スキルなどを記載してくれている企業もあるため、データサイエンスを仕事にする際に取得しておく目安になります
あらかじめ求人に目を通しておくことで、どういった人材が求められているかを知ることができるので、いくつか登録しておくと学習も捗ります
まとめ
この記事ではpythonを使ってデータサイエンスを無料で学び進める方法について解説をしました
以下の記事ではpythonを使って統計学を行う方法や、独学で収益を出す方法についても解説しているので、ぜひ参考にしてみてください