R语言SMOTE函数在哪个包及用法(适用于想从DMwR2包中找到该函数的)

        安装包

        SMOTE函数自DMwR包更新后,已不在DMwR2包中。

        SMOTE函数现在在smotefamily包中。在安装smotefamily包后导入即可使用

install.packages("smotefamily")
library("smotefamily")

        用法        

        而且SMOTE函数的参数也已更新,之前在DMwR中可能是这样

newData<-SMOTE(y~.,data=Data,perc.over=1000,K=5,perc.under=200)
plot(newData[,1:2],main="SMOTE处理后的观测点分布",xlab="x1",ylab="x2",pch=as.integer(as.vector(Data[,3]))+1,cex=0.8)

        在新SMOTE函数

newData<-SMOTE(Data[,-3],Data[3],dup_size =0,K=5)

        输出变量直接用Data[,3]单独选出,输入变量则要将数据中的输入变量删除即可,不再需要R公式。保持不变的大概只有K这个用于指定近邻个数的参数。其它变量似乎不设置也不会影响最终结果。

        用plot函数画图时改为

plot(newData$data[,1:2],main="SMOTE处理后的观测点分布",xlab="x1",ylab="x2",pch=as.integer(as.vector(Data[,3]))+1,cex=0.8)

        具体寻找过程(可忽略)

        在安装DMwR包发现该包已经更新为DMwR2包后,安装了DMwR2包发现SMOTE函数不在此包中。于是去下面链接中(R的包列表)使用Ctrl+F搜索SMOTE函数想碰碰运气。

CRAN Packages By Name

        结果恰好发现有一个叫smotefamily的包,于是碰运气下载导入后发现确实可用,但是函数用法又有错误,在help说明中看到了示例,于是对照示例改了自己的代码。

        然后画图时出错,报错如下

Error in h(simpleError(msg, call)) : 
  在为'plot'函数选择方法时评估'x'参数出了错: incorrect number of dimensions

      然后查看了newData的内容,发现newData是包括很多东西的,要通过修改一下代码将newData[,1:2]改为读取newData中data的数据:newData$data[,1:2]。(具体可以自己看一下newData)

       最终成功运行。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值