Nshims
New Member
- Joined
- May 28, 2014
- Messages
- 227
- Points
- 18
As I mentioned in the following post https://forum.pokemo... I took a moment to create a neural network perceptron capable of predicting prices for pokémons, based on ivs and whether or not the pokemon is S. Basically it works like a normal multilayer perceptron, the trick is simply how the information is preprocessed and post processed.
At first I told myself that pokemons of a certain category can not exceed a certain price. Immediately we can imagine that there is a lower margin and an upper margin, in this case taking the upper margin as the limit of all possible prices and 0 as the lower margin. As the set of prices is limited and closed theoretically we can say that there is a given price for each pokémon belonging to the category, this amounts to looking for a bijection between all the ivs and all the prices.
But in practice we tend to give rounded prices, almost no one gives a price such as 153,024 Pd for example, so we can speak of injection for the practical part or even non-function in some extreme cases.
Basically what the algorithm will do is to look for a series of linear combinations that could give the answer as close as possible to the expected result.
Here the pokémons that I used for the tests.
The first 10 pokémons serve as training data and the last 3 serves as testing data. Before you ask why there is a pokemon labeled in the test column, let me tell you that all the pokemons are tagged, it's just a different way of doing it.
Also after several trainings I noticed that one of them posed a problem because its price was badly chosen, so I decided to put it in the training data set, it will the act like a anti overfitting since I have not yet set up a system to counter this.
For the rest it was necessary to train several individuals and see what comes out to deduct the best prices for test pokémon.
One thing that stands out is the fact that in the training data the prices are perfectly predicted, which may be a sign of overfitting if we have not put in place a system to counter it, but for the moment it does not cause problems.
We can also see that in the test data the predicted prices are very close to the original prices, taking into account the margin of error for a given set of test data, It is possible to give a range of possible prices for a given pokemon.
Here some other examples trained on the same data.
The results are not bad but can be improved by increasing the amount of correctly labeled training data, also increasing the amount of test data can improve the verification of the quality of the results.
It is a simple example to try to solve a given problem, but the algorithms can be improved and combined to solve more complex problems.
Let me know what you think about.
At first I told myself that pokemons of a certain category can not exceed a certain price. Immediately we can imagine that there is a lower margin and an upper margin, in this case taking the upper margin as the limit of all possible prices and 0 as the lower margin. As the set of prices is limited and closed theoretically we can say that there is a given price for each pokémon belonging to the category, this amounts to looking for a bijection between all the ivs and all the prices.
But in practice we tend to give rounded prices, almost no one gives a price such as 153,024 Pd for example, so we can speak of injection for the practical part or even non-function in some extreme cases.
Basically what the algorithm will do is to look for a series of linear combinations that could give the answer as close as possible to the expected result.
Here the pokémons that I used for the tests.
The first 10 pokémons serve as training data and the last 3 serves as testing data. Before you ask why there is a pokemon labeled in the test column, let me tell you that all the pokemons are tagged, it's just a different way of doing it.
Also after several trainings I noticed that one of them posed a problem because its price was badly chosen, so I decided to put it in the training data set, it will the act like a anti overfitting since I have not yet set up a system to counter this.
For the rest it was necessary to train several individuals and see what comes out to deduct the best prices for test pokémon.
One thing that stands out is the fact that in the training data the prices are perfectly predicted, which may be a sign of overfitting if we have not put in place a system to counter it, but for the moment it does not cause problems.
We can also see that in the test data the predicted prices are very close to the original prices, taking into account the margin of error for a given set of test data, It is possible to give a range of possible prices for a given pokemon.
Here some other examples trained on the same data.
The results are not bad but can be improved by increasing the amount of correctly labeled training data, also increasing the amount of test data can improve the verification of the quality of the results.
It is a simple example to try to solve a given problem, but the algorithms can be improved and combined to solve more complex problems.
Let me know what you think about.