Привет! С возвращением, молодой специалист по данным❤

Искусственная нейронная сеть (ИНС) - это сеть групп небольших процессоров, моделируемых на основе поведения человеческих нейронных сетей (Википедия). Алгоритм ИНС родился из идеи психологов Уоррена МакКаллоха и Уолтера Питтса в 1943 году, которая описывает, как нейронная сеть соединяется с электронными сетевыми устройствами. В мире сейсморазведки довольно широко применяются алгоритмы ИНС, включая идентификацию шума, оценку вейвлетов, анализ скорости, анализ поперечных волн, рефлектор автосопровождения, прогнозирование углеводородов, определение характеристик коллектора и т. Д. Проще говоря, архитектуру ИНС можно описать следующее :

Применение ИНС с набором данных для рыбалки с использованием пакета nnet

Набор данных о рыбалке - это данные о рыбалке в США с несколькими переменными, в том числе:
• Режимы: режимы отдыха, есть пляж, пирс, лодка и чартер
• Цена / Цена: Цена для выбранной альтернативы
• Catch / Catch: коэффициент улова для выбранных вариантов
• Проверить: цена в режиме на пляже
• Ppier: цена в режиме пирса
• Pboat: цена в режиме частной моторной лодки
• Pcharter: цены для режима аренды лодки
• Cbeach: коэффициент улова для режима пляжа
• Cpier: коэффициент улова для режима пирса
• Cboat: коэффициент улова для режима частной лодки
• Чартер : Коэффициент улова для режима чартерной лодки
• Доход: размер дохода.

Из данных о вариантах любительской рыбалки мы будем использовать следующие переменные:
1. Режим как независимая переменная (Y)
2. Переменные цены, улова и дохода как зависимая переменная (X)

В качестве цели используются четыре типа режимов: режим рыбалки, пляж (1), лодка (2), чартер (3) и пирс (4).

- - - - - - - - - - Перейдем к руководству! - - - - - - - - - -

  1. Отсортируйте данные по режиму в Excel
  2. Активация пакета и ввод данных
library("nnet")
fishing<- read.csv("/cloud/project/Fishing.csv") 
dim(fishing)
> dim(fishing)
[1] 1182     13
## The data consists of 1182 columns and 13 lines.

3. Предварительная обработка данных

Прежде всего, мы должны выбрать переменные, которые мы будем использовать. В этом примере мы используем переменную режима в качестве независимой переменной (Y), а зависимой переменной является цена, улов и доход. Затем переменная, для которой был изменен тип данных, вводится в новый фрейм данных.

mode<- factor(data$mode)
price <- as.numeric(data$price) 
catch<- as.numeric(data$catch)
income<- as.numeric(data$income)
fishing<- data.frame(mode, price, catch, income)

4. Разделение обучения и тестирования данных

Данные будут разделены на 50% данных обучения и 50% данных тестирования в зависимости от номера каждого режима, где распределение данных обучения и тестирования основано на режиме, пляжный режим был взят 67 из 134 для данных обучения, режим лодки был взят 209 из 418 для обучающих данных, чартерный режим был взят 226 из 452 для обучающих данных, а режим пирса был взят 89 из 178 для обучающих данных, остальное - это данные тестирования. Последовательность данных и тестовое распределение выполняются случайным образом, поэтому ноутбуки нередко могут отличаться в результатах.

sampel   <-   c(sample(1:134,67),sample(135:552,209),   sample(553:1004,226), sample(1005:1182,89))
sampel
fishing.train <-fishing[sampel,] fishing.test<-fishing[-sampel,]

5. Машина ANN с пакетом «nnet»

Пакет nnet на r можно использовать для создания ИНС, чтобы увидеть точность модели и сделать прогнозы по входным данным, которые будут классифицированы позже.

fishing1<-nnet(mode~.,data=fishing.train,size=5, decay=5e-4, maxit=200)

Файл ‘~. «Команда используется для ввода всех независимых переменных, т.е. команда« nnet »запускается с последовательностью данных. Размер описывает количество узлов, которые будут использоваться в скрытом слое, в этом случае используются 5 узлов. Затухание показывает, насколько быстро он уменьшается при градиентном спуске. Maxit - это максимальная итерация, которая должна быть выполнена, в этом случае максимальная итерация, которая должна быть выполнена, составляет 200 итераций.

На основе модели выше можно объяснить, что мы структурировали сеть ИНС с 3 входами, 5 скрытыми слоями и 4 выходами с весом 44. Есть 43 переменных, которые необходимо ввести, это цена, улов и доход, чтобы произвести целевой результат, а именно режим. Для более подробной информации вы можете увидеть структуру сети на картинке ниже:

На графике мы видим, что эта сеть имеет 3 нейрона / входа из входного слоя, где каждый входной узел представляет используемые переменные, а именно цену, улов и доход. Затем есть один скрытый слой, который имеет 5 нейронов / узлов и имеет 4 узла в выходном слое или 4 выхода, а именно пляж, лодка, чартер и пирс. Нейроны, показанные выше B1 и B2, представляют собой смещения, которые имеют значение для каждого нейрона. Линии, соединяющие каждый нейрон, представляют собой синапс, который имеет собственный вес (видно на графике).

Секретные новые данные

После получения модели мы пытаемся делать прогнозы с помощью модели, полученной с использованием новых данных, состоящих из:
Цена = 50,32
Улов = 0,0451
Доход = 4583,332
По сформированным новым данным мы увидим, является ли выбор рекреационного режима рыбалкой.

price <- 50.32
catch<- 0.0451
income<- 4583.332
fishing.baru <- data.frame(price, catch, income) prediksi <- predict(fishing1, fishing.baru)

По результатам прогнозирования новых данных, которые сформированы с использованием программного обеспечения R, полученная вероятность для пляжного режима составляет 0,0517 или 5,17%, значение вероятности для режима лодки составляет 0,1954 или 10,95%, для чартерного режима значение вероятности составляет 60,79. %, а режим пирса - 7,31%.

Таким образом, можно сделать вывод, что выбор режима любительской рыбалки с ценой = 50,32, уловом = 0,0451 и доходом = 4583,332 введен в чартерном режиме, который имеет наибольшее значение вероятности среди других режимов 0,6797 или 60,79%.

На этом все о кластере ANN на сегодня, увидимся в моем следующем посте! 😉