【研究者が解説】プログラミング技術を身につけて、データサイエンスを楽しもう!

はじめまして、みっちゃんです。

このWebページでは、現在、データサイエンスに取り組んでいる方、今後、データサイエンスに取り組む必要がある方に向けて、データサイエンスで必要になるプログラミング技術を中心に分かりやすく解説しています。

想定している読者

✔︎ 現在、データサイエンスに取り組んでいる方
✔︎ 今後、データサイエンスに取り組む必要がある方
✔︎ プログラミングの基礎を学習したい方

わたしは、これまで10年以上にわたり、データサイエンスの分野で研究者(データサイエンティスト)として生活してきました。

そんなわたしが、データサイエンスに必要なプログラミング技術を中心に、分かりやすい情報を発信するために2020年からブログを始めました。

2020年は1年間366日、毎日、ブログで新しい情報を発信し続け、15000人以上の方にアクセスしていただきました。

現在も定期的な情報発信を続けています。

このWebサイトが、データサイエンティストとして踏み出すみなさんのお役に立てれば嬉しいです!

一緒に新たな地平を切り拓いていきましょう!

※ 随時、内容を更新していきますので、是非ブックマークをお願いいたします!


はじめに データサイエンスとは何?

そもそも、データサイエンスとは何でしょうか?

一言でいうと、データサイエンスとは「データの分析を行うための学問分野」です。

データサイエンスとは

✔︎ データの分析を行う科学
✔︎ 大量に蓄積されているデータを分析して、意味のある情報を見つけ出す
✔︎ 数学(特に統計学)や計算機科学との関連がある

データサイエンスは、最近になって注目されてきた分野です。

その背景には、2つあります。

1つ目は、“データ” を大量に測定できるような技術が発展してきたことです。

2つ目は、インターネットを介して、さまざまな “データ” を世界中から収集できるようになったことです。

最近では、インターネットがヒトの生活に欠かせないものになり、インターネットがない社会は想像もできなくなりました。

それと同時に、さまざまな情報がインターネット上に蓄積され、さまざまな目的で利用されるようになっています。

データサイエンスでは、サイエンス(科学)の枠組みで、大量のデータを取り扱うことで、少量のデータでは分からなかったことを発見することを目指します。

スポンサーリンク

第1章 プログラミングはデータサイエンスに必須

プログラミングは、データサイエンスには必須です。

なぜなら、大量に蓄積されたデータを取り扱う必要があるからです。

例えば「日本人の平均身長を知りたい」とします。

日本には、1億人以上の人が住んでいて、当然ながら、全員の身長のデータを取得することは不可能でしょう。

でも、もし仮に、5000万人の身長のデータが手に入ったとき、あなたは、どのように平均身長を計算しますか?

プログラミングできない人
プログラミングできない人

そんなの、5000万人分の身長のデータをエクセルに読み込んで、全員の身長を足して、5000万で割るだけじゃないの?


確かに、エクセル(Microsoft Excel)は便利なアプリケーションで、入力したデータに対して、さまざまな演算(足し算、引き算など)を行うことができます。

しかし、そもそも、5000万人分のデータを読み込むことができるでしょうか?

みっちゃん
みっちゃん

残念ながら、エクセルで取り扱うことができる最大行は「1,048,576 行」とされていて、5000万行もありません。


もちろん、1行に1人の身長データにする必要はないので、工夫すればエクセルに読み込めるかもしれませんが、おそらく、読み込む過程でエクセルの動作が悪くなって、うまく平均値の計算まで辿り着けないでしょう。

根本的な問題は、エクセルというアプリケーションに依存してしまっている、ということです。

プログラミングを学べば、アプリケーションに縛られず、コンピュータの性能をフル活用できるようになります。

(1) プログラミングに必要なもの:コンピュータ

結論、プログラミングに必要なものは「コンピュータ」だけです。

オペレーティングシステム(コンピュータの基本ソフトウェア)は、WindowsでもMacOSでも構いません。

わたしは、5年ほどWindows、その後、5年ほどMacOSを使って、プログラミングをしてきました。

WindowsとMacOSでは、その操作方法が大きく違うので、同時に両方使うのはオススメしません。

とはいえ、以下の理由で、わたしのオススメはMacOSのコンピュータです。

MacOSのコンピュータを選ぶ理由

✔︎ スリープモードからの起動が早い
✔︎ OSのアップデートに伴う変更がWindowsよりも少ないため使いやすい
✔︎ デザインが洗練されている
✔︎ プログラミングをするための機能が購入時の状態で充実している

一昔前には、MacOSのコンピュータと周辺機器(プリンターなど)との互換性が悪い、という理由でWindowsが好まれていましたが、最近では、特に互換性の問題で悩まされることはなくなりました。安心してください。

ちなみに、わたしがオススメするコンピュータは、以下の商品です。

https://amzn.to/39ogID8

1. 画面サイズ

Apple社が現在販売しているノートパソコンには、MacBook Pro (13.3インチ / 16インチ)、MacBook Air (13.3インチ) がありますが、持ち運ぶことを考えるのであれば、13.3インチのほうがいいと思います。

大きな画面がいい方は16.6インチでもいいと思いますが、10万円ほどコストが増すので、ご注意ください。

2. メモリ

Apple社が現在販売しているノートパソコンでは、通常、”8GB” か “16GB” を選ぶことができるようになっています。

メモリの容量が大きくなれば、同時に、いろいろなアプリケーションを使いやすくなります。

とはいえ、基本的には、8GB でいいと思います。

同時にいろいろなアプリを起動させたい方、また、動画編集のような複雑な処理を行いたい方は、16GB を選ぶと安心です。

3. ストレージ

Apple社が現在販売しているノートパソコンでは、通常、”256GB” “512GB” “1TB” “2TB” から選ぶことができるようになっています。

こちらは、書類や写真、動画、音楽など、さまざまなファイルを保存するための容量を意味しています。

つまり、ストレージの容量が大きくなれば、多くのファイルを保存することができるようになります。

とはいえ、外付けHDDやクラウドサービス(Dropboxなど)にファイルを移動させて保存するようにすれば、コンピュータ本体の容量を大きくする必要はありません。

あくまで本体にどれぐらいの容量が必要か、考えて選ぶことをオススメします。

Apple – 公式サイト
https://www.apple.com/jp/

(2) プログラミングの始め方

コンピュータが準備できたら、次は、プログラムを実際に書く準備をする必要があります。

具体的には、プログラムは、コードと呼ばれる文字列(テキスト)の集まりなので、テキストエディタを準備することになります。

なので、極端なことをいえば「メモ帳」でもいいわけです。

ただ、コードを全て自分の手で書くのは大変なので、コードを自動的に埋めてくれるような機能をもったテキストエディタがあって、プログラマーに重宝されています。

(3) プログラミングの学び方

プログラミングは、インターネット上の情報を使って、学ぶことができます。

最近では、教養の一つとして「プログラミング」が必要とされる時代になり、TechAcademyテックキャンプなどといった、いわゆるプログラミングスクールも登場しています。

スクールの登場はありがたいことですが、逆に、スクールの存在が、プログラミング習得の難しさを印象づけてしまっているかもしれません。

しかしプログラミングは、本人のやる気次第で、スクールに通わなくても習得できる技術です。

プログラミングで実現したいことを具体的に思い浮かべて、必要な知識を一つ一つ身につけていきましょう。

(4) データサイエンスにオススメのプログラミング言語

プログラミングでは、プログラムを書いて、コンピュータに指令を出すことになります。

そのためには、コンピュータが読み取れる「言語」を使う必要があります。

例えば、イギリス人が聞き取れるように「英語」を、中国人が聞き取れるように「中国語」を使うイメージです。

現在までに、1500種類以上のプログラミング言語が開発されていて、さまざまな用途で世界中で使われています。

言語の選び方は自由ですが、プログラミングで実現したいことと “相性がいい” 言語を選ぶことになります。

また、”人気のある” 言語であるほど、インターネット上に情報が手に入りやすいメリットがあります。

プログラミング言語の人気ランキング(TIOBEインデックス)
https://www.tiobe.com/tiobe-index/
*TIOBE: プログラミング言語で書かれているソフトウェアの質を評価する会社(TIOBE Software)


データサイエンスの分野でよく使われる言語は、以下の4つです。

1. R

2. Ruby

3. Python

4. MATLAB (Octave)

(5) プログラミング初心者がぶつかる壁と対処法

スポンサーリンク

第2章 プログラミング能力を測るIT資格試験

(1) 情報処理技術者試験について

(2) プログラミング初心者は、基本情報処理技術者試験がおすすめ

(3) 資格を持つ社会的効果は限定的

スポンサーリンク

第3章 データサイエンスの基礎知識を測る統計検定

(1) データサイエンスのために統計学の基礎知識は必須

(2) 統計検定について

(3) データサイエンス初心者は、統計検定2級がおすすめ

スポンサーリンク

第4章 データサイエンティストのための情報発信

(1) 学術論文に使えるツール紹介

(2) 学会発表に使えるツール紹介

(3) ブログを使った情報発信

1. ブログを使った収益化の仕組み

2. 無料ブログと有料ブログの違い

3. ブログ開設の手順

4. ブログ運営に便利なツール

・WordPress
・エックスサーバー
・マインドマップ
・Google Analytics
・Rank Tracker
・Search Console

5. おすすめの解説ページ

スポンサーリンク

おまけ

みっちゃんねる(2020年版サイト)

統計学プログラミング情報技術のトピックを中心に、「分かりやすく」をモットーに情報発信しています。

みっちゃんの本棚

統計学の学習にオススメの本や、わたしが最近に読んだ書籍について、簡単なレビューを添えて紹介しています。

タイトルとURLをコピーしました