Используя R
и следующий код:
printf <- function(...)print(sprintf(...))
data <- read.csv("https://www.dropbox.com/s/ig4szbkp43kpin1/binary.csv?dl=1", header = TRUE)
data$gre <- (data$gre - min(data$gre)) / (max(data$gre) - min(data$gre))
data$gpa <- (data$gpa - min(data$gpa)) / (max(data$gpa) - min(data$gpa))
data$rank <- (data$rank - min(data$rank)) / (max(data$rank) - min(data$rank))
# Data Partition
set.seed(222)
ind <- sample(2, nrow(data), replace = TRUE, prob = c(0.7, 0.3))
training <- data[ind==1,]
testing <- data[ind==2,]
# Neural Network training
library(neuralnet)
set.seed(333)
n <- neuralnet(admit~gre+gpa+rank,
data = training,
hidden = 1,
err.fct = "ce",
linear.output = FALSE)
plot(n)
params = training[1, -1]
# Prediction 1:
output_A <- compute(n, params)$net.result[1]
# Prediction 2:
in4 <- 0.0455 + (0.82344*params[1]) + (1.35186*params[2]) + (-0.87435*params[3])
out4 <- 1/(1+exp(-in4))
in5 <- -7.06125 +(8.5741*out4)
out5 <- 1/(1+exp(-in5))
output_B = out5[1,1]
printf('Value A: %.5f', output_A)
printf('Value B: %.5f', output_B)
Я создал это Neural Network
:
который эквивалентен фрагменту кода (снова вставлен ниже):
# Prediction 2:
in4 <- 0.0455 + (0.82344*params[1]) + (1.35186*params[2]) + (-0.87435*params[3])
out4 <- 1/(1+exp(-in4))
in5 <- -7.06125 +(8.5741*out4)
out5 <- 1/(1+exp(-in5))
output_B = out5[1,1]
Мой вопрос: есть ли какой-нибудь способ автоматически экспортировать код чуть выше как своего рода функцию, не имеянаписать это вручную?Моя цель - использовать его на PHP
, JavaScript
и т. Д.
Спасибо!