はじめに
最近、
- データサイエンティスト
- データエンジニア
- AIエンジニア
といった職種をよく見かけるようになりました。
私自身も、
- AWS
- Snowflake
- データパイプライン構築
に携わる機会があり、
「データサイエンティストって数学が得意じゃないと無理なのでは?」
「文系には難しそう…」
「自分の経験って活かせるの?」
と気になったため、調べてみました。
結論から言うと、
数学の知識は必要だが、データ基盤を作れる人も非常に価値が高い
ということが分かりました。
本記事では、
- データサイエンティストとは何か
- 必須スキル
- 数学はどの程度必要なのか
- AWS・Snowflake経験は活かせるのか
について整理していきます。
この記事はこんな方におすすめ
- データサイエンティストに興味がある方
- AWSやSnowflakeを触っている方
- 文系だけど挑戦したい方
- キャリアの幅を広げたい方
- データエンジニアとの違いを知りたい方
データサイエンティストって何をする人?
一言で言うと、
データを分析して、ビジネスの意思決定に役立てる人
です。
例えば、
ECサイト
↓
購入履歴を分析
↓
「20代男性は○○をよく買う」
↓
売上向上施策を提案
ということを行います。
最初のイメージ
正直、私の最初のイメージはこんな感じでした。
データサイエンティスト
↓
数学が得意
↓
統計学を駆使
↓
文系は無理
実際に調べてみると、
数学や統計学は必要ですが、
必ずしも研究者レベルの知識が必要というわけではありません。
必須スキル
よく求められるスキルをまとめると、
| スキル | 重要度 |
|---|---|
| SQL | ★★★★★ |
| Python | ★★★★★ |
| 統計学 | ★★★★☆ |
| 機械学習 | ★★★★☆ |
| データ可視化 | ★★★★☆ |
| クラウド(AWSなど) | ★★★★☆ |
| コミュニケーション | ★★★★☆ |
| ビジネス理解 | ★★★★★ |
SQLはほぼ必須
意外かもしれませんが、
SQLはかなり重要です。
例えば、
SELECT
customer_id,
SUM(amount)
FROM sales
GROUP BY customer_id;
のように、
データを抽出・集計する機会が非常に多くあります。
むしろ、
SQLを書けないデータサイエンティストはかなり厳しい
と言われることもあります。
Pythonもほぼ必須
Pythonは、
- pandas
- numpy
- scikit-learn
- matplotlib
などのライブラリを利用して、
分析や機械学習を行います。
例えば、
import pandas as pd
df = pd.read_csv("sales.csv")
print(df.describe())
といった形で利用します。
数学はどれくらい必要?
ここが一番気になるポイントだと思います。
よく使われるのは、
- 平均
- 分散
- 標準偏差
- 確率
- 回帰分析
- ベイズ統計
- 線形代数
あたりです。
イメージ
高校数学
↓
統計学
↓
機械学習
↓
データサイエンス
正直、
高校数学 + 統計学
くらいから始める人も多いようです。
文系でもなれる?
結論、
なれます。
実際、
文系出身のデータサイエンティストも多くいます。
もちろん、
数学に抵抗がない方が有利ですが、
最初から
微分積分
線形代数
機械学習
を完璧に理解している必要はありません。
AWS経験は活かせる?
これはかなり活かせます。
例えば、
- S3
- Lambda
- DynamoDB
- CloudWatch
- Glue
- Athena
などを知っていると、
データ基盤の理解が早くなります。
Snowflake経験は活かせる?
むしろ、
かなり強いと思います。
最近のデータ分析基盤は、
Snowflake
Databricks
BigQuery
Redshift
などを利用するケースが非常に増えています。
特に、
Snowpipe
Stream
Task
Storage Integration
を理解している人は、
データがどのように流れるかを理解しています。
自分の経験を当てはめてみる
例えば、
私が業務で経験した、
CSV配置
│
▼
Amazon S3
│
▼
Snowpipe
│
▼
ステージングテーブル
│
▼
Stream
│
▼
Task
│
▼
本テーブル
という構成。
最初は、
「ただのデータ連携だよな…」
と思っていました。
しかし、
調べてみると、
これは立派な
データエンジニアリング
の経験に近いことが分かりました。
データサイエンティストとの違い
| 職種 | 役割 |
|---|---|
| データエンジニア | データ基盤を作る |
| データサイエンティスト | データを分析する |
| データアナリスト | レポート・分析 |
| MLエンジニア | AIモデルを実装する |
イメージすると、
データエンジニア
│
データを準備
│
▼
データサイエンティスト
│
分析
│
▼
ビジネスへ提案
となります。
意外と近い領域だった
今回調べていて感じたのは、
AWS + Snowflake経験は想像以上に活きる
ということです。
特に、
- SQL
- データパイプライン
- ETL/ELT
- クラウド
- データモデリング
は共通して求められるスキルです。
もしデータサイエンティストを目指すなら
個人的には、
次の順番が良いと思いました。
SQL
│
Python
│
統計学
│
pandas
│
機械学習
│
可視化
│
AI
すでに、
AWSやSnowflakeを触っている人なら、
半分くらいはスタート地点に立っているかもしれません。
年収は?
求人を見ると、
| 職種 | 年収目安 |
|---|---|
| データアナリスト | 400〜700万円 |
| データエンジニア | 500〜900万円 |
| データサイエンティスト | 600〜1,200万円 |
| MLエンジニア | 700〜1,500万円 |
もちろん企業によりますが、
比較的高年収な職種として知られています。
まとめ
データサイエンティストは、
「数学が超得意な人だけの職業」
というイメージがありましたが、
実際には、
- SQL
- Python
- 統計学
- ビジネス理解
が重要であり、
AWSやSnowflakeの経験も十分活かせることが分かりました。
ポイントのおさらい
- データサイエンティストはデータを分析する仕事
- SQLとPythonはほぼ必須
- 数学は高校レベル + 統計学からでも始められる
- 文系出身でも活躍している人は多い
- AWSやSnowflakeの経験は非常に活かせる
- データパイプライン構築は立派なデータエンジニアリング経験
今回調べてみて、
「自分はデータサイエンティストとは遠い存在だ」
と思っていましたが、
意外とこれまでの経験がつながっていることが分かりました。
まずは、
- pandas
- 統計学
- 機械学習
あたりから少しずつ触っていきたいと思います。
参考
-
Data Science Roadmap
https://roadmap.sh/ai-data-scientist -
Kaggle
https://www.kaggle.com/ -
Snowflake Documentation
https://docs.snowflake.com/ -
AWS Data Analytics
https://aws.amazon.com/big-data/datalakes-and-analytics/