gpt4 book ai didi

r - 如何使用神经网络包预测新病例

转载 作者:行者123 更新时间:2023-12-02 00:13:30 26 4
gpt4 key购买 nike

使用 RGUI。我有一个名为 Data 的数据集。我感兴趣的响应变量包含在Data 的第一列中。

我有名为 DataTrainDataTestData 训练集。

通过 DataTrain,我使用包和函数 neuralnet 训练了一个神经网络模型(称为 DataNN)。

> DataNN = neuralnet(DataTrain[,1] ~ DataTrain[,2] + DataTrain[,3], hidden = 1,
data = DataTrain)

有人知道如何使用测试集 (DataTest) 对此模型创建预测吗?

通常(对于其他模型)我会使用 predict() 来实现此目的。例如

> DataPred = predict(DataNN, DataTest)

但是当对神经网络执行此操作时,我得到:

> DataPred = predict(DataNN, DataTest)

Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "nn"

显然我无法在此模型上运行 predict()。有谁知道有什么替代方案吗?

我检查了neuralnet的帮助,在documentation的第12页找到了一个名为prediction的方法。 。但我认为这根本不是我想要的,或者至少我不知道如何将其应用到我的数据

任何帮助将不胜感激(如果有任何解决方案)。

最佳答案

compute 方法可以完成您想要的操作,我从帮助文件中复制了这个示例并添加了一些注释:

 # Make Some Training Data
Var1 <- runif(50, 0, 100)
# create a vector of 50 random values, min 0, max 100, uniformly distributed
sqrt.data <- data.frame(Var1, Sqrt=sqrt(Var1))
# create a dataframe with two columns, with Var1 as the first column
# and square root of Var1 as the second column

# Train the neural net
print(net.sqrt <- neuralnet(Sqrt~Var1, sqrt.data, hidden=10, threshold=0.01))
# train a neural net, try and predict the Sqrt values based on Var1 values
# 10 hidden nodes

# Compute or predict for test data, (1:10)^2
compute(net.sqrt, as.data.frame((1:10)^2))$net.result
# What the above is doing is using the neural net trained (net.sqrt),
# if we have a vector of 1^2, 2^2, 3^2 ... 10 ^2 (i.e. 1, 4, 9, 16, 25 ... 100),
# what would net.sqrt produce?

Output:
$net.result
[,1]
[1,] 1.110635110
[2,] 1.979895765
[3,] 3.013604598
[4,] 3.987401275
[5,] 5.004621316
[6,] 5.999245742
[7,] 6.989198741
[8,] 8.007833571
[9,] 9.016971015
[10,] 9.944642147
# The first row corresponds to the square root of 1, second row is square root
# of 2 and so on. . . So from that you can see that net.sqrt is actually
# pretty close
# Note: Your results may vary since the values of Var1 is generated randomly.

关于r - 如何使用神经网络包预测新病例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4891899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com