We need a nodejs program based on “[login to view URL]”, to do the following tasks:
- Training-, Run- Analysis,- sections
- Trained brain should be savable and loadable , if there is a saved brain file, use it automatically
- All config should be done in an external JSON config file
o Braintype (priority)
o hidden layers (priority)
o neurons in hidden (priority)
o learning rate (priority)
o iteations (prio)
o log (priority)
o logPeriod (priority)
o PathToTrain File (priority)
o PathToTest File (priority)
o See: [login to view URL]
o See: [login to view URL]
- All input data must be through streaming concept, as training data can be huge, see example on github [login to view URL]
- If there is a backed up brain JSON file, restore it and use that. See [login to view URL]
- Train a new brain, based on the given options by external config JSON file,
o Based on a streaming input of a huge JSON file
I will give you the path to one later on, so you can download it.
o It should be possible to easy switch between the different brain types [login to view URL] provides by naming the method in config:
o Alfter each iteration append to a simple CSV file:
Number of lines in total (always the same for a trainingset)
Number of trades only (Every line where the answer was not “hold”)
The answer itself (sell, buy, hold)
And if it was right or wrong.
o Save the brain
o Optional: “Crossvalidation” should be defiantly an option, however it should also possible to train without “crossvalidation”. Out of this another option is resulting: kfault (default 10). See: [login to view URL]
The background here is that I defiantly work with crossvalidation, however I am not convinced that the crossvalidation they just is the right way to use crossvalidation. I will open a bugreport later on github. However in if I am wrong and [login to view URL] already supports crossvalidation in the right way and I am wrong it would be nice to use that integrated feature. However, this is not priority as I can train myself using crossvalidation without that feature manually, but this takes time and manual effert. I will send later the link to my bugreport.
Very optional: A supercool alternative would be to run the train in “async”, having our own “crossvalidation”.
The number of brains in parallel trained should be the given number in the config var kfault, however this is too much overhead!
This section must be exported as it is will be used by another program.
- Use from external program takes at least the following options
o Path to brain file
o “Line to test”
- It has to return the answer of cause
Analyze Section (automated run section)
This will never get executed from external and is there for a standalone
o If there is not brain, give an error, otherwise use it
o Get all info loaded from config, including the path to the file holding all the data to test.
o Data to test: Stream a JSON file with data to answer a lot of questions.
This is like the training, however we do not train, but test a lot of unseen test data to analyze how good the brain really is.
For each answer it should count
• The number of right results, split in (sell, buy, hold)
• The number of wrong results, split in (sell, buy, hold)
o After all - analyze as follow:
Performance = numOfRight / allAnswers * 100
Hello My Friend. I am glad to work for you. I hope your project is going well. And also i will do my best for your project. Thanks alot