私はプログラマーですが、データサイエンスの分野に入るにはどうすればよいですか?


13

まず第一に、この用語はとてもあいまいに聞こえます。

とにかく..私はソフトウェアプログラマーです。私がコーディングできる言語の1つはPythonです。データについて言えば、SQLを使用でき、データスクレイピングを実行できます。データサイエンスが得意とする非常に多くの記事を読んだ後、これまでに私が理解したこと:

1-統計

2-代数

3-データ分析

4-視覚化。

5-機械学習。

私がこれまでに知っていること:

1- Pythonプログラミング2- Pythonでのデータスクラップ

理論と実用の両方を磨くために、専門家が私をガイドしたり、ロードマップを提案したりできますか?約8か月の時間枠を自分に与えました。


何に「入りたい」のか具体的に説明してください。フィールドだけでなく、どのレベルでも。たとえば、「プロの医療テキストマイナー」または「アマチュア天体物理学宇宙試験官」
ピート

私は、企業がデータを掘り下げて洞察を得るために企業に連絡できるコンサルタントまたは従業員として働くことができるものになりたいと思っています。
Volatil3

(1)機械学習に関するAndrewのNgコース。(2)データからの学習に関するYaserアブモスタファコース。両方ともアクセス可能で(時間は含まれていません)、十分なレベルの理解が得られます。
Vladislavs Dovgalecs


データサイエンスという用語は非常に広範です。どんな仕事をしたいのか、どの会社で働きたいのか、その要件と責任を考えてみてください。そうすれば、仕事があなたの期待と能力のギャップを満たしているかどうかがわかります。GOOGLEのデータサイエンティストの要件は次のとおりです。![Googleのデータサイエンティストの要件 ](i.stack.imgur.com/5KSN6.png
Octoparse

回答:


18

スキルを習得することよりも、経験を積むことに重点を置いてください。実際にいくつかの問題を解決して、作業をgithubに投稿してみてください。プロセスでより多くのことを学び、雇用者に知識と経験を示すことができます。これは、トピックや理論を深く理解しているよりもはるかに価値があります。

データサイエンスは最近非常に負荷の高い分野なので、具体的にどのような仕事をしたいのかわかりませんが、機械学習がそのコンポーネントであると仮定すると、kaggle.comを開始するのに適した場所です。目標に関しては、pandas / numpy / scipyのデータを操作できる場合、sci-kitでモデルを構築し、seaborn、ggplot、またはmatplotlibでかなりのグラフを作成すれば、問題なく取得できます。スキルの観点からの仕事-特に能力を実証するためのコードサンプルとサンプルがある場合。あなたが動けなくなった場合、stackexchangeは答えを持っているか、質問を投稿することができ、あなたはすぐに答えを得るでしょう。生計を立てて仕事をするようになると、メンターを務める上級チームのメンバーからさらに学ぶことができます。

幸運を祈ります。


7

私は、データサイエンスのバークレーコースが好きで、データサイエンスの良い基礎と趣味を提供します。そのため、プログラミングのスキルをお持ちの場合は、数学と統計、および多くの視覚化が必要になります。また、IPythonに慣れるのは素晴らしいことです。なぜなら、すべてのステップを視覚化するのに不可欠であるためです。代わりにスクリプト全体を記述してテストします(anacondaはインストールと操作が簡単です)。コースは以下のとおりです:bcourses.berkeley.edu/courses/1267848/wikiまた、SASから無料の良いコースを見つけました:Statistics 1:Introduction to ANOVA、Regression、and Logistic Regression support.sas.com/edu/schedules.html ?ctry = us&id = 1979

MLから始めると、次のことが推奨されます:www.kaggle.com/c/titanic/details/getting-started-with-python

左側は、ピボットテーブルとRを使用するExcel用です。DataCampは、Rの使用方法に関するチュートリアルをリリースしました。このステップを完了すると、経験を積むより多くの競争がkaggle(最近、サンフランシスコ犯罪分類用にリリースされた)になりますwww.dataschool.ioのすばらしいビデオチュートリアル

それが役に立てば幸い ...


ご回答有難うございます。どうやって学びましたか?
Volatil3

1
書籍、オンラインのチュートリアル、およびデータの操作に関連する多くの実践的なコード。kaggle.comを試して、コンテストで試してみてください。MLを学び始めるのに最適です。
n1tk

そして最終的にはデータサイエンティストのコミュニティを見つけてプロジェクトに参加しようとすると、プロジェクトでは共有できないほど多くの経験を積むことができます。
n1tk

しかし、統計、数学などの理論は得意ではありません
。Uniの

私は学校に戻って分析とデータサイエンスの博士号プログラムに移行することを検討した私の特定のケースではありません...微積分1,2、線形代数、数値線形代数、SAS、R、ビッグデータの数学、グラフ理論など
...-n1tk

4

真のデータサイエンティストであるデイビッドに反対するのは、適切な理由で機械学習アルゴリズムを使用し、コーディングする方法を知っている応用統計学者です。統計は、すべてのデータサイエンスの基盤です。それ自体が「ケーキ」です。他のすべてはただのアイシングです。

問題は、どのようなデータサイエンティストになりたいですか?主題のマスター(アルゴリズム、テクニックを適用する方法、理由、タイミング、およびタイミングに関する知識)またはScipyを使用して彼がデータサイエンティストであると考えているKaggle Script Kiddieになりたいですか?

1-統計

2-その他すべて


2
あなたが言っていることを理解しているかわかりません。「応用統計」を知ることは重要ではないとは決して言いませんでした。メソッドの理論的な知識を得るよりも、メソッドを適用する経験を積むことが重要であると単に区別しました。
デビッド

1
デビッド、それはまさに私の意見の相違点でした。メソッド自体の理論的な知識がなければ、私たちはただのスクリプトキディです。経験は重要ですが、理論的知識の副産物であり、その逆ではありません。
隠れマルコフモデル

2
いいえ、そうではありません。応用経験と理論的知識の間には大きな違いがあり、それはしばしば、産業界と教室で得られるものの違いです。たとえば、正則化の理論的基盤を知るよりも、クロスバリデーションなどの適用方法を使用して、モデルがオーバーフィットしていないことを効果的に検証する方法を知ることの方が価値があります。また、「スクリプトキディ」について言及するのもやめてください。kaggleの新しくて恐ろしいワンクリック送信機能の使用を推奨している人はいません。
デビッド

1
あなたが言っていることが真実なら、なぜ企業は単に学士号を持つ人々よりも博士号と修士号を持つ人々を好むのですか?アルゴリズムを駆動する技術の理論的知識があるためです。それらは、それ自体がエンジンビルダーです。理論的知識はより深い知識です。Kaggleは、スクリプトキディのタンクです。
隠れマルコフモデル

1
どちらもあなたがしようとしている点を見ることができますが、おそらく文脈から外れていると思います。元の質問は、「プログラマーがデータサイエンスの仕事にどのように移行できるのか?」でした。応答が「すべてを落とし、統計でPH.Dを取得するのに数年を費やし、自分でいくつかのプロジェクトを行ってから適用を開始する」場合、それは非常に厄介な障害であり、実際に迷惑を掛けないように指示することもできますセンス。逆に、統計PHD(またはマスター)の数と見ている人の数を考えると、雇用主は学位なしで経験を示すことができる人を検討するかもしれません。
chrisfs

4

真の知識を持つ実用的な人間になりたい場合は、数学(計算、確率+統計、線形代数)から始めます。すべてのステップでプログラミングを使用してすべてを実装しようとしますが、これにはpythonが適しています。良い地に着いたら、実際のデータで遊んで問題を解決してください

コース。線形代数-edx Laffまたは行列Statのコーディング-edx stat 2x Barkley Calculus-読み取り...その単純な


2

デビッドには良い点があります。あなたの興味をより高めるものは何かに集中することをお勧めします。それはあらゆる努力で成功する唯一の方法です。何かクールなものを作りたいなら、それから始めてください。あなたが本を読みたいなら、それも良いです。出発点は関係ありません。数日先に、あなたが何をしたいのか、次に何をすべきかについての理解が深まります。


1

データサイエンスは非常に幅広いため、データサイエンスにはさまざまな方法があります。通常は、たとえば4つまたは5つの異なるタイプに分割されます。

ここに画像の説明を入力してください

このトピックの他の投稿から、応用統計のバックグラウンド(適切なアルゴリズムを適用)、プログラミングのバックグラウンド(Kaggleに参加)、およびビジネスバックグラウンドにそれを適用している人がいます。

精通した企業は、プログラミングに偏った人を「データエンジニア」と呼ぶことができます。大企業もデータサイエンスチームに各タイプを使用しているため、優れたT字型のスキルを示すことは良いことです。


0

プログラマーなら、デシジョンツリー分類子から始めて、エントロピーと情報ゲインの背後にある数学を理解することに集中できます。MLはデータ圧縮に関するものであるということを理解することが不可欠です。

私は、実践的なコースの価値に関する他の回答のいくつかに強く反対します。MLにとって最も価値があるのは数学です。数論、線形代数、確率論です。

数学に焦点を合わせていない場合、あなたが学ぶことは、魔法を行うために何らかのライブラリを使用する方法だけです。それは機械学習ではなく、科学でもありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.