技術的なバックグラウンドがなくてもデータサイエンティストになる方法:ヒントと戦略
How to become a data scientist without a technical background Tips and strategies.
ガイド
データサイエンティストになりたいのですか? これらのスキルをマスターする必要があります
このストーリーは、通常私が投稿するものとは少し異なるものになります。具体的なツールやテクニックの紹介、チュートリアル、または実践的なケースではありません。
今回は、私がVoAGIで投稿を始めて以来、LinkedInで受け取ってきた質問に答えたいと思います:
技術的なバックグラウンドがない人がどのようにしてデータサイエンティストになれるのですか?
私は専門家ではなく、私のフィールドでの経験はかなり短いですが、助けや議論の立場にいると感じています。全ては明らかに私の意見に基づいており、それを裏付ける科学はありません。
免責事項:私は現在データアナリストとして働いていますが、データサイエンスを5年間勉強し、遊んできました。私はデータ解析を通じて生計を立てている、フリータイムのデータサイエンティストと言えるでしょう。
データサイエンティストになるためには、複数の道があり、最終的には好みやニーズによります。
ですので、ここでは道を議論しません。大学が好きですか?今すぐ入学してください。自己学習を好みますか?私はそんな風に何年もやってきました。短期コースやブートキャンプが好きですか?それらも素晴らしい選択肢です。
どのオプションも有効です。私はあなたに何を選ぶべきかを伝えるためにここにいるわけではありません。
ただ、私が毎日使用しているテクノロジーと詳細を共有することができます。データサイエンティストになるために絶対に必要なツールと言語です。
そして、それはすべて基本的なものになります。実際には、この投稿を読む必要すらありません。LinkedInに行って、データサイエンティストの求人情報を見つけて要件を確認してください。私たち全員が必要とする基本がわかるでしょう。
私は、マスターする必要のあるいくつかの重要なトピックについて話し、それぞれのパートが私の個人プロジェクトでどのように関連してきたかについて、個人的な視点と個人的な例を提供しようとします。
より具体的に言えば、私が2つのプロジェクトに与えた名前であるNettyとBazarについて話します。それらについて詳しく知りたい方は、読み続けてください!
ただし、データサイエンスは非常に広範な用語です。それはコンピュータサイエンスのようなものです。多くの要素が含まれ、専門分野によっては大きく異なることがあります。そのため、データサイエンスの役割をいくつかの異なるタイプに分解してみたいと思います。
データサイエンティストの種類
これはかなり議論の余地があります。データサイエンティストの種類の真のリストはありません。それぞれが独自のリストを作りたがる傾向があります。私がインターネットで見つけたものは、私が共有したい内容に適しているので、それを使用します[1]。
そのウェブサイトには、15種類の異なる役割があり、非常によく説明されており、それぞれの責任が示されています。
それらを見たい場合は、確認してみてください。ただし、一部の役割については、本当のデータサイエンティストとしてラベル付けする人は実際にはいないかもしれません — 例えば、データアナリスト、データエンジニア、ビジネスアナリストなどの役割です。
最終的には、データサイエンティストについては明確な合意がないようです!
しかし、私はこのリストが実際には役立つと思います。各役割の内容を見ることで、初心者が目標を見つけ、その方向に向かって進むのに役立つはずです。
どのような選択をするにせよ、基本的な要件は常に同じです。それを見ていきましょう。
1. Python (またはR) のマスター
データサイエンスで最も使用されている言語はPythonです。それが、それをマスターする必要がある主な理由です。
RやRustなどの他の言語を選ぶこともできますが、私はそれらを第二言語として学ぶことを選びます。
まるで私たちが毎日使う母国語があり、それに加えてオプションやツールセットを増やすために第二言語を学ぶのと同じです。Pythonを母国語にし、それからR、Rust、または興味がある任意のオプションでスキルを補完してください。
私の個人的な経験に基づいて、これは今日のリストで最も重要な資産です。Pythonは個人のプロジェクトだけでなく、プロフェッショナルなプロジェクトでも常に私が使用している主要な言語です。
例えば、私はかつてNettyと呼ばれるデータサイエンスプロジェクトを構築しました。これは、畳み込み層や他の複雑な要素を持つ深層ニューラルネットワークで、非常にうまく機能しました。
Nettyの役割は、与えられたNBAの試合の勝者を予測することでした。自慢するつもりはありませんが、私は2シーズンにわたって毎日テストし、非常にうまく機能しました。
NettyをPython以外の言語で構築する意味はありませんでした。それはそれ以外の言語で構築するよりも困難で、時間の効率が悪く、結果もおそらく悪かったでしょう。
だから、今は私を無視しないでください。Pythonを学んで、それが生み出す投資対効果は計り知れないです。
ただし、Pythonが嫌いな場合やその道を進みたくない場合は、Rをお勧めします。データサイエンスやデータ分析には非常に便利な言語ですので、それも良い選択肢です。
さらに、ほとんどの求人ではPythonまたはRを求められるため、どちらかをマスターすれば十分でしょう。
2. 言語をマスターしたら、ライブラリもマスターしましょう
forループや条件文を作成することは基本ですが、それだけでは目立つことはできません。
PythonやRがデータ関連のタスクに便利なのは、それらのライブラリとパッケージをマスターしているからです。
私が通常おすすめするのはPythonなので、以下は必須です:
- Pandas — データ分析と操作のための強力なツール
- NumPy — 科学計算に役立つ便利なライブラリ
- MatplotlibまたはSeaborn — データの可視化に必要なライブラリ
- Keras、TensorFlow、またはScikit-learn — AIや機械学習モデルの構築に必要なライブラリ
これら以外にもCollections、Statistics、Plotly、Dash、SciPyなども話題にできますが、必須ではないか、少なくとも前述のものほど重要ではないと言えます。
もし最初からやり直すことがあれば、最初にPandas、NumPy、そしてSeabornに集中します。これらを使ってデータを操作できるようになり、その後はKeras、TensorFlow、またはScikit-learnを使ってモデルを構築します。
私たちデータサイエンティストは、データの取得、クリーニング、操作に80%の時間を費やすと言われています。残りの20%はモデリングの部分です。
だからこそ、私の意見ではPandasは重要です。私は数年間、毎日Pandasを使用しており、その柔軟性とNumPyとの組み合わせが素晴らしいスキルと高度なプロジェクトの開発を支えています。
Nettyについて話しましょう。先程述べた通り、Nettyはニューラルネットワークで構成されています。どうやって可能にしたと思いますか?データのクリーニングと操作はPandasとNumPyのおかげで行いました。可視化にはMatplotlibとSeabornを組み合わせました。そしてもちろん、AIモデルの構築には主にKerasを使用しましたが、TensorFlowも使いました。
Python以外の言語を使用する理由がないのと同様に、これらのライブラリも同じように必要です。まるでパッケージとして一緒に提供されているかのようです。
3. SQLもマスターしましょう
SQLはモデルや予測システムの構築には役立ちませんが、クエリの実行やデータベースからデータを取得する方法を学ぶことは基本です。
私のコーディング時間のほとんどはPythonに費やされますが、残りの時間はSQLに費やされます。
プロジェクトや職場によっては、データがデータベースに格納されている場合がほとんどですので、必要なデータを正確に取得する方法を知る必要があります。
私は現在の職場で採用されなかったら、SQLを知らなかったら働くことができませんでした。
好きなリレーショナルデータベース管理システム(RDBMS)を選んで、簡単なクエリの実行方法を学んでください。SQLの詳細に深く入り込む必要はないと思いますが、基本的なステートメントで十分だと考えています。
結合やグループ化、ウィンドウ関数の使い方を学びましょう。それらを流暢に行えるようになりましょう。
RDBMSのおすすめをお求めであれば、私はDuckDB [2] をおすすめします。なぜなら、強力でPythonと驚くほど統合されているからです。以下の記事でDuckDBを紹介し、分析していますので、ぜひご覧ください。
SQLiteを忘れて、代わりにDuckDBを使いましょう – そして後で感謝してください
DuckDBとそのPython統合の紹介
towardsdatascience.com
DuckDB以外にも、SQLite、MySQL、またはPostgreSQLなどのオプションが考えられます。
私の個人のポートフォリオで以前雇われていたプロジェクト「Bazar」というものがありました。これは基本的にAmazonのデータをローカルのDuckDBデータベースに保存し、興味のある商品の価格を追跡し、価格が下がった時に通知するために使用していました。
このプロジェクトでは、たくさんのSQLクエリが必要でした。複雑なものではなく、非常にシンプルなものでしたが、それらは重要な役割を果たしました。商品の価格やURLを頻繁に取得する必要がありました。これはリアルタイムのデータと比較するためです。
4. 数学を恐れるな
私は個人的に数学が大好きです。自然に数学への興味が湧くのは幸運です。
しかし、他の人にはそういった幸運がないかもしれません。
しかし、データサイエンスには数学がたくさん関わってきます。直接的に関わる場合もあれば、間接的に関わる場合もあります。数学をマスターすることは、自分が何をしているのかを理解し、情報を元にした意思決定をするために重要です。
特に微積分、代数、統計学、確率に重点を置いて学習してください。言うのは簡単ですが、学ぶのは大変です。
例えば、勾配降下法はニューラルネットワークのトレーニングにおいて最もよく使用されるアルゴリズムです。はい、私もNettyでそれを使用しました。勾配降下法は、モデルを構成するパラメーターを調整するために勾配(導関数)を使用するプロセスです。
また、Nettyなどのプロジェクトでも、解析の探索フェーズでしばしば使用することがあります。そこではたくさんの統計処理が適用されます: 分布、平均、パーセンタイル、偏差… これらを理解する必要があります。
5. ビジュアライゼーションを改善しましょう
役割によっては、データサイエンティストとして、チームのメンバーや利害関係者と洞察を共有する必要があるかもしれません。ビジュアライゼーションは役立つツールですので、それを習得すると良いでしょう。
特に高度なソフトウェアであるPowerBIやTableauを選択するか、Pythonを使ってPlotlyとDashで素晴らしいインタラクティブなダッシュボードを作成することができます。
近々Dashについてのより詳細な記事を作成しますが、過去の記事で簡単に紹介しました。興味があれば参考になるかと思います。
Pythonによるインタラクティブなデータビジュアライゼーション – ストーリーテリングの技術
Seaborn、Bokeh、Plotly、およびDashを使って効果的にデータの洞察を伝える
towardsdatascience.com
データサイエンティストやアナリストとして、私たちは自分の発見を伝える必要があります。私には、シンプルなビジュアライゼーションが、利害関係者が私の話を理解するのに十分なことが多々ありました。
それがビジュアライゼーションの魔法と力です。素晴らしいものであれば、わずかな言葉しか必要ありません。
しかし、他の人のためだけでなく、自分自身のためにも行いましょう。再び、Nettyではたくさんの数字をいじくり回しました。簡単なビジュアライゼーションを使うことで、すべてのデータが意味を持つようになりました。モデルの精度やエラーがトレーニングの過程でどのように進化しているかを見ることができました。それだけでなく、勝者の分布(勝者がホームチームである割合は約60%)や非常に価値のある新しいデータなど、たくさんの新しい情報を得ることができました。
6. 好奇心を持ち、積極的に取り組みましょう
Python、そのライブラリ、SQL、数学、そしていくつかの可視化ツールをマスターした後でも、そこで止まってしまってはいけません。本当の面白さは、その基礎学習の後に始まります。
好奇心、積極性、創造性… これらは技術ツールではありませんが、同じくらい重要です。
私たちはこれらのスキルを養い、新しいスキルを学ぶ必要があります。興味のある個人プロジェクトを作成し、これらのツールを使用して素晴らしいポートフォリオを作成しましょう。
これが最終的にはあなたのプロフィールを他の人と差別化する要素になります。CVに何かを書くだけでは十分ではありません。あなたが何をやったかを示す必要があります。
証拠を提供してください。
良いことは、これらのプロジェクトを実際に行うことで、楽しみながらたくさん学ぶことができるということです。
そして何よりも重要なことは、あなたが雇われることです。
私の例を見てください。大学を中退し、たくさん学び、エントリーレベルのポートフォリオを構築するための個人プロジェクトに時間を費やすことを決めた人です。
そのポートフォリオが私を今の素晴らしい会社に導いてくれました。素晴らしい福利厚生と素晴らしい文化があります。
結論
データサイエンスは素晴らしい分野であり、データ、数学、予測に興味がある場合にはぴったりの仕事です。
データサイエンティストになるには時間と努力が必要ですが、簡単です。複数の可能な道があり、どれがより良いかという答えは最終的には個人の好みによるものです。
しかし、最も基本的なスキルと必要なツールは非常に明確です: 数学、Pythonを活用したモデルの構築、データの操作と可視化、データベースの操作です。
もし興味があるのであれば、ぜひ参加してください!
記事を読んでいただきありがとうございます!楽しんでいただけたら嬉しいです。私をフォローし、メーリングリストに登録していただければ、このようなコンテンツをさらに提供することができます。お手数ですが、私をサポートしていただくためにVoAGIの会員登録も検討していただけると幸いです。リンクは以下にあります。
さらなるサポートをご希望の場合は、以下のリンクからVoAGIの会員登録にご参加ください。追加の費用はかかりませんが、私をサポートすることになります。
私の紹介リンクを使ってVoAGIに参加 – Pol Marin
Pol Marinのすべてのストーリー(およびVoAGIの他の数千の作家のストーリー)をお読みください。会員費は直接Polをサポートします…
VoAGI.com
リソース
[1] 15種類のデータサイエンティスト[責任範囲付き] — Knowledge Hut
[2] DuckDB
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles