我试图根据给定的时间,区域类型(0,1,2,3),是否在工业区域(0,1)以及该区域中是否有主要道路来预测AQI值,1)。我有350,000对数据,并使用下面的代码训练了神经网络。那么,在给定时间,区域类型,区域和rd输入的情况下,如何使用它来预测新的AQI?还是我不了解神经网络的目的?谢谢!
DECLARE length INT64;
BEGIN
SET length = 1000;
WHILE (length > 0) DO
SET length = length -1;
END WHILE;
END;
答案 0 :(得分:1)
您有一个多类预测。如@ user2974951所述,请使用预测。在下面,我补充说明您必须解释结果。需要注意的是,如果您的预测变量为0或1,则对其进行归一化将不会更改任何内容(请参见函数归一化)。
library(neuralnet)
set.seed(1111)
# training /testing data
trn <- sample(1:nrow(iris),100)
trainData <- iris[trn,]
testData <- iris[-trn,]
# before you fit, check what are the levels of the labels
# in your case should be 0,1,2,3
levels(iris$Species)
1] "setosa" "versicolor" "virginica"
# fit nn
nn <- neuralnet(Species ~ Petal.Length + Petal.Width,trainData , linear.output = FALSE)
# predictions
pred <- predict(nn,testData)
head(pred)
> head(pred)
[,1] [,2] [,3]
3 1 0.10672416 1.855968e-61
5 1 0.10944693 1.214708e-60
8 1 0.11238864 8.835106e-60
9 1 0.10944693 1.214708e-60
从标题pred中可以看到,这些是概率,第一列是setosa(物种的第一级)概率,第二列是杂色,等等。每行都是trainData的观察值
我们可以取回标签,并做一个混淆矩阵
pred_labels <- levels(testData$Species)[apply(pred,1,which.max)]
actual_labels <- testData$Species
table(pred_labels,actual_labels)
actual_labels
pred_labels setosa versicolor virginica
setosa 16 0 0
versicolor 0 18 0
virginica 0 2 14