This is a machine learning AI that plays blackjack, based on some code I found for Blackjack that I no longer have the link for (might have been taken down).
My version added a 4-deck shoe that is reset after 70% of cards are removed as well as variable bet sizing to allow the model to count cards.
This version also includes the option for the agent to double down (double their bet amount in exchange for one more card).
In the future, I would probably train the machine to pick optimal bet sizes as well as include splitting. However, at the moment I have other projects I prefer to be working on so I think I'll leave this for someone else :P