Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main(int argc, char** argv) {
- arma::mat data, labels, prediction;
- size_t HiddenLayerSize, InputLayerSize, error;
- double ClassificationError;
- data.load("snpdata.csv");
- labels = data.col(0);
- data.shed_col(0);
- InputLayerSize = data.n_rows;
- HiddenLayerSize = data.n_rows + (data.n_rows / 2);
- LinearLayer<> linearLayer0(InputLayerSize, HiddenLayerSize);
- RecurrentLayer<> recurrentLayer0(HiddenLayerSize);
- BaseLayer<LogisticFunction> inputBaseLayer;
- LinearLayer<> hiddenLayer(HiddenLayerSize, 1);
- BaseLayer<LogisticFunction> hiddenBaseLayer;
- BinaryClassificationLayer classOutputLayer;
- auto modules = std::tie(linearLayer0, recurrentLayer0, inputBaseLayer,
- hiddenLayer, hiddenBaseLayer);
- RNN<decltype(modules), BinaryClassificationLayer, RandomInitialization,
- MeanSquaredErrorFunction> NN(modules, classOutputLayer);
- SGD<decltype(NN)> opt(NN, 0.01, 100000, 1e-5, true);
- NN.Train(data, labels, opt);
- /*
- NN.Predict(data, prediction);
- error = 0;
- for (size_t i = 0; i < labels.n_rows; i++)
- {
- if (arma::sum(arma::sum(arma::abs(prediction.col(i) - labels.col(i)))) == 0)
- error++;
- }
- ClassificationError = error / (double) labels.n_rows * 100;
- cout << "Classification Error: " << ClassificationError << '\n';*/
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement