He realizado la creación de un sistema de IA para aprendizaje de la decisión de compra para el juego del Hotel. Se trata de decidir si se compra o no en la casilla de compra, y predecir cual de las propiedades es mejor comprar.
Programa generador de partidas
Generador de partidas
En primer lugar he tenido que realizar una generador de partidas del juego del Hotel, para alimentar a la IA. Posteriormente he creado también un jugador IA para comparar los resultados obtenidos tras el aprendizaje de la IA.
Generador de partidas aleatorio (juego Hotel, 4 jugadores):
Dataset
El conjunto de datos utilizado es el dataset de 500 partidas, pero se ha probado progresivamente de 10, 100, 500, 1000. No teniendo apenas diferencia en el aprendizaje entre el de 500 a 1000 partidas.
10 partidas - 100 partidas - 500 partidas - 1000 partidas
Programa de IA
Tras alimentar con el dataset y realizar el EDA correspondiente, he procedido a probar los modelos predictivos de IA que podrían ser más recomendables debido a la casuística en la que nos encontramos. Tras descartar, los que dabamos valores totalmente fuera de lugar, han sido: Adaboost, Naives Bayes, Decision Tree, Random Forest, XGBoost y 3 modelos diferente de deep learning (LSTM, Neuronal básica, Neuronal profunda).
Evaluación y resultados
Modelo predictivo | Tasa acierto | Tase error * | Accuracy |
Naives Bayes (Smooth 1e-10) | 66% | 40% | 0.66662 |
Naives Bayes (Smooth 1e-7) | 91% | 75% | 0.90729 |
Naives Bayes (Smooth 1e-11) | 65% | 40% | 0.65114 |
Adaboost | 2% | 100% | 0.96112 |
Decision Tree | 2% | 63% | 0.96113 |
Adaboost | 2% | 100% | 0.96011 |
Adaboost | 2% | 78% | 0.95977 |
*en los diferenetes a ‘no compra’, es decir en la elección de la propiedad
Para ver los detalles de la evaluación y el programa de IA que contiene los resultados en :
Jugadores vs IA
El resultado es que gana la IA entre un 40%-47% de las veces.
Para ver el programa que evalua la partida de jugadores aleatorios vs IA:
Los resultado de las partidas se encuentran aquí:
10 partidas - 100 partidas
Programa de predicción
He realizado en flask el programa de predicción, importando el modelo ya entrenado con pickle y creado un formulario web para la introducción de los datos necesarios para la predicción.
Aplicación web - https://vps.rarcos.com:10446/
Si quieres ver el resultado de todo, te recomiendo visites:
Repositorio con el contenido
Repositorio - Generador - Prog. IA - Jugadores vs IA