[PYTHON] J'ai essayé de prédire les ventes de logiciels de jeux avec VARISTA en me référant à l'article du Codexa

Cette fois, j'aimerais utiliser VARISTA pour générer un modèle qui prédit les ventes de logiciels de jeux. J'ai essayé de construire un modèle de prédiction avec VARISTA en me référant à l'article suivant du Codexa. L'article utilise AWS SageMaker, mais je vais l'essayer avec VARISTA.

J'ai essayé de prédire les ventes de logiciels de jeux avec XGBoost [bloc-notes Amazon SageMaker + formation de modèles + hébergement de modèles]

Cependant, j'ai dû écrire du code en formatant les données, donc je le fais avec Google Colabratory. (Pour le moment, Python est un niveau de connaissance qui a été mordu.)

Temps requis

L'opération réelle est d'environ 10 minutes L'apprentissage dure environ 1 ou 2 minutes au niveau 1 et environ 1,5 heure au niveau 3

Frais encourus

Gratuit avec le compte VARISTA Free

Télécharger les données

Téléchargez à partir de la page suivante de Kaggle. Video Game Sales with Ratings

Description des données contenues dans Kaggle

Cet ensemble de données était un grattage métacritique. Malheureusement, Metacritic ne couvre qu'un sous-ensemble de la plate-forme, il y a donc un manque de données agrégées. De plus, dans certains jeux, les variables décrites ci-dessous sont manquantes.

Critic_score - Un score critique compilé par le personnel de Metacritic. Critic_count --Le nombre de critiques utilisé pour calculer le Critic_score. User_score - Score par les abonnés Metacritic Nombre d'utilisateurs: nombre d'utilisateurs qui ont voté pour un score d'utilisateur Développeur-société de développement de jeux Évaluation - Évaluation ESRB

Gardez donc à l'esprit que les données de vente de tous les jeux sont presque ** manquantes ou non. ** **

Traitement de l'information

Cette fois, je traiterai un peu les données comme l'article auquel j'ai fait référence. Puisque nous avons défini plus d'un million de ventes comme hits, nous ajouterons une nouvelle colonne avec plus d'un million comme Oui et d'autres comme Non

Je n'aime pas vraiment créer un environnement localement, alors j'écris ce code dans Google Colaboratory pour traiter les données.

Colaboratory - Google Colab

import pandas as pd
filename = './sample_data/kaggle/Video_Games_Sales_as_at_22_Dec_2016.csv'
data = pd.read_csv(filename)                               
#Choisir la cible
# Global_Créer y basé sur des ventes de 1 (1 million) ou plus dans les ventes
data['y'] = 'no'
data.iloc[data['Global_Sales'] > 1, 'y'] = 'yes
pd.set_option('display.max_rows', 20)
#Afficher les données
data
#Enregistrez les données traitées dans un nouveau CSV
data.to_csv('sample_data/kaggle/Add_y_Column_Video_Games_Sales.csv')

Vous pouvez voir que ** y ** a été ajouté à la colonne la plus à droite. image.png

Lorsque vous exécutez le code ci-dessus, un fichier appelé "Add_y_Column_Video_Games_Sales.csv" sera généré, alors téléchargez-le.

Télécharger des données vers VARISTA

Cliquez ici pour VARISTA image.png

Créez un nouveau projet dans VARISTA et téléchargez le ** Add_y_Column_Video_Games_Sales.csv ** que vous avez créé. Cette fois, sélectionnez ** y ** pour la colonne à prédire.

Confirmation des données

Le contour des données est le suivant. image.png

Le nombre de sorties semble culminer en 2008-2010. image.png

La plupart des plates-formes sont PS2 et DS, suivies par PS3. Il semble que le smartphone ne soit pas inclus. image.png

La répartition des genres est comme ça. image.png

EA semble être le premier dans le nombre de livres publiés. Je suis content qu'il existe de nombreuses sociétés de jeux japonaises. image.png

Quant à savoir si c'était un succès ou non, c'est une porte assez étroite avec 2 057/16 719 livres. J'avais l'habitude de développer des jeux sur smartphone, mais j'avais l'impression que des millions de hits avaient du capital ou de la chance. De plus, ces données sont une machine grand public, donc c'est difficile. .. image.png

Voir la corrélation

oui (jaune): millions de hits ou plus non (bleu clair): million de coups non atteints

Les plates-formes sont NES et GB % E3% 83% A0% E3% 83% 9C% E3% 83% BC% E3% 82% A4) a un taux de succès élevé. Est-ce parce qu'il n'y avait pas beaucoup d'autres options lorsque ces machines de jeu étaient populaires? .. ?? image.png

Publisher / Developer Puisque je suis japonais, je suis toujours intéressé par Nintendo et Square Enix, mais c'est incroyable que tous les titres que j'ai développés dans ces données soient des millions de hits. Comme vous pouvez l'imaginer à partir de ce graphique, Nintendo est douée pour la planification et le développement, et peut ne pas être très douée pour vendre des jeux développés par d'autres sociétés. image.png image.png

La différence entre Publisher et Developer est que Publisher est la société qui vend et fournit le jeu, et Developer est la société qui développe le jeu. Le développeur peut également être l'éditeur.

Critic_score & Critic_count image.png

image.png

User_score image.png

image.png

Apprentissage

L'apprentissage s'est fait au ** niveau 3 **. Les réglages détaillés des paramètres ont été effectués de cette manière depuis Titanic. L'apprentissage du niveau 1 peut être complété en quelques minutes, mais avec ce réglage, il a fallu un peu plus d'une heure pour trouver un grand nombre de paramètres. image.png

De plus, j'ai désactivé les colonnes (Unnamed0, NA_Sales, EU_Sales, JP_Sales, Other_Sales, Global_Sales) qui sont directement liées aux colonnes prédites de l'ensemble de données. image.png

Vérifiez le résultat

Quand je vérifie le score, ça ressemble à ça.

image.png

La matrice de confusion est affichée comme ceci. En utilisant 103 cas comme données de test de vérification, il semble que 82 cas ont été touchés et 21 cas n'ont pas été touchés. image.png

De plus, cette fois, j'étais en colère que les données d'entraînement soient biaisées. Pour cela, il n'y a pas d'autre choix que d'ajuster la quantité de données en sous-échantillonnant etc., mais j'aimerais essayer ce qui se passe réellement. Je prendrai le temps de recommencer.

image.png

Il semble que la valeur jugée Oui / Non soit également ajustée automatiquement. Dans ce cas, il semble juger OUI s'il dépasse 0,222.

image.png

Comme il n'y a pas de données de test réelles, elles doivent être créées en récupérant les données d'entraînement. Cette fois, je l'ai essayé brièvement, alors j'ai essayé de le vérifier en utilisant les données automatiquement divisées par VARISTA.

Si vous lisez cet article et avez décidé d'utiliser VARISTA, veuillez utiliser le lien ci-dessous! Gagnez 7 $ de crédits pour moi et vous! m (_ _) m

https://console.varista.ai/welcome/jamaica-draft-coach-cup-blend


Article de référence J'ai essayé de prédire les ventes de logiciels de jeux avec XGBoost [bloc-notes Amazon SageMaker + formation de modèles + hébergement de modèles]

Recommended Posts

J'ai essayé de prédire les ventes de logiciels de jeux avec VARISTA en me référant à l'article du Codexa
J'ai essayé d'extraire automatiquement les mouvements des joueurs Wiire avec un logiciel
J'ai essayé de prédire le comportement du nouveau virus corona avec le modèle SEIR.
J'ai essayé de prédire la présence ou l'absence de neige par apprentissage automatique.
J'ai essayé d'automatiser la mise à jour de l'article du blog Livedoor avec Python et sélénium.
J'ai essayé de visualiser les données de course du jeu de course (Assetto Corsa) avec Plotly
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai essayé de corriger "J'ai essayé la simulation probabiliste du jeu de bingo avec Python"
J'ai fait apprendre à RNN la vague de péché et j'ai essayé de prédire
J'ai essayé d'agrandir la taille du volume logique avec LVM
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai essayé de vérifier l'identification du locuteur par l'API de reconnaissance du locuteur d'Azure Cognitive Services avec Python. # 1
J'ai essayé de vérifier l'identification du locuteur par l'API de reconnaissance du locuteur d'Azure Cognitive Services avec Python. # 2
J'ai essayé de prédire le nombre de personnes infectées au niveau national de la nouvelle corona avec un modèle mathématique
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé de trouver l'itinéraire optimal du pays des rêves par recuit (quantique)
J'ai essayé de vérifier et d'analyser l'accélération de Python par Cython
J'ai essayé d'analyser la négativité de Nono Morikubo. [Comparer avec Posipa]
J'ai essayé de rationaliser le rôle standard des nouveaux employés avec Python
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
J'ai essayé l'histoire courante de l'utilisation du Deep Learning pour prédire la moyenne Nikkei
J'ai essayé de vérifier le résultat du test A / B avec le test du chi carré
J'ai essayé de prédire l'année prochaine avec l'IA
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé de prédire la survie du Titanic avec PyCaret
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé de prédire la détérioration de la batterie lithium-ion en utilisant le SDK Qore
J'ai essayé de prédire les chevaux qui seront dans le top 3 avec LightGBM
J'ai essayé de visualiser facilement les tweets de JAWS DAYS 2017 avec Python + ELK
J'ai essayé de prédire l'évolution de la quantité de neige pendant 2 ans par apprentissage automatique
J'ai essayé de récupérer les données de l'ordinateur portable en le démarrant sur Ubuntu
L'histoire de la fabrication de soracom_exporter (j'ai essayé de surveiller SORACOM Air avec Prometheus)
J'ai essayé de créer un modèle avec l'exemple d'Amazon SageMaker Autopilot
J'ai essayé d'envoyer automatiquement la littérature du nouveau virus corona à LINE avec Python
J'ai essayé de prédire le nombre de personnes infectées par le virus corona en tenant compte de l'effet de s'abstenir de sortir
J'ai essayé d'entraîner la fonction péché avec chainer
J'ai essayé de résumer la forme de base de GPLVM
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de prédire le match de la J League (analyse des données)
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé de classer les voix des acteurs de la voix
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé de faire quelque chose comme un chatbot avec le modèle Seq2Seq de TensorFlow
J'ai essayé de prédire la victoire ou la défaite de la Premier League en utilisant le SDK Qore
J'ai essayé de visualiser les caractéristiques des nouvelles informations sur les personnes infectées par le virus corona avec wordcloud
J'ai essayé de comparer la vitesse de traitement avec dplyr de R et pandas de Python
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
J'ai essayé de prédire et de soumettre les survivants du Titanic avec Kaggle