les données de commande de visualisation d'un regard. Cependant, les données avec succès la visualisation souvent difficile à réaliser. En outre, plus le public présente ces de visualisation des données, il faut plus de temps et d'efforts.
Nous savons tous comment faire des diagrammes à barres, des diagrammes de dispersion et histogrammes, mais ne faites attention à ne pas les embellir. Cela endommagerait la fiabilité de nos pairs et ses supérieurs dans l'esprit de pratiquement.
En outre, la réutilisation du code est également très important. Vous ne voulez pas des ensembles de données d'accès à partir de zéro, non? Certains utilisent de pouvoir graphique réutilisable pour trouver les informations que vous voulez plus rapidement.
Ici implique trois outils de visualisation pratiques:
· Classification de motifs de corrélation
· La matrice de Scatterplot
Utiliser la classification Seaborn parcelles commentaires et dispersion des annotations
Dans l'ensemble, cela vous apprendra à faire une bonne mine et utilisé dans le tableau.
Cet article utilisera les ensembles de données complètes FIFA 2019 sur les joueurs Kaggle, la dernière version de la base de données contient des informations détaillées sur chaque joueur, y compris l'enregistrement.
Étant donné que l'ensemble de données a plusieurs colonnes, nous nous concentrons uniquement sur un sous-ensemble des catégories sont répertoriées et colonne continue.
importer numpy comme np
pandas géants importation comme pd
Seaborn d'importation comme sns
matplotlib.pyplot importation comme plt
% En ligne Matplotlib
# Nous n'avez probablement pas besoin des Quadrillage. Avons-nous? Si oui commenter cette ligne
sns.set (style = "ticks")
player_df = pd.read_csv ( "../ entrée / data.csv")
numcols = <
« Dans l'ensemble »,
« Potentiel »,
'Croisement', 'de finition', 'ShortPassing', 'Dribbler', 'LongPassing', 'BallControl', 'accélération',
'SprintSpeed', 'Agilité', 'Endurance',
« Valeur », « salaire »>
catcols =
# Les colonnes sous-ensemble
player_df = player_df
# Quelques lignes de données
player_df.head (5)
Les statistiques des joueurs
Bien que ces données est bien formé, mais parce que les salaires et la valeur de la colonne sont en euros et contient la chaîne nécessite un prétraitement afin de leur permettre de fournir une valeur pour une analyse ultérieure.
def wage_split (x):
essayez:
retour int (x.split ( "K") )
sauf:
return 0
player_df = player_df appliquer (lambda x: wage_split (x)).
def value_split (x):
essayez:
si 'M' en x:
flotteur de retour (x.split ( "M") )
elif 'K' en x:
flotteur de retour (x.split ( "K") ) / 1000
sauf:
return 0
player_df = player_df appliquer. (lambda x: value_split (x))
classification de motifs de corrélation
En termes simples, la corrélation est une mesure de la façon dont deux variables se déplacent ensemble.
Par exemple, dans la vie réelle, les revenus et les dépenses, il a été positivement corrélée à l'augmentation d'une variable à une autre variable augmente.
L'utilisation des jeux vidéo et le rendement scolaire corrélation négative, ce qui signifie moins d'une augmentation variable dans une autre variable.
Donc, si les prévisions avec la variable cible est positivement ou négativement corrélée, la variable aura la valeur de la recherche.
Les corrélations entre les différentes variables étudiées très significatives pour la compréhension des données.
Utilisez Seaborn peut facilement créer un très bon diagramme.
corr = player_df.corr ()
g = sns.heatmap (corr, vmax = 0,3, centre = 0,
carré = True, = 0,5 largeurs de ligne, cbar_kws = { "psy": 0,5}, Annot = True, fmt = '2f.', CMAP = 'coolwarm')
sns.despine ()
g.figure.set_size_inches (14,10)
plt.show ()
Toutes les variables catégoriques vont tous?
Avez-vous remarqué des questions pour moi?
Il y a un problème, parce que le dessin uniquement la corrélation entre la séquence numérique calculée.
Si la variable cible est un club ou une position, ce qui se passerait?
Si vous voulez une corrélation entre trois situations différentes, il peut être calculé en utilisant la métrique de corrélation suivante.
1. La valeur de la variable
Cette variable peut être obtenue par voie de corrélation de Pearson, une mesure de la façon dont deux variables se déplacent ensemble, dans la gamme de .
2. variables
Utilisez le coefficient V de Cramer pour classer les cas. Les coefficients sont liés entre deux variables discrètes, et les variables utilisées conjointement avec deux ou plusieurs niveaux. Il est également une mesure de la symétrie, parce que l'ordre est variables non pertinentes, à savoir, Clem (A, B) == Clem (B, A).
Par exemple, dans le jeu de données, et la nationalité du Club doit avoir une connexion.
Schéma de pile disponible pour vérifier, cela est une excellente façon de comprendre la répartition entre les variables et variables, parce qu'il ya beaucoup de nationalités et clubs dans les données, donc en utilisant un sous-ensemble des données.
Gardez seulement les meilleures équipes (FC Porto réservations juste pour obtenir l'échantillon plus diversifié) et la nationalité la plus commune.
les préférences du club reflète en grande partie la « nationalité »: Apprendre l'ancienne aide à prédire ce dernier.
La figure montre que les joueurs anglais sont plus susceptibles de jouer pour Chelsea ou Manchester United, plutôt qu'à Barcelone, le Bayern Munich ou le FC Porto.
De même, le coefficient Clem V capture également les mêmes informations.
Si la proportion de toutes nationalités club a des joueurs du même coefficient Cramer V est égal à zéro.
Si, par exemple, tous les joueurs anglais à Manchester United ont joué chacun des joueurs du club préfèrent une seule nationalité, le coefficient Cramer V == 1, pour tous les joueurs allemands de l'efficacité du Bayern Munich et ainsi de suite.
Dans tous les autres cas, la plage était .
3. variables quantitatives et qualitatives
Le rapport d'utilisation continue des cas de classification pertinents.
Dans le cas ne comporte pas trop de mathématiques, cette variable est utilisée pour mesurer le degré de dispersion.
Si on leur donne un numéro, vous pouvez trouver sa catégorie?
Par exemple, supposons que l'ensemble de données a « SprintSpeed » et « Position » deux classement, puis:
Gardien: 58 (De Gea), 52, 58 (M Neuer.), 43 (G Buffon.) (T Courtois).
Défenseur: 68 (D Godin.), 59 (V Kompany.), 73 (S Umtiti.), 75 (M Benatia).
Forward: 91 (C.Ronaldo), 94 (G Bale.), 80 (S.Aguero), 76 (R Lewandowski).
A partir du résultat, ces chiffres un bon indicateur de la position qu'ils sont, donc la corrélation est très élevé.
Si un sprint joueur des vitesses de plus de 85, le joueur est sans aucun doute l'avant.
Ce rapport est également entre.
Cette exécution de code est pris dython paquet, le code ne sera pas beaucoup, les résultats finaux sont les suivants:
player_df = player_df.fillna (0)
résultats = associations (player_df, nominal_columns = catcols, return_results = true)
Classification vs, classement par rapport à la valeur, la valeur par rapport à la valeur, ces cartes font plus intéressant.
Belle, est-ce pas?
Il suffit de regarder les données, vous pouvez avoir tant de connaissances du football, tels que:
· La position du joueur est fortement corrélée à la capacité de ruisseler. Messi ne peut pas laisser la lire!
· Dribble plus pertinente que la valeur de passage et maniement du ballon. Les règles passent toujours, comme passe de Neymar.
· « Club » et « revenu » a une corrélation élevée et prévisible.
· « Corps » et « jouer pieds de préférences » sont fortement corrélés. Est-ce que cela signifie que si un joueur est mince, il est possible de jouer avec son pied gauche comme? Il ne peut pas avoir une signification pratique, il faut une enquête plus approfondie.
De plus, grâce à ce graphique simple, vous pouvez trouver beaucoup d'informations décrit ci-dessus, qu'on ne voit pas dans le schéma typique de corrélation des variables non catégorique.
étude approfondie de ce tableau, vous pouvez obtenir des résultats plus significatifs, mais le point est que nous pouvons rendre les cartes plus facile de trouver une sorte de droit dans la vie réelle.
matrice Scatterplot
Bien que ce qui précède a parlé de beaucoup de pertinence, mais il est un indicateur d'un volage, pour que nous puissions comprendre, nous examinons un exemple.
« Anscombe Quartet » est presque approchée par la composition d'ensemble de données de corrélation quatre 1, mais avec des distributions de données très différentes, et présente des effets très différents lors de l'élaboration.
Anscombe quartet: Pertinence volage
Par conséquent, le dessin parfois des données devient critique, et la nécessité de voir la distribution seule.
Maintenant, il y a beaucoup de colonnes de l'ensemble de données, les graphiques tout serait très laborieux.
En fait, seulement quelques lignes de code peuvent être résolus.
filtered_player_df = player_df . isin (< 'FC Barcelone', 'Paris Saint-Germain',
'Manchester United', 'Manchester City', 'Chelsea', 'Real Madrid', 'FC Porto', 'FC Bayern München'>)) &
(Player_df . Isin (< 'Angleterre', 'Brésil', 'Argentine',
'Brésil', 'Italie', 'Espagne', 'Allemagne'>))
>
# Une seule ligne pour créer pairplot
g = sns.pairplot (filtered_player_df >)
Très bien, vous pouvez voir beaucoup d'informations sur ce chiffre.
· Les salaires et les valeurs sont fortement corrélées.
· La plupart des autres valeurs sont également pertinentes, mais « potentiel » et « valeur » que la tendance n'est pas rare. On peut voir quand il atteint un certain seuil de potentiel, comment la valeur croît de façon exponentielle. Cette information est utile pour la modélisation, vous pouvez être sur le « potentiel » pour le convertir pour le rendre plus pertinent?
Attention: Il n'y a pas de colonne de classement!
Sur cette base, nous pouvons faire mieux? Toujours possible.
g = sns.pairplot (filtered_player_df >, la teinte = 'Club')
Beaucoup d'informations sur la carte, il suffit d'ajouter les paramètres « de teinte » variables « club » au can à.
· La répartition des salaires FC Porto a tendance à être moins de cette fin du salaire.
· Le chiffre ne peut pas voir les joueurs Porto valeur de distribution forte, les joueurs du FC Porto sont toujours à la recherche d'opportunités.
Beaucoup rose Point (au nom de Chelsea) sur la forme de diagramme d'un groupe « potentiel » et « salaire ». Chelsea ont beaucoup de bas salaires élevés joueurs potentiels, ont besoin d'une plus grande attention.
Également obtenir des informations sur le salaire / valeur sous-graphe.
salaire annuel de 500000 points bleu est Messi. De plus, plus précieux que Messi point orange est Neymar.
Bien que cette technique ne permet pas de résoudre les problèmes de classification, mais il y a d'autres façons d'étudier la répartition des variables, même si un cas.
Catégories Scatter
Comment voir la relation entre la classification et les données numériques?
Entrez simplement le nom, entrez la dispersion de classification parcelle de l'image. Un ensemble de points tracés pour chaque catégorie, est légèrement dispersé dans l'axe des y, pour la visualisation.
Ceci est la méthode privilégiée que nous tirons actuellement cette relation.
g = sns.swarmplot (y = "Club",
x = 'salaire',
data = filtered_player_df,
# Diminuer la taille des points pour éviter l'encombrement
size = 7)
# Retirez le haut et la ligne droite dans le graphique
sns.despine ()
g.figure.set_size_inches (14,10)
plt.show ()
Catégories Scatter
Pourquoi ne pas tracer la boîte il? Median Où? Vous pouvez dessiner en sortir? Bien sûr. Au sommet d'un graphique à barres couverture, vous obtenez un graphique de bonne mine.
g = sns.boxplot (y = "Club",
x = 'salaire',
data = filtered_player_df, whis = np.inf)
g = sns.swarmplot (y = "Club",
x = 'salaire',
data = filtered_player_df,
# Diminuer la taille des points pour éviter l'encombrement
size = 7, color = 'noir')
# Retirez le haut et la ligne droite dans le graphique
sns.despine ()
g.figure.set_size_inches (12,8)
plt.show ()
Intéressant libre + boxplot scattergramme
Eh bien, on peut voir sur le graphique et quelques statistiques de chaque point de distribution, et peut comprendre clairement les écarts de salaires.
Figure point de droite est Lionel Messi, de cette façon, il ne serait pas illustré par le texte ci-dessous le tableau.
Ce chiffre peut être utilisé pour les présentations, si le patron demande Macy écrit sur ce graphique, vous pouvez ajouter un commentaire des images.
max_wage = filtered_player_df.Wage.max ()
max_wage_player = filtered_player_df . Les valeurs
g = sns.boxplot (y = "Club",
x = 'salaire',
data = filtered_player_df, whis = np.inf)
g = sns.swarmplot (y = "Club",
x = 'salaire',
data = filtered_player_df,
# Diminuer la taille des points pour éviter l'encombrement
size = 7, color = 'noir')
# Retirez le haut et la ligne droite dans le graphique
sns.despine ()
# Annoter. Xy pour coordonner. Max_wage est x et 0 est y. Dans la fourchette est comprise y parcelle de 0 à 7 pour chaque niveau
# Xytext pour les coordonnées de l'endroit où je veux mettre mon texte
plt.annotate (s = max_wage_player,
xy = (max_wage, 0),
xytext = (500,1),
# Shrink la flèche pour éviter l'occlusion
arrowprops = { 'facecolor': 'gris', 'largeur': 3, 'rétrécir': 0,03},
backgroundcolor = 'blanc')
g.figure.set_size_inches (12,8)
plt.show ()
Statistiques et groupes de points annotés, peuvent être utilisés pour la parole.
· Regardez le tableau ci-dessous du FC Porto, le budget salarial est si faible, il est difficile, et d'autres équipes à revenu élevé qui sont en concurrence.
· Real Madrid et Barcelone ont beaucoup de joueurs très bien payés.
· Le salaire médian le plus élevé de Manchester United.
· Manchester United et Chelsea se concentrent sur l'égalité, de nombreux salaires des joueurs sont similaires.
· Bien que plus d'attention, mais le grand écart salarial Lionel Messi et Neymar.
On peut voir, dans ce monde fou, juste une surface normale.
Cet article explique le calcul de la corrélation entre la lecture et les types de variables, une corrélation entre la valeur des données de dessin, et en utilisant la corrélation de diagramme de dispersion de la classification établie entre les données numériques et des données de classification. Il est intéressant, vous pouvez empiler dans un élément graphique dans le Seaborn.
pouces Message attention
Ensemble, nous partageons l'apprentissage et le développement de l'IA sec
Amnesty International salue l'attention de la pendaison toute la plate-forme de la classe médiatique « lecture technique de base »