В приведенном выше примере вы пытаетесь использовать дату для обучения модели, что неверно, поскольку neuralnet
может понимать только factors
и numerics
для обучения. Если вы хотите включить некоторые факторы временных рядов в свою модель, используйте time-series analysis
, предоставленный R.
Более того, вы пытаетесь обучить neural-net
, используя только один или два предиктора, таким образом, он будет плохо соответствовать иваш анализ будет предвзятым.
И ваша проблема состоит только из трех столбцов, а именно;date
, wdy
(что фактически является днем недели) и USD
(цена). В этом сценарии нет смысла использовать нейронные сети, поскольку у вас нет функций для обучения модели. Ваши данные в основном временные ряды, поэтому используйте регрессию и другие линейные алгоритмы. (также можно перейти к timeseries
, как упоминалось ранее)
Несмотря на то, что я поделился о том, как обучить хорошую модель mlp
ниже.
Ниже приведен простой пример использования многослойного-перцептрон в R с использованием пакета RSNNS
. Я использовал базовый набор данных iris
.
Ниже приведен код:
library(RSNNS)
data(iris)
iris <- iris[sample(1:nrow(iris),length(1:nrow(iris))),1:ncol(iris)]
irisValues <- iris[,1:4]
irisTargets <- decodeClassLabels(iris[,5])
iris <- splitForTrainingAndTest(irisValues, irisTargets, ratio=0.15)
iris <- normTrainingAndTestSet(iris)
model <- mlp(iris$inputsTrain, iris$targetsTrain, size=5, learnFuncParams=c(0.1),
maxit=50, inputsTest=iris$inputsTest, targetsTest=iris$targetsTest)
summary(model)
#model
#weightMatrix(model)
#extractNetInfo(model)
par(mfrow=c(2,2))
#plotIterativeError(model)
#predictions <- predict(model,iris$inputsTest)
#plotRegressionError(predictions[,2], iris$targetsTest[,2])
confusionMatrix(iris$targetsTrain,fitted.values(model))
confusionMatrix(iris$targetsTest,predictions)
Вывод:
SNNS network definition file V1.4-3D
generated at Sun Oct 27 23:15:12 2019
network name : RSNNS_untitled
source files :
no. of units : 12
no. of connections : 35
no. of unit types : 0
no. of site types : 0
learning function : Std_Backpropagation
update function : Topological_Order
unit default section :
act | bias | st | subnet | layer | act func | out func
---------|----------|----|--------|-------|--------------|-------------
0.00000 | 0.00000 | i | 0 | 1 | Act_Logistic | Out_Identity
---------|----------|----|--------|-------|--------------|-------------
unit definition section :
no. | typeName | unitName | act | bias | st | position | act func | out func | sites
----|----------|-------------------|----------|----------|----|----------|--------------|----------|-------
1 | | Input_1 | -0.04652 | 0.21414 | i | 1,0,0 | Act_Identity | |
2 | | Input_2 | -1.03059 | -0.09038 | i | 2,0,0 | Act_Identity | |
3 | | Input_3 | 0.11214 | -0.19132 | i | 3,0,0 | Act_Identity | |
4 | | Input_4 | -0.02205 | 0.28695 | i | 4,0,0 | Act_Identity | |
5 | | Hidden_2_1 | 0.36322 | 0.16864 | h | 1,2,0 |||
6 | | Hidden_2_2 | 0.04875 | -1.57745 | h | 2,2,0 |||
7 | | Hidden_2_3 | 0.19143 | -1.59699 | h | 3,2,0 |||
8 | | Hidden_2_4 | 0.94317 | 1.33032 | h | 4,2,0 |||
9 | | Hidden_2_5 | 0.87133 | 2.55066 | h | 5,2,0 |||
10 | | Output_setosa | 0.04954 | -1.01308 | o | 1,4,0 |||
11 | | Output_versicolor | 0.86560 | -1.31827 | o | 2,4,0 |||
12 | | Output_virginica | 0.06732 | -0.42084 | o | 3,4,0 |||
----|----------|-------------------|----------|----------|----|----------|--------------|----------|-------
connection definition section :
target | site | source:weight
-------|------|---------------------------------------------------------------------------------------------------------------------
5 | | 4:-1.36576, 3:-1.01049, 2: 0.62411, 1: 0.07838
6 | | 4:-1.49537, 3:-1.41137, 2: 1.26386, 1:-0.73716
7 | | 4: 1.87337, 3: 1.25094, 2:-0.05512, 1:-0.00999
8 | | 4: 1.25223, 3: 1.55905, 2:-1.32439, 1: 0.71672
9 | | 4:-2.56181, 3:-1.92910, 2: 0.45272, 1: 0.24772
10 | | 9: 0.68890, 8:-3.19830, 7:-0.96376, 6: 1.87789, 5: 1.56411
11 | | 9: 2.69797, 8: 1.74343, 7:-2.49599, 6:-2.91350, 5:-0.53523
12 | | 9:-3.50718, 8: 1.59391, 7: 1.75725, 6:-1.66021, 5:-2.50714
-------|------|---------------------------------------------------------------------------------------------------------------------
predictions
targets 1 2 3
1 40 0 0
2 0 43 3
3 0 1 40
predictions
targets 1 2 3
1 10 0 0
2 0 4 0
3 0 0 9
MajorПроблема с пакетом neuralnet
заключается в том, что он создает только простые и очень простые нейронные сети с минимальными настройками. Вышеупомянутый пакет RSNNS
предоставляет некоторые дополнительные функции по сравнению с neuralnet
.
Но если вы хотите попробовать более глубокие сети, я бы предложил вам использовать расширения mxnet
и keras
для Р.