我试图训练一个模型用#34; neuralnet"来预测一个连续的数字变量。 Caret包中的方法。执行以下代码行时,将引发以下错误:
train.default出错(Cadence_IVs,Cadence_Train_Response,method = " neuralnet",:用于分类的错误模型类型
NN_Cadence <- train(Cadence_IVs, Cadence_Train_Response, method = "neuralnet", layer1 = 10, layer2 = 5, decay = 0.1, linear.output = TRUE)
这是数据看起来喜欢的,有105,000行:
RiderID Index Date Time Average_Gradient Max_Gradient Distance Highest_point Speed Power Cadence
1 27330 3/28/2011 8:19:36 0 6.2 5132.29 12.8 47.9653271 63.3 71.5
15 991 1/29/2016 6:05:04 -1.5 0 242.9 52.3 10.5608695 267.2 72.6
15 979 1/29/2016 6:51:19 0 0 581.97 -23 10.03396552 239.2 77.6
12 49047 4/14/2013 7:45:52 0 3.5 471.2 45.4 18.848 383.6 140.4
11 46677 5/30/2015 15:25:44 -7.8 -2.6 410.7 124.4 18.66818182 98.3 97.9
&#34; RiderID&#34;被编码为因子,&#34;日期&#34;被编码为Date变量。时间被编码为字符,但被排除在Cadence_IV之外。所有其他变量都编码为&#34;数字&#34;数据类型,包括响应变量,即&#34; Cadence。&#34;
Cadence_IVs是除Cadence和Time之外的所有列的矩阵。 Cadence_Train_Response是Cadence值的一列矩阵。
非常感谢任何帮助。如果我错过了任何可能有用的细节,请告诉我。
答案 0 :(得分:1)
来自插入符号的神经网络仅处理回归并且需要3个参数,即1-3层。
您必须在调谐网格中提供这些参数。这是一个例子,希望你明白这一点。
tunegrid <- expand.grid(.layer1=4:6, .layer2=2, .layer3=0)
train(mpg ~ cyl + vs + am + carb, data = mtcars, method="neuralnet", tuneGrid = tunegrid)