我使用的是R(3.6.1)的最新版本,但是当我使用使用随机数生成器的函数时,它们默认使用的是较旧的(即3.6.0之前的版本)RNG,该RNG使用舍入而不是拒绝进行采样。我不确定为什么会这样,感谢您的解决。
set.seed(1)
sample(20)
RNGkind()
R.version
Run Code Online (Sandbox Code Playgroud)
以下是我的跑步结果:
set.seed(1)
sample(20)
# 6 8 11 16 4 14 15 9 19 1 3 2 20 10 5 7 12 17 18 13
RNGkind()
# "Mersenne-Twister" "Inversion" "Rounding"
R.version
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status Patched
major 3
minor 6.1
year 2019
month 09
day 06
svn rev 77160
language R
version.string R version 3.6.1 Patched (2019-09-06 r77160)
nickname Action of the Toes
Run Code Online (Sandbox Code Playgroud)
需要帮助了解触发“ncol.matrix < rep”错误的原因。
我浏览了神经网络https://rdrr.io/cran/neuralnet/src/R/neuralnet.r的源代码,还调整了我的神经网络函数的参数,但我似乎无法阻止这个错误的发生. 我不确定是否已经发布了这样的问题,但我找不到任何解决方案,所以,如果有人以前看过这样的问题,您能否将我链接到解决方案。
我还标准化了“WicketPerInnings”的目标列
Wnn <- neuralnet(
WicketFormula,
WTrain,
algorithm = "rprop+",
hidden = c(4,2),
stepmax = 1e+03,
threshold = 0.2,
rep = 40,
lifesign = 'full',
learningrate = 0.01,
startweights = NULL,
err.fct = "sse",
linear.output = TRUE
)
WicketFormula <-
"WicketPerInnings~ world_cup_matches+No_of_Matches + No_of_Innings_bowled+No_of_Balls_bowled + No_of_Runs_given+No_of_Wickets + Bowling_Ave + Economy_rate+Bowling_Strike_Rate + Span"
Run Code Online (Sandbox Code Playgroud)
str(WTrain) 给出
$ Country : chr "Sri Lanka" "Bangladesh" "South Africa" "India" ...
$ world_cup_matches : num 2 1 0 0 9 …Run Code Online (Sandbox Code Playgroud)