R语言中的SMOTE算法的参数解释

来源:互联网 发布:国际数据调研公司 编辑:程序博客网 时间:2024/05/18 22:10

在R的DMwR包中提供了SMOTE函数用于不平衡的分类问题,其背后的原理是SMOTE算法。SMOTE函数产生一个新的数据集来解决分类不平衡的问题。
用法:
SMOTE(form, data, perc.over = 200, k = 5, perc.under = 200, learner = NULL, …)
参数解释:
form:描述预测问题的公式
data:原始的不平衡的数据集
k:用于产生新的少数派样本的最近邻数量(与kNN中的k类似)
learner:可选参数,指定一个分类算法的函数名称(类型为字符串),这个函数将对结果进行分类
perc.over:指定从少数样本中采样的比例。
perc.under:对多数样本下采样,有多少比例的样本被选入新的数据集中
关于perc.over和perc.under的具体解释:
假设初始数据集中有N个少数样本和M个多数的样本,perc.over=a,perc.under=b。首先增加少数派样本的数量,平均每个样本增加a/100个新样本,一共新增了aN/100个全新的少数派样本,并把最初的少数派样本和新增的少数派样本都放入新的数据集中。然后对多数派的样本进行采样,采样数量为(b/100) * aN/100,得到新的多数派样本,将新的多数派样本放入到新的数据集中,这样新的数据集中,少数派样本有(1+a/100)N个,多数派样本有(b/100) * aN/100个 perc.over 不能为0
在R的help文档中符了一个案例:

## A small example with a data set created artificially from the IRIS## data data(iris)data <- iris[, c(1, 2, 5)]data$Species <- factor(ifelse(data$Species == "setosa","rare","common")) ## checking the class distribution of this artificial data settable(data$Species)## now using SMOTE to create a more "balanced problem"newData <- SMOTE(Species ~ ., data, perc.over = 600,perc.under=100)table(newData$Species)## Checking visually the created data## Not run: par(mfrow = c(1, 2))plot(data[, 1], data[, 2], pch = 19 + as.integer(data[, 3]),     main = "Original Data")plot(newData[, 1], newData[, 2], pch = 19 + as.integer(newData[,3]),     main = "SMOTE'd Data")## End(Not run)## Now an example where we obtain a model with the "balanced" dataclassTree <- SMOTE(Species ~ ., data, perc.over = 600,perc.under=100,                   learner='rpartXse',se=0.5)## check the resulting classification treeclassTree## The tree with the unbalanced data set would berpartXse(Species ~ .,data,se=0.5)
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 工商证过期5年怎么办 车年检标志丢了怎么办 年检标志打错了怎么办 贵州个体出租车工商执照年检怎么办 驾驶证考试预约提示网络繁忙怎么办 帝豪显示屏花屏怎么办 注册公司居委会不盖章怎么办 营业执照名字和店名不一样怎么办 开炸鸡店没经验怎么办 提名候选人时重名重姓怎么办 别人用我的店名怎么办 wish店铺出现侵权产品怎么办 如果公司缺人该怎么办 鲁班奖证书丢了怎么办 个人注册服务号没有营业执照怎么办 社保过了缴费日怎么办 被评为d级纳税人怎么办 忘了税号tfn怎么办 个体户没有办税务登记怎么办 遇征地企业不搬怎么办 dnf账号改错名了怎么办 银行卡绑定的手机号码换了怎么办 支付宝手机号码换了怎么办 淘宝账号被注销了怎么办 注销淘宝号绑定的手机号怎么办 淘宝账号不小心注销了怎么办 淘宝旧密码忘了怎么办 淘宝登录原始密码忘记了怎么办 微信原始密码忘记了怎么办 优酷会员重复交费怎么办 微信解绑手机号密码忘了怎么办 闪银呼呼逾期5天怎么办 忘记淘宝账号和密码怎么办 蘑菇街账号忘了怎么办 台式电脑密码忘记了怎么办 单位社保登陆密码忘记了怎么办 12306的登录密码忘了怎么办 网银支付密码忘了怎么办 邮政网银密码忘了怎么办 12306新注册待核验怎么办 建行网银盾密码忘了怎么办