Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Effectuer une analyse exploratoire des données () EDA
Data Wrangler inclut des analyses intégrées qui vous aident à générer des visualisations et des analyses de données en quelques clics. Vous pouvez également créer des analyses personnalisées à l'aide de votre propre code.
Vous ajoutez une analyse à un dataframe en sélectionnant une étape dans votre flux de données, puis en cliquant sur Add analysis (Ajouter une analyse). Pour accéder à une analyse que vous avez créée, sélectionnez l'étape qui contient l'analyse et sélectionnez l'analyse.
Les analyses sont générées à l'aide d'un échantillon de 200 000 lignes maximum de votre jeu de données, et vous pouvez configurer la taille de l'échantillon. Pour plus d'informations sur la modification de la taille de l'échantillon de votre flux de données, consultezModifier la configuration d'échantillonnage du flux de données.
Note
Les analyses sont optimisées pour les données comportant 1 000 colonnes ou moins. Il se peut que vous rencontriez une certaine latence lors de la génération d'analyses pour des données comportant des colonnes supplémentaires.
Vous pouvez ajouter les analyses suivantes à un dataframe :
-
Visualisations de données, y compris les histogrammes et les nuages de points.
-
Un résumé rapide de votre jeu de données, incluant le nombre d'entrées, les valeurs minimales et maximales (pour les données numériques) et les catégories les plus et les moins fréquentes (pour les données catégorielles).
-
Un modèle rapide du jeu de données, qui peut être utilisé pour générer un score d'importance pour chaque caractéristique.
-
Un rapport de fuite cible, que vous pouvez utiliser pour déterminer si une ou plusieurs caractéristiques sont fortement corrélées avec votre caractéristique cible.
-
Une visualisation personnalisée utilisant votre propre code.
Utilisez les sections suivantes pour en savoir plus sur ces options.
Obtenez des informations sur les données et leur qualité
Utilisez le Data Quality and Insights Report (Rapport d'informations et de qualité des données) pour effectuer une analyse des données que vous avez importées dans Data Wrangler. Nous vous recommandons de créer le rapport après avoir importé votre jeu de données. Vous pouvez utiliser le rapport pour vous aider à nettoyer et à traiter vos données. Il fournit des informations telles que le nombre de valeurs manquantes et le nombre de valeurs aberrantes. Si vous rencontrez des problèmes avec vos données, tels que des fuites ou des déséquilibres de cible, le rapport d'informations peut signaler ces problèmes.
Utilisez la procédure suivante pour créer un rapport d'informations et de qualité des données. Cela suppose que vous avez déjà importé un jeu de données dans votre flux Data Wrangler.
Pour créer un rapport d'informations et de qualité des données
-
Choisissez l'icône représentant des points de suspension à côté d'un nœud dans votre flux Data Wrangler.
-
Sélectionnez Obtenir des informations sur les données.
-
Pour le type d'analyse, sélectionnez Data Quality and Insights Report.
-
Dans le champ Nom de l'analyse, spécifiez le nom du rapport d'informations.
-
Pour Type de problème, spécifiez Régression ou Classification.
-
Pour Colonne cible, spécifiez la colonne cible.
-
Pour Taille des données, spécifiez l'une des valeurs suivantes :
-
Ensemble de données échantillonné : utilise l'échantillon interactif issu de votre flux de données, qui peut contenir jusqu'à 200 000 lignes de votre ensemble de données. Pour plus d'informations sur la modification de la taille de votre échantillon, consultezModifier la configuration d'échantillonnage du flux de données.
-
Ensemble de données complet : utilise le jeu de données complet de votre source de données pour créer le rapport.
Note
La création d'un rapport sur la qualité des données et les informations sur l'ensemble de données complet utilise une tâche SageMaker de traitement Amazon. Une tâche de SageMaker traitement fournit les ressources informatiques supplémentaires nécessaires pour obtenir des informations sur toutes vos données. Pour plus d'informations sur SageMaker le traitement des tâches, consultezCharges de travail de transformation des données avec Processing SageMaker .
-
-
Sélectionnez Create (Créer).
Les rubriques suivantes présentent les sections du rapport :
Vous pouvez télécharger le rapport ou le consulter en ligne. Pour télécharger le rapport, cliquez sur le bouton de téléchargement situé dans l'angle supérieur droit de l'écran.
Récapitulatif
Le rapport d'informations comporte un bref résumé des données qui inclut des informations générales telles que les valeurs manquantes, les valeurs non valides, les types de fonctions, le nombre de valeurs aberrantes, etc. Il peut également inclure des avertissements de sévérité élevée qui indiquent des problèmes probables avec les données. Nous vous recommandons d'examiner les avertissements.
Colonne cible
Lorsque vous créez le rapport sur la qualité et les informations des données, Data Wrangler vous donne la possibilité de sélectionner une colonne cible. Une colonne cible est une colonne que vous essayez de prédire. Lorsque vous choisissez une colonne cible, Data Wrangler crée automatiquement une analyse de colonne cible. Il classe également les fonctions par ordre de pouvoir prédictif. Lorsque vous sélectionnez une colonne cible, vous devez spécifier si vous tentez de résoudre un problème de régression ou de classification.
Pour la classification, Data Wrangler affiche une table et un histogramme des classes les plus courantes. Une classe est une catégorie. Il présente également des observations, ou des lignes, dont la valeur cible est manquante ou non valide.
Pour la régression, Data Wrangler affiche un histogramme de toutes les valeurs de la colonne cible. Il présente également des observations, ou des lignes, dont la valeur cible est manquante, non valide ou aberrante.
Modèle rapide
Le Quick model (modèle rapide) fournit une estimation de la qualité prédite attendue d'un modèle que vous entraînez sur vos données.
Data Wrangler fractionne vos données en blocs d'entraînement et de validation. Il utilise 80 % des échantillons pour l'entraînement et 20 % des valeurs pour la validation. Pour la classification, l'échantillon est un fractionnement stratifié. Pour un fractionnement stratifié, chaque partition de données a le même rapport d'étiquettes. Pour les problèmes de classification, il est important d'avoir le même rapport d'étiquettes entre les blocs d'entraînement et de classification. Data Wrangler entraîne le XGBoost modèle avec les hyperparamètres par défaut. Il applique un arrêt anticipé sur les données de validation et effectue un prétraitement minimal des caractéristiques.
Pour les modèles de classification, Data Wrangler renvoie à la fois un récapitulatif du modèle et une matrice de confusion.
Pour en savoir plus sur les informations renvoyées par le résumé du modèle de classification, consultezDéfinitions.
Une matrice de confusion fournit les informations suivantes :
-
Nombre de fois où l'étiquette prédite correspond à la vraie étiquette.
-
Nombre de fois où l'étiquette prédite ne correspondait pas à la vraie étiquette.
La vraie étiquette représente une observation réelle dans vos données. Par exemple, si vous utilisez un modèle pour détecter les transactions frauduleuses, la vraie étiquette représente une transaction réellement frauduleuse ou non frauduleuse. L'étiquette prédite représente l'étiquette que votre modèle attribue aux données.
Vous pouvez utiliser la matrice de confusion pour voir dans quelle mesure le modèle prédit la présence ou l'absence d'une condition. Si vous prédisez des transactions frauduleuses, vous pouvez utiliser la matrice de confusion pour vous faire une idée de la sensibilité et de la spécificité du modèle. La sensibilité fait référence à la capacité du modèle à détecter les transactions frauduleuses. La spécificité fait référence à la capacité du modèle à éviter de détecter les transactions non frauduleuses comme étant frauduleuses.
Récapitulatif des fonctions
Lorsque vous spécifiez une colonne cible, Data Wrangler classe les fonctions selon leur pouvoir de prédiction. Le pouvoir de prédiction est mesuré sur les données une fois celles-ci divisées en 80 % d'apprentissage et 20 % de validation. Data Wrangler adapte un modèle à chaque fonction séparément sur le bloc d'entraînement. Il applique un prétraitement minimal des caractéristiques et mesure les performances de prédiction sur les données de validation.
Il normalise les scores dans la plage [0,1]. Les scores de prédiction élevés indiquent des colonnes plus utiles pour prédire la cible par elles-mêmes. Les scores inférieurs indiquent des colonnes qui ne sont pas prédictives de la colonne cible.
Il est rare qu'une colonne qui n'est pas prédictive en elle-même soit prédictive lorsqu'elle est utilisée conjointement avec d'autres colonnes. Vous pouvez utiliser les scores de prédiction en toute confiance pour déterminer si une fonction de votre jeu de données est prédictive.
Un score faible indique généralement que la fonction est redondante. Un score de 1 correspond à des capacités prédictives parfaites, ce qui indique souvent une fuite de cible. La fuite de cible se produit généralement lorsque le jeu de données contient une colonne qui n'est pas disponible au moment de la prédiction. Par exemple, il peut s'agir d'un double de la colonne cible.
Exemples
Data Wrangler indique si vos échantillons sont anormaux ou si votre jeu de données contient des doublons.
Data Wrangler détecte les échantillons anormaux à l'aide de l'algorithme Isolation Forest (forêt d'isolation). La forêt d'isolation associe un score d'anomalie à chaque échantillon (ligne) du jeu de données. Les scores d'anomalie faibles indiquent des échantillons anormaux. Les scores élevés sont associés à des échantillons non anormaux. Les échantillons présentant un score d'anomalie négatif sont généralement considérés comme anormaux et les échantillons présentant un score d'anomalie positif sont considérés comme non anormaux.
Lorsque vous examinez un échantillon susceptible d'être anormal, nous vous recommandons de prêter attention aux valeurs inhabituelles. Par exemple, des valeurs anormales peuvent être issues d'erreurs qui se sont produites lors de la collecte et du traitement des données. Voici un exemple des échantillons les plus anormaux selon l'implémentation de l'algorithme « isolation forest » par Data Wrangler. Nous vous recommandons d'utiliser vos connaissances du domaine et la logique métier lorsque vous examinez les échantillons anormaux.
Data Wrangler détecte les lignes en double et calcule le rapport des doublons dans vos données. Certaines sources de données peuvent inclure des doublons valides. D'autres sources de données peuvent comporter des doublons indiquant des problèmes liés à la collecte de données. Les échantillons en double issus d'une collecte de données défectueuse peuvent interférer avec les processus de machine learning qui reposent sur le fractionnement des données en blocs d'entraînement et de validation indépendants.
Les éléments suivants sont issus du rapport d'informations et peuvent être affectés par les échantillons en double :
-
Modèle rapide
-
Estimation du pouvoir de prédiction
-
Réglage automatique des hyperparamètres
Vous pouvez retirer des échantillons en double du jeu de données à l'aide de la transformation Drop duplicates (Supprimer des doublons) sous Manage rows (Gérer les lignes). Data Wrangler affiche les lignes les plus fréquemment dupliquées.
Définitions
Les définitions suivantes s'appliquent à des termes techniques utilisés dans le rapport d'informations des données.
Rapport de biais
SageMaker Canvas fournit le rapport sur les biais dans Data Wrangler pour aider à détecter les biais potentiels dans vos données. Le rapport de biais analyse la relation entre la colonne cible (étiquette) et une colonne susceptible, selon vous, de contenir un biais (variable à facettes). Par exemple, si vous essayez de prévoir la conversion des clients, la variable à facettes peut être l'âge du client. Le rapport sur les biais peut vous aider à déterminer si vos données sont biaisées en faveur d'un certain groupe d'âge.
Pour générer un rapport de biais dans Canvas, procédez comme suit :
Dans votre flux de données dans Data Wrangler, cliquez sur l'icône Plus d'options ( ) à côté d'un nœud du flux.
Dans le menu contextuel, choisissez Obtenir des informations sur les données.
Le panneau latéral Créer une analyse s'ouvre. Dans le menu déroulant Type d'analyse, sélectionnez Rapport de biais.
Dans le champ Nom de l'analyse, entrez le nom du rapport de biais.
Dans le menu déroulant Sélectionnez la colonne que votre modèle prédit (cible), sélectionnez votre colonne cible.
Pour Votre colonne prédite est-elle une valeur ou un seuil ? , sélectionnez Valeur si votre colonne cible contient des valeurs catégoriques ou Seuil si elle contient des valeurs numériques.
Pour Valeur prévue (ou seuil prévu, selon votre sélection à l'étape précédente), entrez la ou les valeurs de colonne cible correspondant à un résultat positif. Par exemple, si vous prédisez la conversion d'un client, votre valeur peut
yes
indiquer qu'un client a été converti.Dans le menu déroulant Sélectionnez la colonne à analyser pour détecter le biais, sélectionnez la colonne qui, selon vous, est susceptible de contenir un biais, également connue sous le nom de variable à facettes.
Pour Votre colonne est-elle une valeur ou un seuil ? , sélectionnez Valeur si la variable à facettes possède des valeurs catégorielles ou Seuil si elle contient des valeurs numériques.
Pour Valeurs de colonne à analyser pour détecter le biais (ou Seuil de colonne pour analyser le biais, en fonction de votre sélection à l'étape précédente), entrez la ou les valeurs que vous souhaitez analyser pour détecter un biais potentiel. Par exemple, si vous recherchez des préjugés à l'encontre des clients ayant dépassé un certain âge, utilisez le début de cette tranche d'âge comme seuil.
Pour Choisir les mesures de biais, sélectionnez les mesures de biais que vous souhaitez inclure dans votre rapport de biais. Passez le pointeur de la souris sur les icônes d'informations pour plus d'informations sur chaque métrique.
(Facultatif) Lorsque vous y êtes invité, l'option Voulez-vous analyser des mesures supplémentaires ? , sélectionnez Oui pour afficher et inclure d'autres mesures de biais.
Lorsque vous êtes prêt à créer le rapport de biais, choisissez Ajouter.
Une fois généré, le rapport vous donne un aperçu des mesures de biais que vous avez sélectionnées. Vous pouvez consulter le rapport de biais à tout moment depuis l'onglet Analyses de votre flux de données.
Histogramme
Utilisez des histogrammes pour afficher le nombre de valeurs d'entités pour une entité spécifique. Vous pouvez inspecter les relations entre les entités à l'aide de l'option Color by (Couleur par).
Vous pouvez utiliser la fonction Facet by (Facetter par) pour créer des histogrammes d'une colonne, pour chaque valeur d'une autre colonne.
Diagramme à points
Utilisez la fonction Scatter Plot (Nuage de points) pour inspecter la relation entre les caractéristiques. Pour créer un nuage de points, sélectionnez une caractéristique à représenter sur l'axe des X et l'axe des Y. Ces deux colonnes doivent être des colonnes à caractères numériques.
Vous pouvez colorer les nuages de points par une colonne supplémentaire.
En outre, vous pouvez facetter des nuages de points par caractéristiques.
Résumé du tableau
Utilisez l'analyse Table Summary (Résumé de la table) pour résumer rapidement vos données.
Pour les colonnes avec des données numériques, y compris les données logarithmiques et flottantes, un résumé de tableau indique le nombre d'entrées (nombre), le minimum (min), le maximum (max), la moyenne et l'écart-type (stddev) pour chaque colonne.
Pour les colonnes avec des données non numériques, y compris les colonnes avec des données de type chaîne, booléen ou date/heure, un résumé de table indique le nombre d'entrées (nombre), la valeur la moins fréquente (min) et la valeur la plus fréquente (max).
Modèle rapide
Utilisez la visualisation Quick Model (Modèle rapide) pour évaluer rapidement vos données et produire des scores d'importance pour chaque caractéristique. Un feature importance score (score d'importance d'une caractéristique)
Lorsque vous créez un graphique modèle rapide, vous sélectionnez un jeu de données que vous souhaitez évaluer et une étiquette cible par rapport à laquelle vous souhaitez comparer l'importance de la caractéristique. Data Wrangler exécute les opérations suivantes :
-
Détermine les types de données de l'étiquette cible et de chaque caractéristique du jeu de données sélectionné.
-
Détermine le type de problème. En fonction du nombre de valeurs distinctes dans la colonne d'étiquette, Data Wrangler détermine s'il s'agit d'un type de problème de régression ou de classification. Data Wrangler définit un seuil de catégorie à 100. S'il y a plus de 100 valeurs distinctes dans la colonne d'étiquette, Data Wrangler la classe comme un problème de régression ; sinon, elle est classée comme un problème de classification.
-
Fonctions de pré-traitement et données d'étiquetage pour l'entraînement. L'algorithme utilisé nécessite l'encodage des caractéristiques en type vectoriel et l'encodage des étiquettes en type double.
-
Entraîne un algorithme de forêt aléatoire avec 70 % des données. Spark RandomForestRegressor
est utilisé pour entraîner un modèle pour les problèmes de régression. Le RandomForestClassifier est utilisé pour entraîner un modèle pour les problèmes de classification. -
Évalue un modèle de forêt aléatoire avec les 30 % de données restantes. Data Wrangler évalue les modèles de classification à l'aide d'un score F1 et évalue les modèles de régression à l'aide d'un score. MSE
-
Calcule l'importance de chacune des fonctions à l'aide de la méthode d'importance Gini.
Fuite ciblée
Une fuite de cible se produit lorsqu'il existe des données dans un jeu de données de machine learning fortement corrélées avec l'étiquette cible, mais qui ne sont pas disponibles dans les données du monde réel. Par exemple, vous pouvez avoir une colonne dans votre jeu de données qui sert de substitut à la colonne que vous voulez prédire avec votre modèle.
Lorsque vous utilisez Target Leakage (Fuite de cible), vous spécifiez les informations suivantes :
-
Target (Cible) : il s'agit de la caractéristique sur laquelle vous souhaitez que votre modèle ML puisse faire des prédictions.
-
Problem type (Type de problème) : c'est le type de problème ML sur lequel vous travaillez. Le type de problème peut être classification ou regression (régression).
-
(Facultatif) Max features (Nombre max de caractéristiques) : il s'agit du nombre maximal de caractéristiques à présenter dans la visualisation, qui affiche les caractéristiques classées par leur risque de fuite de cible.
Pour la classification, l'analyse des fuites cibles utilise la zone située sous la caractéristique de fonctionnement du récepteur, ou ROC courbe AUC - pour chaque colonne, jusqu'à la valeur maximale des caractéristiques. Pour la régression, il utilise un coefficient de détermination, ou métrique R2.
La ROC courbe AUC - fournit une métrique prédictive, calculée individuellement pour chaque colonne par validation croisée, sur un échantillon d'environ 1 000 lignes. Un score de 1 indique des capacités prédictives parfaites, ce qui indique souvent une fuite de cible. Un score de 0,5 ou moins indique que l'information figurant dans la colonne ne pouvait fournir, à elle seule, aucune information utile pour prédire la cible. Bien qu'il puisse arriver qu'une colonne n'apporte aucune information seule, mais qu'elle soit utile pour prédire la cible lorsqu'elle est utilisée en combinaison avec d'autres fonctions, un score faible peut indiquer que la fonction est redondante.
Multicolinéarité
La multicolinéarité est une circonstance dans laquelle deux variables prédictives ou plus sont liées les unes aux autres. Les variables prédictives sont les caractéristiques de votre jeu de données que vous utilisez pour prédire une variable cible. En cas de multicolinéarité, les variables prédictives sont non seulement prédictives de la variable cible, mais également prédictives les unes des autres.
Vous pouvez utiliser le facteur d'inflation de la variance (VIF), l'analyse en composantes principales (PCA) ou la sélection de fonctionnalités Lasso comme mesures de la multicolinéarité de vos données. Pour plus d’informations, consultez les rubriques suivantes.
Détecter les anomalies dans les données de séries chronologiques
Vous pouvez utiliser la visualisation de détection d'anomalies pour voir les valeurs aberrantes dans vos données de séries temporelles. Pour comprendre ce qui détermine une anomalie, vous devez savoir que nous décomposons la série temporelle en terme prédit et en terme d'erreur. Nous considérons la saisonnalité et la tendance des séries temporelles comme étant le terme prédit. Nous considérons les résidus comme étant le terme d'erreur.
Pour le terme d'erreur, vous spécifiez un seuil comme étant le nombre d'écarts-types dont le résidu peut s'éloigner de la moyenne pour être considéré comme une anomalie. Par exemple, vous définissez le seuil à trois écarts-types. Tout résidu à plus de 3 écarts-types de la moyenne est une anomalie.
Vous pouvez utiliser la procédure suivante pour exécuter une analyse Anomaly detection (Détection des anomalies).
-
Ouvrez votre flux de données Data Wrangler.
-
Cliquez sur Data type (Type de données) dans votre flux de données, choisissez le +, puis sélectionnez Add analysis (Ajouter une analyse).
-
Pour Analysis Type Type d'analyse, choisissez Time Series (Séries temporelles).
-
Pour Visualization (Visualisation), choisissez Anomaly detection (Détection des anomalies).
-
Pour Anomaly threshold (Seuil d'anomalies), choisissez le seuil auquel une valeur est considérée comme une anomalie.
-
Choisissez Preview (Prévisualisation) pour générer une prévisualisation de l'analyse.
-
Choisissez Add (Ajouter) pour ajouter la transformation au flux de données Data Wrangler.
Décomposition des tendances saisonnières dans les données de séries chronologiques
Vous pouvez déterminer s'il existe une saisonnalité dans vos données de séries temporelles à l'aide de la visualisation de la décomposition des tendances saisonnières. Nous utilisons la méthode STL (décomposition des tendances saisonnières à l'aide deLOESS) pour effectuer la décomposition. Nous décomposons la série temporelle en composants saisonniers, tendances et résidus. La tendance reflète la progression à long terme de la série. Le composant saisonnier est un signal se répète au cours d'une période. Après avoir supprimé la tendance et les composants saisonniers de la série temporelles, vous avez les résidus.
Vous pouvez utiliser la procédure suivante pour exécuter une analyse Seasonal-Trend Decomposition (Décomposition de série temporelle).
-
Ouvrez votre flux de données Data Wrangler.
-
Cliquez sur Data type (Type de données) dans votre flux de données, choisissez le +, puis sélectionnez Add analysis (Ajouter une analyse).
-
Pour Analysis Type Type d'analyse, choisissez Time Series (Séries temporelles).
-
Pour Visualization (Visualisation), choisissez Seasonal-Trend Decomposition (Décomposition de série temporelle).
-
Pour Anomaly threshold (Seuil d'anomalies), choisissez le seuil auquel une valeur est considérée comme une anomalie.
-
Choisissez Preview (Prévisualisation) pour générer une prévisualisation de l'analyse.
-
Choisissez Add (Ajouter) pour ajouter la transformation au flux de données Data Wrangler.
Créez des visualisations personnalisées
Vous pouvez ajouter une analyse à votre flux Data Wrangler pour créer une visualisation personnalisée. Votre jeu de données, avec toutes les transformations que vous avez appliquées, est disponible sous forme de Pandas DataFramedf
pour stocker le dataframe. Vous accédez au dataframe en appelant la variable.
Vous devez fournir la variable de sortie, chart
, pour stocker un graphique de sortie Altair
import altair as alt df = df.iloc[:30] df = df.rename(columns={"Age": "value"}) df = df.assign(count=df.groupby('value').value.transform('count')) df = df[["value", "count"]] base = alt.Chart(df) bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count')) rule = base.mark_rule(color='red').encode( x='mean(value):Q', size=alt.value(5)) chart = bar + rule
Pour créer une visualisation personnalisée :
-
À côté du nœud contenant la transformation que vous souhaitez visualiser, sélectionnez le signe +.
-
Choisissez Add analysis (Ajouter une analyse).
-
Pour Analysis type (Type d'analyse), choisissez Custom Visualization (Visualisation personnalisée).
-
Pour Analysis name (Nom de l'analyse), spécifiez un nom.
-
Saisissez votre code dans la zone de code.
-
Cliquez sur Preview (Aperçu) pour avoir un aperçu de votre visualisation.
-
Sélectionnez Save (Enregistrer) pour créer une visualisation.
Si vous ne savez pas comment utiliser le package de visualisation Altair dans Python, vous pouvez utiliser des extraits de code personnalisés pour bien démarrer.
Data Wrangler possède une collection interrogeable d'extraits de visualisation. Pour utiliser un extrait de visualisation, choisissez Search example snippets (Rechercher dans les exemples d'extraits) et spécifiez une requête dans la barre de recherche.
L'exemple suivant utilise l'extrait de code Binned scatterplot (Diagramme de dispersion échelonné). Il représente un histogramme pour 2 dimensions.
Les extraits contiennent des commentaires qui vous aident à comprendre les modifications que vous devez apporter au code. Vous devez généralement spécifier les noms de colonnes de votre jeu de données dans le code.
import altair as alt # Specify the number of top rows for plotting rows_number = 1000 df = df.head(rows_number) # You can also choose bottom rows or randomly sampled rows # df = df.tail(rows_number) # df = df.sample(rows_number) chart = ( alt.Chart(df) .mark_circle() .encode( # Specify the column names for binning and number of bins for X and Y axis x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)), y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)), size="count()", ) ) # :Q specifies that label column has quantitative type. # For more details on Altair typing refer to # https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types