1. HOME
  2. データサイエンス
  3. PythonやRを使用したデータ分析~データ分析の始め方~

PythonやRを使用したデータ分析~データ分析の始め方~

AI(人工知能)の到来で、より深い情報処理能力が求められる。本稿では初心者向けに、汎用性あるプログラミング言語の分析の仕方を解説する。本連載は、全4回にわたって「データ分析の始め方」、「機械学習モデルの作り方」、「カテゴリ変数の扱い方」、「評価指標を踏まえた運用の仕方」を説明する。会社や部署、趣味などでデータ分析を始めようと思っているが、何からどう初めて良いのか分からない人に向けて、第一歩を踏み出す参考になることを目標とする。

PythonやRを使用したデータ分析~データ分析の始め方~
  1. 人間がデータを丁寧に確認する
  2. 複雑な分析がお手軽にできるPythonやR
  3. Kaggleで多種多様なデータに触れる
  4. 理論よりも実際のデータから学ぶ
  5. データ分析初心者は必ずしも数学に強い必要はない
※この講座は所属企業や所属団体とは一切関係ありません

人間がデータを丁寧に確認する

データ分析を始める上で最も大事なことは、「高度な統計手法の理解」でも「高度なプログラミングスキル」でも「高度な機械学習手法の理解」でもなく、「データを穴が開くほど眺める力」である。利用するデータを一つひとつ丁寧に眺める必要がある。「データの仕様書と実際の中身が違っていた」なんてことはよくある。機械学習を用いた予測モデルを作成する場合、その学習データが間違っていたとなると事故の元となる。

また、次回の「機械学習モデルの作り方」でも説明するが、機械学習モデル構築の観点では汎用性のない変数を除いたり、適切な加工をしたりする必要がある。さらには、機械学習モデルの予測結果に対しても、精度の高低だけでなく、どんなデータには精度良く予測していて、どんなデータには精度が悪いのかなどを確かめることが重要にもなってくる。

したがって、データ分析を行う人は泥臭くデータと向き合う力が一番重要になってくる。データをAI(人工知能)に渡したら適当に何か良い予測をしてくれるかと言ったら、そんなことはないということを認識してほしい。人間がきちんとデータを確認する必要がある。

複雑な分析がお手軽にできるPythonやR

プログラミング講座では無いので、ここでは詳細な説明は省くが、「X > 6のデータに制限して、YとZの最大値、最小値、平均値、標準偏差」を出す工程が1行でできる手軽さを確認したい。

下の表を見てほしい。このように、一般的なプログラミング言語であるPythonでもRでも、お手軽に集計できる。このぐらいはExcelでもお手軽にできるかもしれないが、実際はデータを結合したり、大きいデータを扱ったり、複雑な加工をしたり、可視化をしたりと、柔軟にデータをハンドリングする必要がある。

データ分析を本格的にやる場合はPythonやRの使用をおすすめする。もちろんBI(ビジネスインテリジェンス)ツールではできない柔軟な分析が可能だ。プログラミングを覚えるコストはあるが、そのコストはそこまで大きくないし、すでに何かしらのプログラミング言語を扱っている方は簡単に導入できる。

Kaggleで多種多様なデータに触れる

今の世の中は便利なもので、インターネットで検索すればコピーアンドペーストで誰でもAIを作ることができる。PythonやRによる機械学習モデルを作成するサンプルプログラムは多く公開されている。また、高度な機械学習モデルである「勾配ブースティング決定木」や、ディープラーニングも同様にサンプルプログラムが公開されている。

したがって、ITリテラシーがそれなりにあれば、見よう見まねでAIを作成すること自体はできるのである。もちろん、サンプルプログラムを使用しただけでは、本当の意味で精度の良い、目的に適した機械学習モデルができるわけではない。大事なポイントは「利用するデータの選定」、「使用する機械学習モデルの選定」、「特徴量の作成や変数加工」、「目的に合わせた精度評価」が挙げられる。これらの大事なポイントを“手を動かして”学ぶ必要がある。

一番手っ取り早い方法がKaggle(カグル)と呼ばれるデータ分析コンペティションに参加することである。Kaggleとは世界中のトップデータサイエンティスト達が予測精度を競っているプラットフォームである。ここでは、世界のトップデータサイエンティスト達の「データの眺め方」、「機械学習構築方法」、「精度向上テクニック」、「考察の仕方」などがPythonやRなどのコード付きで閲覧できる。

もちろん参考のための閲覧だけでもよいが、それだけだと中々身につかない。“習うより慣れろ”と言うように、実際に開催されているコンペに参加するのが一番効率的だ。最初から予測精度の良いモデル構築はできないし、初学者だととんでもなく悪い順位となるかもしれないが、それはみんなが通る道。大事なことはまずは手を動かすこと、まずはサブミット(予測結果を投稿し順位が分かる)してみてほしい。

Kaggleの良い点として、様々なデータに触れられることが挙げられる。業務だけでは限られたデータにしか触れられないかもしれないが、Kaggleでは多種多様なデータに触ることができる。また、失敗できることも挙げられる。実際の業務で機械学習モデルを使用した場合に失敗したら大変なことである。しかし、Kaggleで失敗してもコンペの順位が低いだけで損害は無い。Kaggleで試行と失敗を繰り返すことで自然とデータ分析の経験を積むことができるわけである。

理論よりも実際のデータから学ぶ

2020年現在、作成した機械学習モデルを適切に評価するのは、まだ人間である。使用したデータのドメイン知識などを考慮し、目的に合わせて評価する必要があるが、この作業はまだまだ人間にしかできないし、5年後も変わっていないと考えられる。「説明変数は妥当なものか」、「簡単な機械学習モデルと比較して異常に精度が高くないか」、「過去データと未来データはどれくらい同質か」などをきちんと考慮する必要がある。

機械学習やAIという言葉はかっこよく見えたり、スマートに見えるかもしれないが、大事なことは上述のように泥臭い作業となる。これからデータ分析を始める方は、手を動かして泥臭い作業を行い、機械学習を体得する気構えで始めていただけたら、より深いデータ分析技術、機械学習構築技術が身につくと私は考える。

座学で機械学習の理論や、PythonやRの問題集をやることもよいが、まずは実際のデータに触れて、データを眺めようとして、必要な知識やプログラミング技術をかき集めるようにして鍛えていくことが、ひとつの良いデータ分析の始め方かと考えている。

とはいえ、やはり理論も大事である。ただし、関数解析など高度な数学を含めて理解する必要はない。モデルが何をやっているのかを把握できる程度には、モデルの中身(理論)を理解する必要はある。

社会人だと中々時間を取ることができないので、まずは手を動かすことをおすすめしたが、ある程度手を動かせるようになったら、「使用しているモデルについて何を最適化しているのか」、「どのように最適化しているのか」、「各ハイパーパラメータはどのような意味を持って、どのような影響を与えるのか」を把握しておくと良い。より高精度なモデル作成にも結び付くし、実際の運用時の事故を防ぐこともできる。

データ分析初心者は必ずしも数学に強い必要はない

データ分析に適性のある人材は決して数学に強い人間だけではない。実際に学生時代は法学や経済学を専攻していた人で、優秀なデータ分析人材となっている人を知っている。

大事なことは「穴が開くほどデータを見る」「必要な知識をかき集める」ことなどが挙げられる。泥臭くデータと向き合うことのできる人材であれば、決して現時点で数学に強くプログラミングに強い必要も無い。

下記が私の考えるデータ分析に向く人材の5つの要素である。参考にして頂ければ幸いだ。

①プログラムと数字にアレルギーがなく、嘘を付かない
②質問に来る前にデータを確認することができる
③質問に来る前にプログラムのエラー文を検索している
④泥臭い作業ができる(例えば50変数ぐらいなら分布を一つひとつ確認する)
⑤思い付いたら、まずは試してみる

寄稿
Kaggle Master
佐野 遼太郎 氏
Kaggle Masterの称号を持つ。2015年4月よりコンサルタント
として金融機関を中心としたデータ分析・モデル構築業務に従事。
2018年2月にKaggler枠でディー・エヌ・エーに入社、現在は
Mobility Technologiesに出向中。また、2016年から
社外データ分析講座講師として300人を超えるデータ分析技術者の
人材育成に関わっている
データサイエンスカテゴリのオススメの記事
<特別対談>医療× データサイエンス×アクチュアリー最前線

国や健康保険組合にとって、医療費の抑制は喫緊の課題になっている。特に、糖尿病患者は増加しており、国は糖尿病性腎症重症化予防プログラムを改定するなど対応を進めている。国内外の保険市場でも、健康状態に応じて保険料を決定する商品が発売されており、保険を通じた健康増進の取り組みが加速している。そうした保険のニーズやアクチュアリーの役割などについて、スイス再保険の藤澤陽介氏と医療データの提供・分析により保険事業などをサポートするJMDCの齋藤知輝氏が語り合った。

データサイエンティスト育成のための産学官による学びなおしの場を提供

ビッグデータ利活用の環境が整備されつつある中、その担い手となるデータサイエンティストが世界的に注目されて久しい。今や各国の政府が将来の国力を左右する材料として重視し、専門人材の育成に本腰を入れ始めた。データサイエンス人材に関する産官学の動きや、世界最高峰のデータサイエンティストが数多登録するプラットフォーム「Kaggle」などを関係者に聞いた。本稿では、文部科学省が超スマート社会の到来に向けてスタートさせた取り組みと、その狙いや目標について解説していく。

データサイエンスをビジネスに活かすために必要な3つのステージ

ビッグデータ利活用の環境が整備されつつある中、その担い手となるデータサイエンティストが世界的に注目されて久しい。今や各国の政府が将来の国力を左右する材料として重視し、専門人材の育成に本腰を入れ始めた。データサイエンス人材に関する産官学の動きや、世界最高峰のデータサイエンティストが数多登録するプラットフォーム「Kaggle」などを関係者に聞いた。本稿では、データサイエンティストとしての質の担保や、実ビジネスにおける利活用に着目し、そのための必要なプロセスについて解説する。

データサイエンティストの技術指標となるKaggle(カグル)とは~Kaggleを活用した新たなビジネス創出

ビッグデータ利活用の環境が整備されつつある中、その担い手となるデータサイエンティストが世界的に注目されて久しい。今や各国の政府が将来の国力を左右する材料として重視し、専門人材の育成に本腰を入れ始めた。データサイエンス人材に関する産官学の動きや、世界最高峰のデータサイエンティストが数多登録するプラットフォーム「Kaggle」などを関係者に聞いた。本稿では、データサイエンティストの技術力指標の一つとして使われている「Kaggle(カグル)」について焦点を当てKaggleの概要から活用事例を紹介しデータサイエンティストチームとの連携ポイントについて解説する。

【 寄稿 】
Kaggle Master

佐野 遼太郎 氏

The Finance をフォローする
注目のセミナー すべて表示する