データサイエンスを学びたいと思った時に、まず理解したい「R」。今回は、現役データサイエンティストが「R」の基本的な使い方をインストールの方法から解説します。また、機械学習とは何なのか、人間はどう関わるべきなのかという点についてもご紹介します。
データサイエンスと「R」
近年、ビッグデータが取得できるようになり、事業においてそのデータの活用が重要視されるようになりました。
データを活用することをデータサイエンスと言い、複数の特殊なツールを使いデータを分析しています。
今回は、その中でも活用頻度の高い「R」の使い方についてご紹介します。
非エンジニアの方でも活用できるので、学んでみて下さい
RとR Studioとは
データサイエンスに広く使われているツールの一つが「R(アール)」です。
無料で使える統計解析向けの言語です。
そのR言語を使う際の開発環境が「R Studio(アールスタジオ)」です。
Rをインストールする際にR Studioもインストールしておき、R Studioを使い実際の開発を行っていきます。
Rでできること
Rでは、Excelでは処理しきれないような膨大な量のデータも効率的に分析ができます。
処理速度もExcelより早いため、ビッグデータの解析によく使われています。
また、Excelでは不向きなクラスター分析などの統計解析も得意です。
いろいろなパッケージを使うことで幅広い解析に対応できるのです。
また、自由度の高いグラフ作成も可能であり、エンジニアに限らずビジネス部門やマーケターの間でも活用が進んでいます。
では、実際にRを使ってみましょう。
ここからは、R(アール)機械学習入門セミナーでの内容を交えてご紹介していきます。
Rのインストール方法
Rを使うには、まずインストールからです。
WindowsでもMacでも利用可能。
- CRANにアクセスします
- 自分のOSに合ったリンクからダウンロード
- Baseというリンクをクリック
- 最新バージョンが表示されるのでクリック
- ダウンロードしたファイルを実行する
- コンポーネントの選択の箇所で、自分のPCにあったものを選択する
最後まで進めて、完了画面が表示されればインストール完了です。
次にRStudioもインストールしておいてください。
- RStudioにアクセスします
- 自分のPCに合ったバージョンをクリック
- ダウンロードしたファイルを実行する
最後まで進めて、完了画面が表示されればインストール完了です。
詳細は「データサイエンティストのお仕事とは?【第1回】R導入編」
でもご紹介していますので参考にしてみて下さい。
R(アール)機械学習入門セミナーでは、このRのインストールからサポート。
参加者の皆様にPCをご持参いただき、設定するところから始めます。
これからはじめる入門編なので、はじめから丁寧にレクチャーしております。
R Studioの画面構成
インストールが完了したら、早速R Studioを使ってみます。
R Studioを起動すると、Consoleが立ち上がります。
Consoleの右上にある四角のアイコンをクリックすると、4つのパートに分かれた画面が表示されます。
これが、作業時に使用するものになります。
左下は、エディタ画面となっており、コードを記述する場所です。
左下は、コンソール画面で実行結果が表示されます。
右上は、ワークスペースで、エディタで実行した履歴や作成したものが表示されます。
右下は、サブ画面でグラフやヘルプが表示されます。
R(アール)機械学習入門セミナーでは、この画面構成を把握するため、エディタ画面に1+1といった計算式を入力し、実行(Ctrl+Enter)すると、コンソール画面に結果である2が表示されるといった例で解説をしています。
実行は、エディタ画面でカーソルが合わせられている行が対象となります。
1行実行するとカーソルは自動で次の行に合わせられているので、実行(Ctrl+Enter)を押し続ければ1行ずつ実行されていきます。
複数行を実行したいときには、対象となる行を選択しCtrl+Enterで実行されます。
全行を実行するには、Ctrl+Shift+Enterです。
例に挙げた簡単な計算式、四則演算を実行するためのRのコードが、「R導入編」でまとめられていますので合わせて参考にしてみて下さい。
R Studioの基本操作
R Studioの画面構成が理解できたところで、解析を進めるにあたり知っておきたい基本的なプログラミングをご紹介します。
セミナーの場でも、質疑を交えながら解説が進められました。
- Rの基本概念 変数と代入
- 変数名をつける際のルール
- ベクトルとは
- データの型
- 表のデータを扱う場合
Rでは、変数という概念があります。
変数は、データに個別の名前をつけることです。
変数は、数値以外にも数列や文字列、様々なデータにつけることができます。
変数を使うことにより、スマートに計算することが可能となります。
つけたい変数名とその内容とを紐づけることを代入といいます。
数値の10をX という変数に代入するには、【 X<-10 】と入力します。
Rでは、 <- が代入のコードです。
実行は、「Ctrl+Enter」です。
変数名をつける時に、いくつか決まりがあるのでご紹介しておきます。
・先頭には数字はNG
・日本語も組み合わせられる
・半角記号は、アンダーバーとピリオドのみ使用可能
変数には、複数のデータを代入することもできます。
例えば、1214136という数値を、suretsuという変数に代入することも可能です。
このように、複数のデータを代入する構造のことを、ベクトルと呼びます。
ベクトルを構成するデータを要素と呼びます。
ベクトルの作成は、 C() と書きます。
()の中にデータをカンマ区切りで入れていきます。
Rで使うデータには、型の使い方が決まっています。
データの型は、文字列・複素数・実数・整数・理論値の5つです。
同じベクトル内は、同じ型しか使えません。
異なるデータの型をベクトルの要素にしてしまうと、データの型が統一されてしまいます。
型には大小関係があり、その要素の中で一番大きいデータの型に統一されるのです。
データの型の大小関係や例は、以前のコラムR基礎編でご確認いただけます。
Rにも、データフレームと呼ばれる表形式のデータ構造が用意されています。
CSVと同じ構造です。
セミナーでは、Rにデフォルトで実装されているデータの1つ「iris」を例に解説をしています。
データフレーム構造は、各列が1つのベクトルであり、ベクトルの集合体です。
関数「iris」を用いて、各列や各行のデータを抽出することができます。
抽出方法は下記のとおりです。
・m行目の抽出→iris[m,]
・n列目の抽出→iris[,n]
・全データの場合は、空欄にする
・複数行、複数列の場合は、ベクトルを使用
・列名がわかっていて、複数の列を指定する場合には、文字列として列名を指定して抽出することができる
・列名がわかっていて1列のみの抽出の場合は、データ名とドルマークで抽出することもできる
抽出方法に関しては、以前のコラムR基礎編で詳しく解説しています。
実際の使い方を知りたい方は参考にしてみて下さい。
Rの基本的な使い方としては、R(アール)機械学習入門セミナーではここまでの解説となっています。
機械学習でできること
最後に、セミナーでは機械学習とは何なのかについて触れています。
機械学習で得られるものは、データに潜む構造的なパターンだと言われています。
それの結果、分類や予測が可能になるのです。
構造自体を決定するのは人間で、それにかかるパラメータを決定するのがコンピューターなのです。
どういった構造を導き出したいかを決定し、機械学習でパラメータを導き出し、結果として分類や予測が可能となっています。
機械学習において、人間がやるべきことはこちらの4つです。
では、これらを1つずつみていきましょう。
- どうやってモデルを決めるか、どんなモデルがあるか
- パラメータを学習させる方法
- よいモデルの評価方法
人間がやるべきことの1つ目と2つ目にある、「どうやってモデルを決めるか」と「どんなモデルがあるか」についてみてみましょう。
モデルを決めるには、その目的を明確にする必要があります。
目的が、数値やカテゴリを予測したいというようなものの場合は「教師あり学習」と言われ、線形重回帰分析やロジスティック回帰、決定木のようなモデルが使用されます。
似ているものをグルーピングしたい、可視化したいというようなものが目的の場合は「教師なし学習」と言われ、クラスタリングやパターン抽出のようなモデルが使用されています。
ディープラーニングは、どちらにも対応できるもので自由度が高いものです。
次に、パラメータを学習させる方法をご紹介します。
まず、パラメータの初期値を適当に決めます。
そのパラメータで数値予測/分析/グルーピング等を行います。
目的変数とのずれが生じるため、それを計算します。
ずれが一番小さくなるようパラメータを更新していくことで、パラメータを学習させることができます。
モデルの評価で重要なポイントは2つあります。
まずは、学習データとテストデータの分割です。
モデルに当てはめるための学習データと、それが新しいデータで使用できるのかテストするためのデータに分割をして、実際に使うことのできるモデルを作り上げます。
実際には、新しいデータで使用できるモデルにするためには、過学習を抑え、テストデータでの当てはまり具合を向上していかなくてはなりません。
いろいろなモデルを試したり、特有のチューニングパラメータを調整しながら、テストデータでの当てはまりを向上していくことになります。
上記のように、セミナー後半は、機械学習とはといった基本から、機械学習でできること、基本的な考え方が解説されました。
まとめ
以上、現役データサイエンティストが教えるR(アール)機械学習入門セミナーから、Rの基本をインストールから、基本的な画面説明、基本概念と操作方法について解説しています。
また後半は、機械学習とは何なのか、どのようなことができるのかという概念から、人間は何をするべきなのかということをご紹介いたしました。
これからRを学びたいという方はもちろん、機械学習が何なのか何ができるのか知りたいという方にも参考になれば幸いです。
過去のRの使い方に関するコラムでは、さらに詳しいモデルについてご紹介しています。
あわせて参考にしてみて下さい。
【第1回】R導入編
【第2回】R基礎編
【第3回】簡単な分析編
【第4回前半】 仮説検定編(1)
【第4回後半】 仮説検定編(2)
【第5回】回帰分析編
【第6回】機械学習編 その1 ロジスティック回帰分析
【第7回前半】機械学習編 その1 クラスター分析(1)
【第7回後半】機械学習編 その2 クラスター分析(2)
【第8回前半】確率分布編(1)
【第8回後半】確率分布編(2)
【第9回】決定木編
【第10回】主成分分析編
【第11回前半】機械学習編その3ナイーブベイズ分類器(1)
また、アサインナビでは、定期的にデータサイエンスに関するセミナーを開催しています。
独学ではなかなかわかりづらい点も、現役データサイエンティストが詳しく解説します。
日程は、アサインナビセミナー情報をご確認ください。