Rプログラミングでの分類:概念を習得するためのオールインワンチュートリアル!
このチュートリアルでは、Rの分類を徹底的に研究します。 また、意思決定ツリー、ナイーブベイズ分類とサポートベクターマシンをカバーします。 最良の方法でそれを理解するために、我々は画像とリアルタイムの例を使用します。
最新の技術動向で更新滞在
電報にDataFlairに参加!!
Rでの分類の概要
天気:雨、晴れ、曇り、雪などのカテゴリクラスラベルを予測するために使用します。
Rでの分類の重要なポイント
利用可能な様々な分類子があります:
- 意思決定ツリー-これらは、ツリー構造内の質問と回答のセットの形で編成されています。
- Naive Bayes Classifiers–分類に使用される確率的機械学習モデル。
- K-NN分類子–距離のような類似度の尺度に基づいて、新しいケースを分類します。
- サポートベクターマシン–これは、ケースを二つのカテゴリのいずれかに分類するためのモデルを構築する非確率的なバイナリ線形分類器です。
サポートベクターマシンによるRでの分類の例は、classification()関数の使用です。
classification(trExemplObj、classLabels、valExemplObj=NULL、kf=5、kernel=”linear”)
Wait! R
引数のクラスタリングに関するチュートリアルを完了しましたか:
1. trExemplObj–それは模範的な列車eSetオブジェクトです。
2. classLabels-eSetオブジェクトに変数名として格納されています。
3. valExemplObj-それは例証検証eSetオブジェクトとして知られています。
4. kf-これは交差検証パラメータのk-fold値と呼ばれます。 また、デフォルト値は5-foldです。 “Loo”または”LOO”を設定することにより、実行する必要があるLeave-One-Out交差検証を行います。
5. カーネル-分類分析では、カーネルの種類を使用します。 デフォルトのカーネルは”linear”です。
6. classL-列車セットのラベル。
7. valClassL-NULLでない場合は、検証セットのラベルと呼ばれます。
8. predLbls-分類分析に従って予測されたラベルとして定義されます。
Rの決定木
これは教師あり学習アルゴリズムの一種です。 私たちはそれを分類問題に使用します。 これは、入力変数と出力変数の両方のタイプで機能します。 この手法では、母集団を2つ以上の均質な集合に分割します。 さらに、それは入力変数の最も重要なスプリッタ/微分器に基づいています。
決定木は強力な非線形分類器です。 意思決定ツリーは、ツリーのような構造を使用して、さまざまな特徴と潜在的な結果の間の関係を生成します。 それは、そのコア構造として分岐決定を利用しています。
データの分類では、決定木は以下の手順に従います:
- これは、すべてのトレーニング例をルートに置きます。
- 選択されたさまざまな属性に基づいて、決定木はこれらのトレーニング例を分割します。
- 次に、いくつかの統計的尺度を使用して属性を選択します。
- 再帰的な分割は、トレーニング例が残らないまで続行されます。
決定木に関連する重要な用語
- ルートノード:母集団またはサンプル全体を表します。 さらに、それは2つ以上の均質なセットに分割されます。
- 分割: この中で、ノードを2つ以上のサブノードに分割します。
- デシジョンツリー:サブノードがさらにサブノードに分割されたときに生成されます。
- リーフ/ターミナルノード:分割されていないノードをリーフまたはターミナルノードと呼びます。
- プルーニング:決定ノードのサブノードを削除するとき、このプロセスはプルーニングと呼ばれます。 それは分割の反対のプロセスです。
- Branch/Sub-Tree:ツリー全体のサブセクションをbranchまたはsub-treeと呼びます。
- 親ノードと子ノード: サブノードに分割されたノードは、サブノードの親ノードと呼ばれ、サブノードは親ノードの子です。
意思決定木の種類
- カテゴリ(分類)変数意思決定木:カテゴリターゲット変数を持つ意思決定木。
- 連続(回帰)変数決定木:決定木には連続的な目標変数があります。
R決定木を詳細にチェックすることを忘れないでください
カテゴリ(分類)木と連続(回帰)木
従属変数が連続しているときは回帰木が使用され、従属変数がカテゴリカルであるときは分類木が使用されます。
連続では、得られた値は観測値の平均応答です。
分類では、端末ノードによって取得された値は観測モードです。
どちらの場合も1つの類似性があります。 分割プロセスは、停止基準に達するまで成長した木の結果を継続します。 しかし、成長したツリーはデータを過剰に適合させる可能性があり、目に見えないデータの精度が低下します。 これは’剪定’をもたらします。 剪定は、過剰適合に取り組むことを使用する技術の一つです。
Rの決定木の利点
- 理解しやすい:それらを読んで解釈するための統計的知識は必要ありません。 そのグラフィカルな表現は非常に直感的であり、ユーザーは彼らの仮説を関連付けることができます。
- 以下のデータクリーニングが必要: 他のいくつかのモデリング技術と比較して、必要なデータは少なくなります。
- データ型は制約ではなく、数値変数とカテゴリ変数の両方を処理できます。
- 理解し、解釈するのは簡単です。
- はほとんどデータの準備を必要としません。
- 数値データとカテゴリデータの両方で動作します。
- は非直線性を処理します。
- 統計的検定を使用してモデルを確認することができます。
- それは堅牢です。 あなたが仮定から逸脱しても、それはうまくいきます。
- それはビッグデータにスケールします。
R非線形回帰分析
R決定木
- オーバーフィットの欠点:これは、決定木モデルにとって最も実用的な困難の一つです。 モデルパラメータに制約を設定し、プルーニングすることにより、Rでこの問題を解決できます。
- 連続変数には適合しません:連続数値変数を使用する時。 異なるカテゴリの変数を分類するたびに、意思決定ツリーは情報を失います。
- 大域的に最適な木を学ぶことはNP困難であり、algosは貪欲な検索に依存しています。
- フィーチャ間の複雑な”if-then”関係は、ツリーサイズを膨らませます。 例-XORゲート、マルチプレクサ。
ナイーブベイズ分類の紹介
ベイズの定理を使って予測を行います。 これは、事前の知識と現在の証拠に基づいています。
ベイズの定理は次の式で表されます:
ここで、P(A)とP(B)は、互いに関連しないイベントAとBの確率です。 P(A|B)はbの条件付き確率であり、P(B|A)はAの条件付き確率です。
サポートベクターマシンの概要
サポートベクターマシンとは何ですか?
これを使用して、最適な超平面(2Dの線、3Dの平面、3次元以上の超平面)を見つけます。 これは、二つのクラス間のマージンを最大化するのに役立ちます。 サポートベクトルは、両側の超平面をサポートする観測値です。
線形最適化問題を解くのに役立ちます。 また、最大のマージンを持つ超平面を見つけるのにも役立ちます。 私たちは、不可分であるインスタンスを分離するために”カーネルトリック”を使用しています。
R SVMに関連する用語
なぜ超平面なのか?
それは2Dの線であり、3Dの平面である。 さらに,SVMは二つのクラスを分離できる超平面を見つけるのに役立つ。
証拠金とは何ですか?
超平面と最も近いデータ点との間の距離をマージンと呼びます。 しかし、それを2倍にしたい場合、それはマージンに等しくなります。
最適な超平面を見つけるにはどうすればよいですか?
まず、二つの超平面を選択する必要があります。 それらは、それらの間に点を持たずにデータを分離する必要があります。 次に、これら2つの超平面間の距離を最大化します。 ここでの距離は’margin’です。
カーネルとは何ですか?
これは、非線形分離可能なデータポイントの場合に、SVMを実行させるのに役立つ方法です。 カーネル関数を用いて,データを高次元の特徴空間に変換した。 また、それの助けを借りて、線形分離を実行します。
1. 線形:u’*v
2. 多項式:(ガンマ*u’*v+coef0)degree度
3。 radial basis(rbf):exp(-gamma*|u-v|^2)sigmoid:tanh(gamma*u’*v+coef0)
RBFは一般的に最も一般的なものです。
SVMはどのように機能しますか?
- マージンを最大化する最適な超平面を選択します。
- は誤分類にペナルティを適用します(コスト’c’チューニングパラメータ)。
- 非直線的に分離可能なデータ点の場合。 次に、データを高次元空間に変換します。 これは、線形決定面の助けを借りて簡単に分類するために行われます。
Rでのデータ可視化の概念を習得する時間
RでのSVMの利点
- 非線形分離可能なデータの場合にカーネルトリックを使用している場合、それは非常に
- SVMは高い次元スペースでそしてテキストまたはイメージの分類の場合にはよく働く。
- それはmulticollinearity問題に苦しまない。
RのSVMの欠点
- 大規模なデータセットでは時間がかかります。
- SVMは確率推定値を返しません。
- 線形分離可能なデータの場合、これはほとんどロジスティック回帰に似ています。
サポートベクターマシン–回帰
- はい、従属変数またはターゲット変数が連続している回帰問題に使用できます。
- SVM回帰の目的は、分類問題、すなわち最大のマージンを見つけることと同じです。
Rにおける分類の適用
- 病院の緊急治療室は、新たに入院した患者の17変数を測定します。 血圧、年齢および多くのような変数。 なお、患者がICUに是認されなければならなければ注意深い決定はなされなければならない。 I.C.Uの高い費用が原因で、月以上存続するかもしれないそれらの患者は高い優先順位を与えられます。 また、問題は、高リスクの患者を予測することです。 そして、それらを低リスク患者と区別する。
- クレジット会社は、新しいカードのためのアプリケーションの数十万を受け取ります。 アプリケーションには、いくつかの異なる属性に関する情報が含まれています。 また、問題は、良い信用、信用不良者または灰色の領域に落ちる人を分類することです。
- 天文学者は、長時間露光C.C.D画像を使用して空に遠くのオブジェクトをカタログ化されています。 したがって、ラベル付けする必要があるオブジェクトは、星、銀河などです。 データはノイズが多く、画像は非常にかすかであるため、カタログ作成が完了するまでに数十年かかることがあります。
概要
Rにおける分類について、その用途と長所と短所とともに研究しました。 私たちはまた、より良い方法で分類を学ぶのに役立つリアルタイムの例を学びました。
R DataFlairチュートリアルシリーズの次のチュートリアル–e1071パッケージ|RのSVMトレーニングとテストモデル