[PYTHON] Le premier débutant en programmation à essayer une analyse de données simple avec programmation

Excuse je n'ai pas mis à jour

La mise à jour a été retardée. Il y a plusieurs raisons (ou excuses), mais je pense que la plupart du temps, je n'ai pas écrit beaucoup de code. Au début de la nouvelle année, le nombre de cours et de devoirs s'est un peu calmé, et en même temps, je vagabondais dans mon esprit, pensant à mon travail de fin d'études et à mon cheminement de carrière après l'obtention du diplôme, donc je ne bougeais pas beaucoup. J'ai donc mis à jour mon blog tous les jours, mais mon impression honnête était qu'il n'y avait pas assez de contenu pour écrire en Qiita. Je suis encore un peu perdu, mais pour le moment, mon travail de fin d'études est décidé et je travaille dur pour y arriver.

J'ai appris un peu de python en classe

Pendant le cours, j'ai joué avec des données sur le cloud. J'ai également découvert un site incroyable appelé Kaggle. C'est la première fois que je l'ai essayé en prenant moi-même des données de Kaggle après le cours et en les vérifiant.

Obtenir des données de kaggle

https://www.kaggle.com/unsdsn/world-happiness#2019.csv Je pensais pouvoir voir différentes corrélations, alors j'ai choisi ceci.

Monter à partir de Google Drive

from google.colab import drive
drive.mount('/content/drive')

Importez à l'avance le fichier CSV requis sur Google Drive

Importation et acquisition de données de bibliothèques éventuellement nécessaires

import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("/content/drive/My Drive/2019.csv")

J'ai été impressionné par le fait qu'il existe tant d'autres bibliothèques!

Vérifiez le nombre de données et la présence de valeurs manquantes

df.count()
Overall rank 156
Country or region 156
Score 156
GDP per capita 156
Social support 156
Healthy life expectancy 156
Freedom to make life choices 156
Generosity 156
Perceptions of corruption 156
Healthy life expectancy 156

Nombre de données 156, aucune valeur manquante Si je ne fais pas cela, je ne sais pas s'il faut afficher toutes les données ou seulement les premières, alors je l'ai essayé. Je voulais également éviter les données avec de nombreuses valeurs manquantes car cela semblait déroutant. (Je pense que nous devons relever le défi à l'avenir, mais pour le moment, c'est la première fois)

Essayez d'afficher uniquement les 20 premiers

df.head(20)
Overall rank Country or region Score GDP per capita Social support Healthy life expectancy Freedom to make life choices Generosity Perceptions of corruption
1 Finland 7.769 1.340 1.587 0.986 0.596 0.153 0.393
2 Denmark 7.600 1.383 1.573 0.996 0.592 0.252 0.410
3 Norway 7.554 1.488 1.582 1.028 0.603 0.271 0.341
4 Iceland 7.494 1.380 1.624 1.026 0.591 0.354 0.118
5 Netherlands 7.488 1.396 1.522 0.999 0.557 0.322 0.298
6 Switzerland 7.480 1.452 1.526 1.052 0.572 0.263 0.343
7 Sweden 7.343 1.387 1.487 1.009 0.574 0.267 0.373
8 New Zealand 7.307 1.303 1.557 1.026 0.585 0.330 0.380
9 Canada 7.278 1.365 1.505 1.039 0.584 0.285 0.308
10 Austria 7.246 1.376 1.475 1.016 0.532 0.244 0.226
11 Australia 7.228 1.372 1.548 1.036 0.557 0.332 0.290
12 Costa Rica 7.167 1.034 1.441 0.963 0.558 0.144
13 Israel 7.139 1.276 1.455 1.029 0.371 0.261 0.082
14 Luxembourg 7.090 1.609 1.479 1.012 0.526 0.194 0.316
15 United Kingdom 7.054 1.333 1.538 0.996 0.450 0.348 0.278
16 Ireland 7.021 1.499 1.553 0.999 0.516 0.298 0.310
17 Germany 6.985 1.373 1.454 0.987 0.473 0.160 0.210
19 United States 6.892 1.433 1.457 0.874 0.454 0.280
20 Czech Republic 6.852 1.269 1.487 0.920 0.457 0.046 0.036

Le Japon n'est pas inclus

Montrons grossièrement ce qui semble nécessaire

df.describe()
Overall rank Score GDP per capita Social support Healthy life expectancy Freedom to make life choices Generosity Perceptions of corruption
count 156.000000 156.000000 156.000000 156.000000 156.000000 156.000000 156.000000
mean 78.500000 5.407096 0.905147 1.208814 0.725244 0.392571 0.184846
std 45.177428 1.113120 0.398389 0.299191 0.242124 0.143289 0.095254
min 1.000000 2.853000 0.000000 0.000000 0.000000 0.000000 0.000000
25% 39.750000 4.544500 0.602750 1.055750 0.547750 0.308000 0.108750
50% 78.500000 5.379500 0.960000 1.271500 0.789000 0.417000 0.177500
75% 117.250000 6.184500 1.232500 1.452500 0.881750 0.507250 0.248250
max 156.000000 7.769000 1.684000 1.624000 1.141000 0.631000 0.566000

Est-ce simplement la nature des données? Je peux comprendre comment.

Essayez de trouver le coefficient de corrélation entre le score (bonheur) et le soutien social (bien-être social)


#Préparation de la bibliothèque
import numpy as np
import pandas as pd

#Préparation du jeu de données

##Bonheur de tableau
happy = df["Score"]

##Organiser la protection sociale
social = df["Social support"]

#Obtenez le coefficient de corrélation!
correlation = np.corrcoef(social, happy)
print(correlation)

[[1. 0.77705779] [0.77705779 1. ]]

Il est sorti ~~ Puisque le coefficient de corrélation est de 0,7, le bien-être social a une forte corrélation avec le bonheur! !!

Je vais publier une carte thermique


#Préparation de la bibliothèque
import pandas as pd
import numpy as np

#Vous devriez pouvoir obtenir le coefficient de corrélation entre les colonnes!
corr_df =df.corr()
print(corr_df)

Overall rank ... Perceptions of corruption Overall rank 1.000000 ... -0.351959 Score -0.989096 ... 0.385613 GDP per capita -0.801947 ... 0.298920 Social support -0.767465 ... 0.181899 Healthy life expectancy -0.787411 ... 0.295283 Freedom to make life choices -0.546606 ... 0.438843 Generosity -0.047993 ... 0.326538 Perceptions of corruption -0.351959 ... 1.000000

[8 rows x 8 columns]

Je suis désolé, c'est difficile à voir, je suis absent pour le moment!

#Préparation de la bibliothèque
import seaborn as sns
sns.heatmap(corr_df, cmap= sns.color_palette('cool', 5), annot=True,fmt='.2f', vmin = -1, vmax = 1)
スクリーンショット 2020-02-07 0.46.40.jpeg

J'ai oublié de dépasser complètement le classement général, mais j'ai réussi à l'obtenir!

J'étudierai pour moi dans le futur

Impressions de la classe

J'ai toujours été intéressé par python. C'était un nombre limité de leçons, 4 fois au total, mais c'était intéressant d'apprendre diverses choses sur les «données», pas seulement sur Python. Le reste était purement amusant. Je me souviens avoir fait un peu de statistiques à SPSS lorsque j'étais étudiant diplômé. Je n'ai pas utilisé de statistiques dans ma thèse de maîtrise, donc je n'y ai abordé qu'un peu, mais c'était purement intéressant à l'époque également. Je me suis souvenu de cette époque où j'étais jeune lol

Il y a beaucoup de choses que je veux essayer

Pour le moment, c'était ma première fois, alors j'ai essayé grossièrement sans penser aux choses profondes. Au lieu de penser à des statistiques strictes, essayez simplement de comprendre ou de visualiser. Si vous regardez les spécialistes, je pense qu'il y a beaucoup de choses à faire. Il y a beaucoup de choses que j'aimerais faire avec python, telles que l'analyse factorielle, l'analyse des composants principaux et l'analyse logistique que j'avais l'habitude de faire avec SPSS. Je n'ai pas pu le faire du tout faute de temps et de connaissances pendant le cours ...

Essayez-le régulièrement

Le cours lui-même est terminé, mais en même temps, j'ai senti le potentiel de l'apprentissage automatique, et en même temps, j'ai réalisé que j'avais un faible sentiment d'être dans cette industrie, "je vais avoir un langage essentiel dans le futur!" Je suis sûr que ce n'est pas seulement des choses amusantes ou intéressantes pendant mes études, mais à l'avenir, j'aimerais étudier autant que possible. Je ne prévois pas d'inclure l'apprentissage automatique dans le produit que je fabrique maintenant, alors que puis-je faire dans un cadre différent du travail de fin d'études complet? Il semble que ce sera une non-exécution finie, et je suis déjà inquiet, mais j'ai écrit Qiita pour me prévenir, alors j'aimerais l'essayer petit à petit. J'espère pouvoir décrire petit à petit de tels contenus dans le futur.

Recommended Posts

Le premier débutant en programmation à essayer une analyse de données simple avec programmation
J'ai essayé la programmation python pour la première fois.
Un débutant en Python a d'abord essayé une analyse rapide et facile des données météorologiques des 10 dernières années.
Un débutant en programmation a essayé de vérifier le temps d'exécution du tri, etc.
[Première science des données ⑤] J'ai essayé d'aider mon ami à trouver la première propriété par analyse de données
Première analyse de données satellitaires par Tellus
Une analyse simple des données de Bitcoin fournie par CoinMetrics en Python
Préparez un environnement d'analyse haute vitesse en accédant à mysql depuis l'environnement d'analyse de données
SE, débutant en analyse de données, apprend avec l'équipe de science des données vol.1
Préparer un environnement de langage de programmation pour l'analyse des données
J'ai essayé l'analyse du SRAS avant le virus corona
J'ai essayé Mind Meld pour la première fois
Histoire de l'analyse de données par apprentissage automatique
Affichons un template simple idéal pour le premier Django
J'ai essayé Python sur Mac pour la première fois.
Enregistrer une tâche dans cron pour la première fois
J'ai essayé de prédire le match de la J League (analyse des données)
J'ai essayé python pour la première fois avec heroku
J'ai essayé d'augmenter ou de diminuer le nombre en programmant
AI Gaming Je l'ai essayé pour la première fois
J'ai essayé la même analyse de données avec kaggle notebook (python) et PowerBI en même temps ②
J'ai essayé la même analyse de données avec kaggle notebook (python) et PowerBI en même temps ①
J'ai essayé l'API Google Cloud Vision pour la première fois
Premier Kaggle (kaggle ①)
Kaguru pour la première fois
[Premier grattage] J'ai essayé de créer un personnage VIP pour Smash Bra [Beautiful Soup] [En plus, analyse de données]
Traiter les données extraites d'un certain système de point de vente pour créer un tableau récapitulatif par produit et par heure
Ce que j'ai appris en écrivant une Pull Request Python pour la première fois de ma vie
Si vous êtes novice en programmation, pourquoi ne pas créer un "jeu" pour le moment? L'histoire
J'ai essayé de créer un pointage de crédit simple avec régression logistique.
[Connu de façon inattendue? ] Présentation d'une vraie journée dans le département d'analyse des données
Un débutant qui programme depuis 2 mois a tenté d'analyser le PIB réel du Japon en séries chronologiques avec le modèle SARIMA.
J'ai essayé de résumer les commandes utilisées par les ingénieurs débutants aujourd'hui
Raspberry Pi --1 --Première fois (Connectez un capteur de température pour afficher la température)
Première analyse de régression simple en Python
Voir python pour la première fois
Analyse des séries chronologiques 3 Prétraitement des données des séries chronologiques
Démarrez Django pour la première fois
Jouons avec le jeu de données d'analyse d'entreprise "CoARiJ" créé par TIS ①
Juillet, un certain, M5 ~ Histoire d'échec de la compétition de données de séries chronologiques pour débutants Kaggle ~
Retour sur les 10 mois avant qu'un débutant en programmation ne devienne un expert Kaggle
Illustrez instantanément la période prédominante dans les données de séries chronologiques à l'aide de l'analyse spectrale
J'ai essayé l'analyse de dimension fractale par la méthode de comptage de boîtes en 3 dimensions
J'ai essayé de résumer les commandes Linux utilisées par les ingénieurs débutants aujourd'hui - Partie 1-
J'ai essayé d'effectuer une analyse de cluster de clients à l'aide des données d'achat
Une note utile lors de l'utilisation de Python après une longue période
Jouons avec le jeu de données d'analyse d'entreprise "CoARiJ" créé par TIS ②
J'ai essayé de vérifier le résultat du test A / B avec le test du chi carré
Depuis que je suis libre, l'ingénieur front-end a essayé Python (v3.7.5) pour la première fois
Jusqu'à ce que vous gagniez la médaille d'argent (top 3%) dans le concours auquel vous avez participé dans un délai d'un mois pour la première fois en science des données!
(Version préservée: mise à jour de temps en temps) Une collection de tutoriels utiles pour les hackathons d'analyse de données par Team AI