第一次在R中使用Neuronet:将变量虚拟化为数值

问题描述

@H_404_0@我目前正在开始学习神经网络。

@H_404_0@我有混合了数字变量和分类变量的数据。

str(air.df)
'data.frame':   4987 obs. of  16 variables:
 $ ID                   : int 1 2 3 4 5 6 7 8 9 ...
 $ Topflight            : int 0 0 0 0 1 0 0 1 1 ...
 $ Balance              : int 28143 19244 41354 ...
 $ Qual_miles           : int 0 0 0 0 0 0 0 0 0 ...
 $ cc1_miles.           : int 0 0 1 0 1 0 1 0 1 ...
 $ cc2_miles.           : int 1 0 0 0 0 0 0 0 1 ...
 $ cc3_miles.           : int 0 0 0 0 0 0 0 0 0 ...
 $ Bonus_miles          : int 174 215 4123 500 4...
 $ Bonus_trans          : int 1 2 4 1 26 0 25 4 ...
 $ Flight_miles_12mo    : int 0 0 0 0 2077 0 0 2...
 $ Flight_trans_12      : int 0 0 0 0 4 0 0 1 1 ...
 $ Online_12            : int 0 0 0 0 0 0 0 0 0 ...
 $ Email                : int 1 0 1 1 1 0 1 1 1 ...
 $ Club_member          : int 0 0 0 0 0 1 1 0 0 ...
 $ Any_cc_miles_12mo    : int 1 0 1 0 1 0 1 0 1 ...
 $ Phone_sale           : num 0 0 0 0 0 0 0 0 0 ...
@H_404_0@我想通过先将变量虚拟化来做出预测(我的结果变量为Phone_sales)。

trainData <- cbind(air.df[training,c(vars)])
@H_404_0@但是当产生我的神经网络时:

nn <- neuralnet(Phone_sale ~ Topflight + Balance + Qual_miles + cc1_miles. + cc2_miles. + cc3_miles. + Bonus_miles + Bonus_trans + Flight_miles_12mo + Flight_trans_12 + Online_12 + Email + Club_member + Any_cc_miles_12mo,data = trainData,hidden = 5)
@H_404_0@我的混淆矩阵中的数据不正确:

training.prediction<- compute(nn,trainData[,-c(15)])
training.class<-apply(training.prediction$net.result,1,which.max)-1
confusionMatrix(as.factor(training.class),as.factor(air.df[training,]$Phone_sale))
@H_404_0@因此让我知道我没有正确模拟变量。谁能解释为什么我的预测在第二行预测中不显示任何结果?请耐心等待,因为我是初学者,非常感谢。

Reference
Prediction    0    1
         0 2591  401
         1    0    0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)