Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const synaptic = require("synaptic");
- // input:
- // hot: 0 - 10
- // crazy: 0 - 10
- //
- // output:
- // no-go: 0/1
- // danger-zone: 0/1
- // fun-zone: 0/1
- // date-her: 0/1
- // marriage-material: 0/1
- // unicorns: 0/1
- // tranny: 0/1
- let generator = () => {
- let crazy = Math.random() * 10;
- let hot = Math.random() * 10;
- let noGo = 0;
- let dangerZone = 0;
- let funZone = 0;
- let dateHer = 0;
- let marriageMaterial = 0;
- let unicorns = 0;
- let tranny = 0;
- if(hot < 5) {
- noGo = 1;
- } else if(hot >= 5 && hot < 8){
- if(crazy > hot){
- dangerZone = 1;
- } else {
- funZone = 1;
- }
- } else {
- if(crazy < 4){
- tranny = 1;
- } else if(crazy <= 4.5) {
- unicorns = 1;
- } else if (crazy < 5) {
- marriageMaterial = 1;
- } else if (hot < crazy) {
- dateHer = 1;
- } else {
- dangerZone = 1;
- }
- }
- if(crazy > hot) noGo = 1;
- return {
- input: [
- hot / 10,
- crazy / 10,
- ],
- output: [
- noGo,
- dangerZone,
- funZone,
- dateHer,
- marriageMaterial,
- unicorns,
- tranny
- ]
- }
- }
- let nn = {
- results: undefined,
- perceptron: undefined,
- train: () => {
- nn.perceptron = new synaptic.Architect.Perceptron(2, 7, 7);
- const trainer = new synaptic.Trainer(nn.perceptron);
- let trainingSet = new Array(10000)
- trainingSet = trainingSet.fill(undefined).map(generator);
- console.log(trainingSet);
- return trainer.train(trainingSet, {
- iterations: 100000,
- error: .001,
- rate: 1
- });
- },
- validate: () => {
- const outputs = [];
- outputs.push(generator());
- return outputs;
- }
- }
- console.log(nn.train());
- console.log(nn.validate());
Add Comment
Please, Sign In to add comment