と呼ばれるデータフレームがdf1
あり、machine learning
分析に使用されます。
ターゲット変数(Attrition
)に基づいて、データフレームdf1
のYES:NOの比率は60:40になります。
df1
はい/いいえのターゲット変数が50:50になるように、から新しいデータフレームを再作成する必要があります。
私の課題は、新しいデータフレームでAttrition
= NO(つまり、の40%df1
)のレコードの全数を保持し、RでAttrition
= YESのレコードから残りの50%をランダムに抽出することですdf1
。
新しいデータフレームが呼び出されると仮定するとdf2
、どうすればこれを行うことができますか?
最初の60:40は不均衡ではありません。
ただし、caret
パッケージの関数を使用できます。
library(caret)
set.seed(123)
# this downsamples the majority class
df2 <- downSample(x = df1[, -which(colnames(df1)=="Attrition")],
y = df1$Attrition)
#this upsamples the minority class
df2 <- upSample(x = df1[, -which(colnames(df1)=="Attrition")], # supposing that Attrition is the last column in df1
y = df1$Attrition)
詳細については、こちらをご覧ください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加