R:多项式回归

时间:2019-07-19 15:25:08

标签: r linear-regression categorical-data multinomial

问题

如何使用nnet包从多项式回归模型中获得更好的预测。

背景

我正在使用多项式线性回归来对分类(无序)数据进行建模以进行预测。但是,我无法达到84%的准确率。

我尝试过的事情:

我在数据上运行过chisq.test(),还观察了summary(model)返回的系数。我删除了某些变量,但准确性仍然没有提高。

可复制的示例

样本数据

set.seed(11113)

qtrs<-c(1,2,3,4)
states<-c('StateA','StateB','StateC','StateD','StateE','StateF','StateG',
'StateH','StateI','StateJ')
zone<-rep(LETTERS,500)
model<-c('TypeA','TypeB','TypeC','TypeD','TypeE','TypeF','TypeG','TypeH','TypeI','TypeJ')

dat<-data.frame(quarter = rep(qtrs,3250),
                state = sample(states,1300,replace=T),
                zone=zone,
                model=rep(model,1300,replace=T),stringsAsFactors=FALSE)

nnet软件包

library(dplyr)
library(caret)
library(nnet)

dat[]<-lapply(dat,toupper)
dat[]<-lapply(dat,as.factor)
dat_samp_vec<-caret::createDataPartition(dat$model,p=0.80,list=F)
dat_train<-dat[dat_samp_vec,]
dat_test<-dat[-dat_samp_vector,]
dat_model<-multinom(model ~.,data=dat_train,maxit = 1000)

dat_test_predictions<predict(dat_model,dat_test)

mean(dat_test_predictions==dat_test$model)

#result
>.0.23
  

注意:此处的准确率随复制此数据(样本)而不同。实际数据的准确率为84%。但是,所采取的步骤是逐字记录的。

0 个答案:

没有答案