What is an accurate way to evaluate chess positions? I've been interested for a while about a computer chess AI algorithms (and got the chance to work on one at some point) like Minimax, and as the core component of these algorithms is the so-called evaluation function to determine what is a good board configuration, and what is a bad one.

In other terms, given a configuration of your Chess board, how do you determine that it is to your advantage, and with what degree of confidence?

For example:


If you own the center, this is rather favorable.
If you have more pieces than your opponent, this is rather favorable.
If you lost your Queen, this is rather not favorable.
If you have a pawn that is close to being promoted this is favorable.
...


So I would like to ask for some advice on how to create a good evaluation function, based on some expert knowledge about the Chess game in general. And if possible, a degree of favorability (say between 1 being very not favorable, to 100 being extremely favorable).

The idea in the end is to be able to create an algorithm that will look in the tree of possibilities up to a certain depth and evaluate what the most favorable configuration for next move is (taking into account several moves in the future) based on what is favorable to the player and not favorable to the opponent. But without a good evaluation function the algorithm is nothing.
Here's a good starting point. Material comparison is key (and easy), then you can tune that to consider positional aspects like open ranks/files/diagonals, pawn structure, etc.

https://www.chessprogramming.org/Evaluation