[PYTHON] Victoire promise ("Hobby x Machine Learning")

introduction

Ceci est le premier message. J'écrirai le matériel que j'ai préparé pour LT dans l'entreprise. (Je ferai de mon mieux pour continuer à produire à l'avenir ...)

table des matières

  1. Préface / Objectif
  2. Flux global du système
  3. Détails
  4. Annonce des résultats pratiques
  5. Conclusion
  6. TODO

1. 1. Préface / but

Titre: ** "Hobby x Machine Learning" **

C'est un grand titre, Mon hobby est ** Pachislot ** ..

Qu'est-ce que Pachislot?

C'est une machine à sous installée dans un magasin de pachinko, et est nommée "machine de jeu tournante" par la loi. On l'appelle un pachislot car c'est une machine à sous dans un magasin de pachinko. Il y a un paramètre appelé ** 6 étapes (*) ** dans le pachislot, et le commis du pachinko le change manuellement après la fermeture du magasin.

  • Tous les modèles n'ont pas 6 niveaux.

J'expliquerai avec un exemple concret. "Go Go Juggler KK (Kita Denshi)" image.png (Je pense que beaucoup d'entre vous connaissent ce visage.)

Les spécifications de base de ce support sont les suivantes. image.png

Comme je l'ai expliqué plus tôt, il y a un réglage sur la base de la fente, Il est réglé sur environ ** 6 niveaux **. Et au fur et à mesure que le réglage augmente, les spécifications de la remise de la machine augmenteront également.

Ce paramètre est ** modifié manuellement par un employé de la boutique pachinko tous les soirs **.

Donc je pensais.

Si vous le définissez manuellement, La ** loi ** n'est-elle pas née sans le savoir ...? image.png

Alors, le but

Collectez des données de pachislot, utilisez l'apprentissage automatique pour guider les règles et assurez-vous de gagner.

2. Flux de l'ensemble du système

Pour expliquer complètement ce système, il a la composition suivante. J'expliquerai chaque étape par étape. image.png

3. 3. Détails

① Collecte de données

Ce système est implémenté en utilisant Python.

environnement Windows10 + Anaconda3

** Bibliothèque utilisée **

** La période de collecte ** 2019/7/15 - 2019/9/14

** Données réellement collectées **

Année Mois journée 曜journée Supporter Supporter番号 BIG REG Probabilité composite Jeu cumulatif
2019 7 16 Feu Hana Hana Houou EX-30-2 1353 12 7 1/199.2 3784
2019 7 16 Feu Hana Hana Houou EX-30-2 1355 12 8 1/121.9 2438
2019 7 16 Feu Hana Hana Houou EX-30-2 1356 4 1 1/338.4 1692
2019 7 16 Feu Hana Hana Houou EX-30-2 1357 9 9 1/176.7 3179
2019 7 16 Feu Hana Hana Houou EX-30-2 1358 2 1 1/148.4 445

■ Point d'achoppement

Le site où vous pouvez voir les informations sur les boules de pachinko n'était accessible que depuis votre smartphone.

Spécifiez l'appareil dans l'option chromedriver ** Resolve **

mobile_emulation = { "deviceName": "Nexus 5" }
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome("C:/chromedriver.exe", desired_capabilities = chrome_options.to_capabilities())
driver.get("URL de Pachiya")

② Apprentissage automatique

Utilisez "Random Forest" de scikitlearn.

Cette fois, j'ai arrêté les données et appris en développant le jongleur. Prédisez combien de paramètres la plateforme aura ce jour-là à partir du modèle entraîné! !!

Prétraitement qui n'est pas du tout intelligent

#Après avoir joué avec le dataframe en désordre,

#Devinez le paramètre à partir de la probabilité (on l'appelle la valeur de supposition même s'il s'agit de la variable objective...)
tmp = line[1][8].split("/")
hoge = float(tmp[0]) / float(tmp[1])
if hoge >= my_pro[5]:
   hoge_np = np.append(hoge_np, 5)
elif hoge >= my_pro[4]:
   hoge_np = np.append(hoge_np, 4)
elif hoge >= my_pro[3]:
   hoge_np = np.append(hoge_np, 3)
elif hoge >= my_pro[2]:
   hoge_np = np.append(hoge_np, 2)
elif hoge >= my_pro[1]:
   hoge_np = np.append(hoge_np, 1)
else:
   hoge_np = np.append(hoge_np, 0)

#Il y a beaucoup d'autres dégâts...

Si vous jouez avec, jetez-le dans le modèle d'apprentissage

#Séparé pour la formation et l'évaluation
x_train, x_test, y_train, y_test = model_selection.train_test_split(x, y, test_size=0.2)

#Apprentissage
model = RandomForestClassifier()
model.fit(x_train, y_train)

③ Pratique

■ Journée de pratique 2019/10/5 (samedi)

■ Emplacement Un certain magasin de pachinko


#### Cliquez ici pour les résultats du destin prédit! !! !! ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/443963/d14d46a6-96b7-4682-4a4a-b6231c44e941.png)

Vous pouvez définitivement gagner en frappant le Juggler 1257 (réglage 5 !!)! !!

Alors

image.png

Quatre. Annonce des résultats pratiques

Quand je vais frapper d'habitude, j'emmène environ trois personnes avec Sakichi, Je peux gagner cette fois, alors je suis allé m'entraîner avec Satoshi! !!

Le résultat est ...! !! !!

image.png



        ↓

image.png

Oui, j'ai pu amener deux Sakichi avec brio.

Cinq. Conclusion

Pas si gentil.

6.TODO Sur la base des points de réflexion suivants, nous ferons le point pour pouvoir définitivement gagner.

Visez un millionnaire! !!


Merci de rester avec nous jusqu'à la fin.

Réflexions

-Les variables explicatives ne sont pas plausibles. -Les réglages de la veille et les réglages des supports gauche et droit doivent être pris en compte. -Vous devez observer la tendance du magasin. -Le nombre de données n'est pas grand en premier lieu. -Je ne sais pas s'il y a une tendance. -Même si vous pouvez deviner les paramètres, vous ne pouvez pas toujours gagner. ** (Ténèbres de Pachislot) **

Recommended Posts

Victoire promise ("Hobby x Machine Learning")
Apprentissage automatique
Classification EV3 x Pyrhon Machine Learning Partie 3
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
Exemple d'apprentissage automatique
EV3 x Pyrhon Machine Learning Partie 1 Construction de l'environnement
EV3 x Python Machine Learning Partie 2 Régression linéaire
Résumé du didacticiel d'apprentissage automatique
Apprentissage automatique sur le surapprentissage
Apprentissage automatique ⑤ Résumé AdaBoost
Régression logistique d'apprentissage automatique
Machine de vecteur de support d'apprentissage automatique
Étudier l'apprentissage automatique ~ matplotlib ~
Régression linéaire d'apprentissage automatique
Mémo du cours d'apprentissage automatique
Bibliothèque d'apprentissage automatique dlib
Apprentissage automatique (TensorFlow) + Lotto 6
Apprenez en quelque sorte le machine learning
Bibliothèque d'apprentissage automatique Shogun
Défi de lapin d'apprentissage automatique
Introduction à l'apprentissage automatique
Windows10 (x64) Créer nativement un environnement d'apprentissage automatique
Apprentissage automatique: k-voisins les plus proches
Qu'est-ce que l'apprentissage automatique?
Modèle d'apprentissage automatique prenant en compte la maintenabilité
L'apprentissage automatique appris avec Pokemon
Ensemble de données pour l'apprentissage automatique
Prétraitement japonais pour l'apprentissage automatique
Apprentissage automatique dans Delemas (s'entraîner)
Une introduction à l'apprentissage automatique
Techniques liées à l'apprentissage automatique / à la classification
Bases de l'apprentissage automatique (mémoire)
Un débutant en apprentissage automatique a essayé la RBM
Apprentissage automatique avec Python! Préparation
Bloc-notes de ressources d'étude d'apprentissage automatique
Apprentissage automatique ② Résumé Naive Bayes
Comprendre l'apprentissage automatique ~ régression de crête ~.
Résumé de l'article sur l'apprentissage automatique (auto-écrit)
À propos de la matrice mixte d'apprentissage automatique
Apprentissage automatique: forêt supervisée - aléatoire
Mémo pratique du système d'apprentissage automatique
Démineur d'apprentissage automatique avec PyTorch
Créer un environnement d'apprentissage automatique
Programmation Python Machine Learning> Mots-clés
Algorithme d'apprentissage automatique (perceptron simple)
Utilisé en EDA pour l'apprentissage automatique
Importance des ensembles de données d'apprentissage automatique
Apprentissage automatique et optimisation mathématique
Machine Learning: Supervisé - Support Vector Machine
Machine learning supervisé (classification / régression)
J'ai essayé d'implémenter Extreme Learning Machine
Commencer avec l'apprentissage automatique Python
Algorithme d'apprentissage automatique (machine vectorielle de support)
Super introduction à l'apprentissage automatique
4 [/] Quatre arithmétiques par apprentissage automatique
Apprentissage automatique ④ Résumé du K-plus proche voisin
Pokemon Machine Learning Nth décoction
Essayez le machine learning à la légère avec Kaggle
Modèle d'empilage d'apprentissage automatique (retour)