LogModel<-glm(y~.,data=newData,family=binomial(link="logit")) LogFit<-predict(object=LogModel,newdata=Data,type="response") Data$Log.scores<-LogFit library("ROCR") par(mfrow=c(2,2)) pd<-prediction(Data$Log.scores,Data$y) pf1<-performance(pd,measure="rec",x.measure="rpp") pf2<-performance(pd,measure="prec",x.measure="rec") plot(pf1,main="模式甄别的累计回溯精度曲线") plot(pf2,main="模式甄别的决策精度和回溯精度曲线") Data.Sort<-Data[order(x=Data$Log.scores,decreasing=TRUE),] P<-0.30 N<-length(Data[,1]) NoiseP<-head(Data.Sort,trunc(N*P)) colP<-ifelse(1:N %in% rownames(NoiseP),2,1) plot(Data[,1:2],main="SMOTE处理后的模式甄别结果(30%)",xlab="x1",ylab="x2",pch=as.integer(as.vector(Data[,3]))+1,cex=0.8,col=colP) LogModel<-glm(y~.,data=Data,family=binomial(link="logit")) LogFit<-predict(object=LogModel,newdata=Data,type="response") Data$Log.scores<-LogFit Data.Sort<-Data[order(x=Data$Log.scores,decreasing=TRUE),] NoiseP<-head(Data.Sort,trunc(N*P)) colP<-ifelse(1:N %in% rownames(NoiseP),2,1) plot(Data[,1:2],main="平衡化处理前的模式甄别结果(30%)",xlab="x1",ylab="x2",pch=as.integer(as.vector(Data[,3]))+1,cex=0.8,col=colP)
时间: 2023-06-18 12:08:40 浏览: 137
glm-0.9.9.7.zip
这段代码使用了逻辑回归模型(Logistic Regression)来进行二分类问题的预测。首先使用glm函数来创建逻辑回归模型(LogModel),然后使用predict函数来预测数据集(Data)的输出(LogFit),并将预测值保存在数据集(Data)的Log.scores列中。接下来使用ROCR包来创建累计回溯精度曲线(pf1)和决策精度和回溯精度曲线(pf2)。然后按照预测值从高到低对数据集(Data)进行排序(Data.Sort),并将预测值最高的30%数据点作为噪声点(NoiseP)。使用ifelse函数将噪声点的颜色设置为红色(2),其他点的颜色设置为蓝色(1),并将颜色信息保存在colP中。最后使用plot函数将处理后的数据集(Data)可视化,展示了噪声点过滤前后的模式甄别结果。
阅读全文