RPackage011---SMOTE


title:「Learning R-SMOTE」author:「劉棟」date:「2017年11月20日」output:word_document
knitr::opts_chunk$set(echo = TRUE)

AIM
rmarkdown編集~メインターゲットを用いてSMOTEアルゴリズムを学習し,DMwRを用いてクラスのアンバランス問題を処理するためにこのアルゴリズムを実現した.
概要
この関数はSMOTEアルゴリズムを用いてクラスのアンバランス問題を処理する.簡単に言えば、この関数はSMOTEアルゴリズム処理後のデータを生成することができる.あるいは、新しく生成されたデータセットで二分類モデルを構築し、最終的なモデルを返すこともできます.
関数の使用方法
Code
SMOTE(form, data, perc.over = 200, k = 5, perc.under = 200,
learner = NULL, ...)

パラメータの説明
1 . form式は、予測問題2を記述するために用いる.data元のアンバランスデータセット3.perc.overオーバーサンプリング割合p 1=perc.over/100は、少数のクラスのサンプルがp 1・n 1+n 1個のサンプル4を生成する.デフォルト値は5であり、kが少数のクラスの新しいサンプルを生成する場合に使用される隣接数.すなわちknn中のk 5である.perc.under欠サンプリング割合p 2=perc.under/100では、p 1・n 1・p 2個の新しいサンプルが生成される.繰り返しサンプリング可能なようです6.learnerのデフォルトはNULLで、パラメータ値は文字列で、新しいデータセット7に適用される関数を表すことができます.learnerの他のパラメータ8を指定します.データセット1:1を構成するとpercが保証される.over/100 + 1 =perc.over/100 *perv.under/100でいい
Details
クラスのアンバランス問題は多くの機械学習アルゴリズムに影響を及ぼす.この問題の特徴は,各クラスが占める割合が不均一であることである.SMOTE(Chawla et.al.2002)はこの問題を解決する良い方法である.SMOTEの大まかな考え方は,少数類サンプルの近隣人為を利用して新しいサンプル(少数類)を生成することである.さらに、多くのクラスサンプルは、データセットをよりバランスよく使用するために、欠サンプリングを使用することもできます.パラメータperc.overとperc.underはオーバーサンプリング、アンダーサンプリングの数を制御します.perc.overは通常100より大きく、少数のクラスサンプルごとにpercを生成する.over/100個の新しいサンプル.perc.overが100未満の場合、サンプルは所定の割合(perc.over/100)でランダムに生成される.パラメータperc.underは、多数のクラスサンプルが最終的にランダムに新しいデータセットに抽出する割合(perc.over/100)を決定する栗を挙げる:少数のクラスサンプルが200個の新しいサンプルを生成し、perc.under値が100であると、多くのクラスのサンプルからも200個のサンプルが正確に抽出され、最終的なデータセットが構成されます.perc.under値が100より大きいと、多数のクラスからより多くのサンプルが抽出され、サンプル数は少数のクラスで新しく生成されたサンプル数です.パラメータkは、新しいサンプルの生成方法を決定する、各少数クラスのサンプルは新しいサンプルを生成し、新しいサンプルを生成する数はpercである.over決定.これらの新しい試料は,各古い試料のk個の近隣から生成された.パラメータkは、隣接する数を決定する.この関数は、新しいサンプルセットの分類モデルを確立することもできます.パラメータlearnerで分類モデルの名前を決定するか、モデル関数の他のパラメータを追加することもできます.パラメータlearnerの値がNULLでない場合、この関数は新しいバランスデータセットではなく学習モデルを返します.モデルのパラメータの最初のパラメータは予測式であり,2番目のパラメータはトレーニングセットである.
Value
SMOTE関数は、パラメータlearnerがNULLであるかどうかによって、2つの異なるタイプの結果を返します.learnerはNULLのために新しく生成されたデータセットを返します.そうでなければ、指定した分類モデルを返します.
Examples
## A small example with a data set created artificially from the IRIS
## data
data(iris)
data 

ソースコード

# SMOTE -------------------------------------------------------------------

function (form, data, perc.over = 200, k = 5, perc.under = 200, 
          learner = NULL, ...) 
{
  tgt 

Ref
DMwRヘルプドキュメント