随机森林(后面ROC有错误)

#------------------random forest------------------

#-------------------------female---------------------------
#------------------1.装包
install.packages("pacman")
pacman::p_load(randomForest,caret,pROC)
install.packages("openxlsx")
library(openxlsx)
#------------------2.导数据

f_product=read.xlsx('D:\\文件\\2023春 (大三下)\\2022~2023市调\\省赛\\第二次报告\\男女差异分析\\女性.xlsx')
attach(f_product)
head(f_product)

#------------------3.划分训练、测试集
dim(f_product)  # 查看几行几列

trainlist1 <- createDataPartition(使用频次,p=0.7,list=F)  # female
trainset1 <-f_product[trainlist1,]
testset1 <- f_product[-trainlist1,]

dim(trainset1)
dim(testset1)

#--------------------建模-------------------------
#--------1.build model by traindata
set.seed(1) 
rf.train1=randomForest(as.factor(使用频次)~安全性+产品效果+产品成分+包装+气味+品牌,data=trainset1,importance = T,na.action=na.omit)

rf.train1
plot(rf.train1,main="randomforest origion")

#---------2.predicting in testdata
set.seed(1)
rf.test1=predict(rf.train1,newdata = testset1,type='class')

rf.cf1 <- caret::confusionMatrix(as.factor(rf.test1),as.factor(testset1$f_useCondition))

#---------3.ROC、AUC
rf.test1=predict(rf.train1,newdata=testset1,type='prob')
head(rf.test1)

roc.rf1=multiclass.roc(testset1$f_useCondition,rf.test1)
roc.rf1

#-----------------------------male---------------------------------

#------------------1.装包
install.packages("pacman")
pacman::p_load(randomForest,caret,pROC)

#------------------2.导数据
m_product=read.xlsx('D:\\文件\\2023春 (大三下)\\2022~2023市调\\省赛\\第二次报告\\男女差异分析\\男性.xlsx')
attach(m_product)
head(m_product)

#------------------3.划分训练、测试集
dim(m_product)  # 查看几行几列

trainlist2 <- createDataPartition(m_product$使用频次,p=0.7,list=F)  # male
trainset2 <-m_product[trainlist2,]
testset2 <- m_product[-trainlist2,]

dim(trainset2)
dim(testset2)

#--------------------建模---------------------
#-------1.build model by traindata
set.seed(1) 
rf.train2=randomForest(as.factor(使用频次)~安全性+产品效果+产品成分+包装+气味+品牌,data=trainset2,importance = T,na.action=na.omit)
rf.train2
plot(rf.train2,main="randomforest origion")

#---------2.predicting in testdata
set.seed(1)
rf.test2=predict(rf.train2,newdata = testset2,type='class')
rf.cf2 <- caret::confusionMatrix(as.factor(rf.test2),as.factor(testset2$m_useCondition))

#---------3.ROC、AUC
rf.test2=predict(rf.train2,newdata=testset2,type='prob')
head(rf.test2)

roc.rf2=multiclass.roc(testset2$m_useCondition,rf.test2)
roc.rf2


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值