# Simple machine learning example for kids by Giles Booth @blogmywiki # https://youtu.be/h-Arrtg6x7c # http://www.suppertime.co.uk/blogmywiki/2021/09/simple-machine-learning-abstraction/ # using decimals not integers so we can see it improve, thanks @veryalien! bonds = [5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0,5.0] import random human_wins = 0 machine_wins = 0 turns = 0 print('Train a machine to learn its number bonds to 10!') print('If I give you a number, you tell me what you add to it to make 10') while True: number = random.randint(0,9) print() print(bonds) # added so you can see it improve its data set print('Number is ' + str(number)) print('Machine says the bond to 10 is ' + str(round(bonds[number]))) if number + round(bonds[number]) == 10: print('Machine is right!') machine_wins += 1 else: print('Machine is wrong, more training data needed.') human_answer = input('Give me your answer 1-10: ') if human_answer == 'quit': break elif human_answer == 'reset': human_wins = 0 machine_wins = 0 turns = 0 elif number + int(human_answer) == 10: print('Correct!') human_wins += 1 bonds[number] = (bonds[number] + int(human_answer)) / 2 print('Now machine thinks it is ' + str(round(bonds[number]))) else: print('Wrong! Are you trying to mislead a poor machine?') turns += 1 print('Human score ' + str(human_wins) + ' out of ' + str(turns)) print('Machine score ' + str(machine_wins) + ' out of ' + str(turns))