Youtube

【Python入門】データサイエンティストが教える学習方法とは?【IT業界/勉強】

date2022年09月20日
【Python入門】データサイエンティストが教える学習方法とは?【IT業界/勉強】
タグ:

今回の出演者

じま
じま

新卒ITエンジニア

てもし
てもし

元役者ITエンジニア

ゲスト しゅう
ゲスト しゅう

データサイエンティスト

ITサプリについて

この記事は動画『ITサプリ』で配信している内容をもとにテキスト配信しています。ITサプリは未経験からIT業界へ転職したい方に向けて情報配信をしているYouTubeチャンネルです。IT業界ではたらく上で役立つ知識を発信していますので動画でもお楽しみください。

じま

じま

今回は、データサイエンティストのしゅうさんをゲストにお迎えしました。『データサイエンティストが教えるPython入門』というテーマで、お話を伺っていきたいと思います。

1.そもそもPythonとは?

じま

じま

まず初めに、そもそもPythonとはどういったものなのでしょうか?

しゅう

しゅう

Pythonはプログラミング言語の1つですね。その中でもインタプリタ型(プログラミング言語の命令を1つずつ機械語に解釈しながら実行する方式)の言語とされています。特徴としては「コードが書きやすく修正しやすい」というものがあり、Pythonを使うとデバッグが結構簡単になる、といった感じの言語になっていますね。

てもし

てもし

結構使いやすい、というイメージがありますよね。

しゅう

しゅう

未経験の方でも扱いやすい、というところもあるので、Pythonは最近人気の言語だと思います。

2.Pythonを学ぶメリット

じま

じま

Pythonを学ぶメリットは、どういったものがあると思いますか?

しゅう

しゅう

正直に言いますと、Pythonはいろいろな分野でデファクトスタンダード(国際機関や標準化団体による公的な標準ではなく、市場競争の影響から事実上の標準とみなされるようになった規格・製品のこと)になっている言語ですのでそこのメリットは大きいと思います。個人的には「たくさんの人が使っているから」というのが、Pythonを学ぶメリットとして1番大きいかな、と思っていますね。

てもし

てもし

Pythonを使えるということは、どこでも通用するようなスキルを持っている、ということになりますか?

しゅう

しゅう

それもありますが、大勢が使っているということは「情報がたくさんある」ということですので、学ぶスピードが上げやすく「加速度的に学習していける」ということでもあります。そこは他の言語と比べて、大きなメリットだと個人的に思っています。

てもし

てもし

知らないことを学ぶ時は、それを使える人に聞いた方が早いし確実ですからね。

3.データサイエンティストから見たPython

じま

じま

データサイエンティストの目線から見ると、Pythonとはどういったものでしょうか?

しゅう

しゅう

一言で言うなら「分析のための道具」ですね。どんなことに使うかというと、まずは数値計算。他にも「高級Excel」のような使い方ができるので、ラベルを使ったりグラフを描いたりとかですね。あとは、機械学習や統計などの予測モデルを作る時にも、メインで使っていますね。

4.Pythonは独学で学べる?

じま

じま

Pythonを独学で学ぶことは可能でしょうか?

しゅう

しゅう

可能です。僕の場合、少しは学習サイトを触ることもありましたが、いろいろなコードを読みながら自分で覚えていったので、ほぼ独学です。

てもし

てもし

ひたすら触って覚えた、ということですね。ちなみにPythonを使う時というのは、適当にふわっとやるのではなく何か目的があって使うと思うのですが、何か「これを作りたい」と思って独学で勉強されたのですか?

しゅう

しゅう

そうですね。私はデータサイエンティストとして働いているので「データ分析をしたい、こういう分析がしたい」という目的や目標がありました。それに対して「どうアプローチすれば良いか」ということを考えながら調べて、Pythonを書いて覚えていった、という感じですね。

てもし

てもし

独学とかでも結構勉強しやすいというか、覚えていきやすい言語だということですね。

5.初心者が学ぶためにおすすめの勉強方法

じま

じま

しゅうさんは独学で学ばれたというお話でしたが、初心者がPythonを学習する時におすすめの勉強方法はありますか?

しゅう

しゅう

一般的に学習というと「インプット3割、アウトプット7割」とか言われていますよね。けれどプログラミング言語の場合は「インプット1割、アウトプット9割」といった感じで、結構アウトプット偏重で、自分で手を動かしてどんどん書いていく方法がおすすめです。

てもし

てもし

本を読んで理解を深めるというよりは、ひたすら触って書いて覚える、と。

しゅう

しゅう

理解を深めるのは後で大丈夫なので、まずは触ってからですね。

じま

じま

とりあえず本番を想定して、自分でいろいろと触っていく方が確実に学べる、ということですか?

しゅう

しゅう

Pythonの場合、いろいろなものを作らなくても『Jupyter Notebook(データの視覚化などの作業に適した、PythonなどをWebブラウザ上で記述・実行できる統合開発環境)』のような、対話型で実行可能な環境を、簡単に作ることができます。

こういった環境では、Pythonを書きながら実行して結果を見られる手段もあるので、基礎を固める時に活用するのがおすすめです。コードの意味は詳しく書かれた本がありますので、そちらで学ぶと理解が深めやすいかと思います。

てもし

てもし

『Jupyter Notebook』という環境を活用すれば、独学であっても感覚的にと言いますか、結構触れながら学んでいけるということですね。

6.おすすめの本や学習サイト

じま

じま

理解度を深めるための学習に本を利用するかと思いますが、その時におすすめの本や、学習サイトなどのサービスはありますか?

しゅう

しゅう

学習サイトはたくさんあるので、その中から自分に合ったものを使うのが良いと思いますが、代表的なものをいくつか挙げますね。
まずは『paiza(ブラウザ上でコードを書いて、書いたコードをその場で実行できるオンライン上のプログラム実行環境)』や『PyQ(株式会社BeProudが運営している、完全オンラインプログラミング学習サービス)』ですね。

あとは、英語がある程度使える方なら『Kaggle(世界中の機械学習・データサイエンスに携わっている約40万人の人が集まるコミュニティ)』のラーニングコースをおすすめします。『Kaggle』はGoogleが運営していまして、データサイエンスにおけるデータ分析の腕を競い合うプラットフォームになっています。

てもし

てもし

競い合う?

しゅう

しゅう

はい。このプラットフォーム内には「無料で使える学習リソース」が展開されていまして、その中にPythonの超プロの方たちが作ってくれた『ラーニングコース』があります。これを一通りやると、個人的には「いろいろな基礎部分から少し深めの理解までできたな」と思ったので、おすすめしておきます。

てもし

てもし

そちらの利用は有料ですか?

しゅう

しゅう

全部無料です。英語ですけど(笑)

てもし

てもし

これは「英語が使えるかどうか」というところが難点ですが、もし使えるなら、やってみる価値がありますね!

しゅう

しゅう

絶対良いと思います。

7.初心者が挫折しないためのコツ

じま

じま

初心者の方が学ぶにあたって、挫折しないためのコツとかってありますか?

しゅう

しゅう

プログラミング言語全般に言えることかもしれませんが、全部学ぼうとすると挫折しやすいと思います。ですので、コツコツ目標を決めながらやっていくのが良いと思いますね。分析だったら「テーブルデータ・表データのExcelデータ分析をしてみたい」というところから始めてみるとか。
そこから「画像をやってみたい」とか「言語処理してみたい」といった感じで、目標を少しずつ達成していく形でやっていくと良いと思います。

てもし

てもし

先程も「何か作りたくて独学で始めた」というお話がありましたし「何か自分で作りたいもの・やりたいこと」を、まずは明確にした方が良いということですね。

じま

じま

ちなみに、しゅうさんは挫折したことありますか?

しゅう

しゅう

もう、何度もありました(笑)

じま

じま

挫折した時は、どう修正していきましたか?

しゅう

しゅう

「これ分からないな」と思ったら何日か寝かせておくと、その間に不思議と勘が整理されてきて「こうだったのか!」みたいになる時がありました。あと、ある時期はできなかったことを、いろいろと他のことができるようになってから改めて触ってみたら、別の角度から見ることができて、できるようになったこともありましたね。

てもし

てもし

展開がRPGみたいですね!(笑)

じま

じま

Pythonの場合、よく聞くのは「ディープラーニング」とか「画像解析」だと思いますが、そういったことをいきなりやろうとすると、やはり挫折しやすいですか?

しゅう

しゅう

絶対、挫折します。僕もしました(笑)

てもし

てもし

そういう時は、どこからやり直していけば良いのでしょうか?

しゅう

しゅう

ディープラーニングや画像解析の場合、コードの書き方が中級者以上に向けた扱いになっています。そもそもPythonのコードも「ある程度Pythonが書けないと理解できない」ですし、全体的に数学などの知識も必要になります。なので、前提として「必要な知識」を理解して、その前提知識をつけてから学習に臨めば、問題なく取り組めるかと思います。

てもし

てもし

では、ディープラーニングがしたいなら、まずはディープラーニングするために必要な知識を目標にして、一から学んでいく必要があるということですね。

8.学習する順番と期間

じま

じま

学習していて「Pythonが理解できたぞ!」と感じられるのは、どれくらいの期間から、というのはありますか?

てもし

てもし

今から勉強しようとしている人も「どれぐらい勉強したら使えるようになるのか」ということを知れるのは、モチベーションにつながるかもしれないですね。

しゅう

しゅう

基礎文法は別に難しくないので1ヵ月もあれば余裕だと思いますが、そこから使えるようになるかどうかは、どれだけの場数を踏めるかだと思います。

「理解して使えるようになる」ために勉強の目標を立てるのであれば「使えないといけないライブラリ」というものが必ず出てきます。データサイエンスを目指す場合に欠かせないライブラリは『NumPy』『Pandas』『Matplotlib』『scikit-learn』などが代表的ですね。

じま

じま

どういう順番で勉強していくと良いと思いますか?

しゅう

しゅう

順番としては、まず『NumPy(数値計算をより高速・効率的に行うために使用するライブラリ)』から触り始めて、次に『Pandas(主に、数表および時系列データを操作するためのデータ構造と演算を提供するライブラリ)』ですね。ここまで使えるようになると「高級Excel」のような使い方ができるので、新たに「もう少し高度化したもの」という目標が立てられます。

そうしたら『Matplotlib(多様なグラフ描画の能力を持つライブラリ)』を勉強してもらうと、今まで数値でしか見られなかったデータのグラフ化が可能になります。その後『scikit-learn(オープンソースの機械学習ライブラリ)』で機械学習の構文を学ぶことができれば、学習モデルを立てられるようになりますね。こういった感じで1つずつステップを踏んでいけば、大体半年くらいで理解できてくると思います。

じま

じま

この後は書けば書くほど理解できていく感じですよね。

しゅう

しゅう

『データ分析エンジニアの基礎認定試験』みたいなものがあるのですが、3ヵ月~半年くらいで受かるぐらいにはなれるかもしれません。

まとめ

プログラミング言語の1つである『Python』を学ぶには「インプット1割、アウトプット9割」と考えることが重要だそうです。その場合『Jupyter Notebook』などの環境ツールの利用や『paiza』『PyQ』などのオンライン学習サイトを利用することが良いようです。他にもオンラインで利用できる学習サイトはたくさんあるため、ご自分に合ったものを選んで学ぶと良いでしょう。
また学ぶ際のコツとして、一気に理解しようとせず、段階ごとに目標を決めてコツコツ学んでいくと挫折しにくいそうです。自分が作りたいもの・やりたいことを明確にして、決めた目標を少しずつ達成していく形で学ぶと良いかもしれません。

未経験からでもITエンジニアになることは可能です。セラクでは未経験からでも約1.5か月の研修を通じて活躍しているエンジニアが多数在籍します。
少しでもご興味を持っていただけたら、ぜひ、セラクにご応募ください。まずは面談でのお話をすることも可能です。お気軽にご相談ください。

IT業界に挑戦したい23年卒の方、私たちの仲間になりませんか?
【会社選びは、仲間探しだ】IT業界に挑戦したい23年卒の方、私たちの仲間になりませんか?
株式会社セラク 開く