WIP Flag trainging using Core ML
Objective: investigate machine learning to present flag game challenges that are appropriate for the specific player.
Present a flag challenge to any given player in gradual progression of difficulty, easy country flags first and more difficult flags as the user progresses.
- git clone git@github.com:mschmulen/CountryTrainingKit.git
- open
DemoApp
- run
DemoApp
- experiment with updating the CoreML
CountryFlagGameRegressor.mlmodel
via play events from the game
- CreateML project:
CreateMLTools\CountryTabularRegressor.mlproj
- alternate training playground:
CreateMLTools\CountryTabularRegressorPlayground.playground
- resultant .ml model used in the appication:
CountryFlagGameRegressor.ml
playerRegion
: Players current device region setting (US
,FR
,MX
,CA
, ... )playerLanguage
: Players current device language setting (en
,es
,fr
, ... )playerNumberOfDaysOld
: Age of the player in number of days when the player played the gamenumberOfGuesses
: Number of guesses it took for the player to get the correct answer 1...6countryFlagEmoji
: Flag emoji of the countrydeviceAlternateLanguage
: If the user has alternate languages available take the first one (en
,es
,fr
, ... ) ornone
deviceIdentifierForVendor
: IDFV of the Players current device
ML Target (outputs) :
numberOfGuesses
ML Fatures (inputs) :
playerRegion
playerLanguage
playerNumberOfDaysOld
countryFlagEmoji
deviceAlternateLanguage
Notes about ML Algorithms and Metrics:
How much each prediction varied from the actual result (squaring + calculating the mean of all the squared errors + square rooting the result )
The lower the better but we want ~< 1.1. meaning the average model was able to predict the suggested accurate numberOfGuesses
with an error of only 1.1 guess.
TODO
- Validation, Root Mean Square Error :
- Validation, Maximum Error :
- Testing, Root Mean Square Error :
- Testing, Maximum Error :
-
Using the Create ML project:
-
Using the Playground:
Updating the CountryFlagGameRegressor.ml
model