Science des données et apprentissage automatique avec Python – Codage pratique intermédiaire | Jesper Dramsch, PhD | Skillshare
Menu
Recherche

Vitesse de lecture


  • 0.5x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 2x

Science des données et apprentissage automatique avec Python – Codage pratique intermédiaire

teacher avatar Jesper Dramsch, PhD, Scientist for Machine Learning

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction à la science des données avec Python

      3:22

    • 2.

      Projet de classe

      1:35

    • 3.

      Qu'est-ce que la science des données ?

      4:44

    • 4.

      Aperçu des outils

      4:15

    • 5.

      Comment trouver de l'aide

      14:17

    • 6.

      | Chargement de données |

      0:21

    • 7.

      Chargement de dossiers Excel et CSV

      6:20

    • 8.

      Chargement de données depuis SQL

      5:11

    • 9.

      Charger n'importe quel dossier de données

      5:58

    • 10.

      Gérer les données énormes

      10:15

    • 11.

      Combiner des sources de données multiples

      4:14

    • 12.

      | Nettoyage de données |

      0:54

    • 13.

      Traiter les données manquantes

      8:05

    • 14.

      Mise à l'échelle et comptage de données numériques

      12:26

    • 15.

      Valider des données avec des schémas

      10:09

    • 16.

      Codage de données catégoriques

      6:39

    • 17.

      | Analyse de données exploratoire |

      7:16

    • 18.

      Exploration visuelle de données

      10:19

    • 19.

      Statistiques descriptives

      5:32

    • 20.

      Diviser les données en sous-ensembles

      12:30

    • 21.

      Trouver et comprendre les relations dans les données

      5:51

    • 22.

      | Apprentissage automatique |

      1:08

    • 23.

      Régression linéaire pour la prédiction des prix

      14:30

    • 24.

      Arbres à décision et forêts aléatoires

      6:59

    • 25.

      Classification par apprentissage automatique

      9:45

    • 26.

      Clustering de données pour des aperçus plus profonds

      8:16

    • 27.

      Validation de modèles de machine learning

      10:02

    • 28.

      Interprétabilité en apprentissage automatique

      16:23

    • 29.

      Introduction à l'équité en apprentissage automatique

      7:47

    • 30.

      | Visuels et rapports |

      0:15

    • 31.

      Bases de la visualisation

      7:23

    • 32.

      52 Nouveau géospatial

      5:30

    • 33.

      Exportation de données et de visualisations

      6:42

    • 34.

      Créer des présentations directement dans Jupyter

      2:38

    • 35.

      Générer des rapports PDF depuis Jupyter

      3:47

    • 36.

      Félicitations et félicitations !

      2:04

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

4 700

apprenants

4

projets

À propos de ce cours

Êtes-vous prêt à acquérir les compétences qui sont très demandées dans tous les secteurs ?

L'apprentissage automatique et la science des données sont essentielles pour prendre des décisions éclairées dans le monde des affaires d'aujourd'hui. Et la meilleure façon d'apprendre ces compétences est de profiter de la puissance de Python.

Suivez le livre de ressources en code gratuit sur : Data-Science-Gui.de (sans e-mail)

Python est le langage de prédilection pour la science des données, et dans ce cours, nous allons approfondir ses capacités. Ce cours est destiné aux débutants et aux étudiants intermédiaires, alors ne vous inquiétez pas si vous êtes nouveau en programmation. Ce cours reprend un certain niveau en Python, mais si vous préférez une introduction de haut niveau sans application de programmation à la science des données, j'ai un autre cours : The No-Code Data Science Master Master Class.

Nous commencerons par couvrir les bases de la syntaxe Python, puis nous passerons au flux de travail complet en science des données, y compris :

  • Chargement de données à partir de dossiers et de bases de données
  • Nettoyer et préparer les données pour l'analysis
  • Explorer et comprendre les données
  • Créer et évaluer des modèles d'apprentissage automatique
  • Analyser le churn des clients et valider des modèles
  • Visualiser les données et créer des rapports

Nous utiliserons des bibliothèques Python populaires et disponibles gratuitement telles que Jupyter, NumPy, SciPy, Pandas, MatPlotLib, Seaborn et Scikit-Learn.

À la fin de ce cours, vous aurez non seulement une solide compréhension de la science des données et de l'analyse, mais également la possibilité d'apprendre rapidement de nouvelles bibliothèques et de nouveaux outils. N'attendez donc plus et inscrivez-vous à ce cours de maîtrise en science des données Python dès aujourd'hui !

-----------------------------------------

Qui suis-je ?

Jesper Dramsch est un chercheur en apprentissage machine qui travaille entre les données physiques et l'apprentissage profond.

J'ai suivi une formation de géophysicien et j'ai commencé à me tourner vers la programmation Python, la science des données et la recherche sur l'apprentissage automatique pendant que je préparais un doctorat. Pendant cette période, j'ai créé des carnets éducatifs sur le site Web de la compétition d'apprentissage automatique Kaggle (qui fait partie d'Alphabet/Google) et j'ai atteint la 81e place dans le monde entier. Mon carnet principal a été vu plus de 64 000 fois à ce stade. En outre, j'ai enseigné Python, l'apprentissage automatique et la science des données dans le monde dans des entreprises telles que Shell, le gouvernement du Royaume-Uni, des universités et plusieurs entreprises de taille moyenne. Pour me donner un petit aperçu en 2020, j'ai terminé la certification IBM Data Science en moins de 48h.

-----------------------------------------

Autres liens utiles :

Mon site Web et mon blog -
https://dramsch.netLa newsletter hebdomadaire - https://dramsch.net/newsletter

Twitter - https://twitter.com/jesperdramsch
Linkedin - https://linkedin.com/in/mlds

Youtube - https://www.dramsch.net/youtubeÉquipement de
caméra - https://www.dramsch.net/r/gear

Rencontrez votre enseignant·e

Teacher Profile Image

Jesper Dramsch, PhD

Scientist for Machine Learning

Enseignant·e

 

a top scientist in machine learning, educator, and content creator.

In my classes, you'll learn state-of-the-art methods to work with AI and gain insights from data, along with over 7,000 other students. This takes the form of exploring data and gaining insights with modelling and visualizations. Whether you're a beginner, intermediate, or expert, these classes will deepen your understanding of data science and AI.

I am trained as a geophysicist and shifted into data science and machine learning research, and Python programming during work towards a PhD. During that time, I created educational notebooks on the machine learning contest website Kaggle (part of Alphabet/Google) and reached rank 81 worldwide. My top notebook has been viewed... Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction: La science des données, en un sens, est comme une histoire de détective pour moi. Vous démêlez les relations cachées dans les données, et vous construisez un récit autour de ces relations. Je m'appelle Oscar Thomas et je suis sur l'apprentissage automatique et les scientifiques des données. J' ai passé les trois dernières années à travailler vers mon doctorat en apprentissage automatique et en géophysique. J' ai de l'expérience de travail en tant que consultant, d'enseignement de Python et d'apprentissage automatique dans des endroits comme Shell et le gouvernement britannique, mais aussi des entreprises de taille moyenne et des universités. Toute cette expérience m'a permis de terminer mon certificat IBM Data Science Professional en 48 heures pour un cours qui devrait durer environ un an. Je crée également exactement ces ordinateurs portables que vous apprenez à créer dans ce cours pour la science des données et la compétition d'apprentissage automatique, un type appelé Kaggle, qui appartient à Google. Là, j'ai gagné le rang 81 dans le monde entier sur plus de 100 000 participants. Après ce cours, vous aurez franchi chaque étape du flux de travail de science des données. Cela signifie que vous serez en mesure de recréer toute la visualisation et que tous les extraits de code seront disponibles ultérieurement pour utilisation avec vos propres données dans vos propres rapports. Nous ferons une étape par étape très appliquée. Nous commencerons au tout début, commençant par l'entrée de vos données dans Python. Cela signifie regarder les fichiers Excel et regarder les tables SQL, mais aussi regarder ces petits formats de données bizarres qui peuvent parfois être un peu difficiles à utiliser. Ensuite, nous prétraiterons nos données, nettoyerons nos données et effectuerons une analyse exploratoire des données ou une courte EDA. EDA est la partie où vous peaufinez vraiment votre question, et où nous examinons les relations dans nos données et répondons à ces questions. Ensuite, pour le plaisir, nous allons jeter un coup d'œil à la modélisation de l'apprentissage automatique et à la façon de valider ces modèles d'apprentissage automatique, car en cette époque moderne, c'est plus important que jamais. Nous examinerons les différentes visualisations de données, meilleure façon de raconter votre histoire, meilleure façon de générer des présentations et des rapports pour vraiment convaincre, pour vraiment ponctuer votre histoire que vous pouvez raconter ces données. Finalement, nous allons jeter un oeil à la génération automatique de présentations et de rapports PDF directement à partir de Python. Je n'ai malheureusement pas réussi à entrer dans la récession deux fois maintenant. Mais Python m'a donné la possibilité de terminer un doctorat tout en travaillant en tant que consultant et en créant pour moi ces portefeuilles incroyables de science des données de classe mondiale qui ont maintenant suscité tant d'attention. C' est incroyable. Un de mes carnets a été vu plus de 50 000 fois. J' espère partager ça avec vous. Signes de données pour moi est le nouveau champ super excitant et Python est très accessible. J' espère vous voir en classe. 2. 01 cours projet nouveau: Bienvenue en classe et merci de votre visite. Je suis vraiment heureuse de t'avoir. Ce cours sera composé de petites vidéos faisant partie de chapitres plus importants, car vous pourrez ensuite revenir et examiner les petits détails sans avoir à chercher dans les actualités en gros. Et chaque chapitre constituera l'une des étapes du flux de travail de la science des données. Au final. Parce qu'ils ne font que siner, ils ne sont pas appliqués dès le premier jour sur les protéines. Et puis ce projet, vous allez recréer ce que nous faisons dans ces conférences vidéo. Parcourez l'ensemble du flux de travail consacré à la science des données et, finalement, générez un PDF pour une présentation avec votre amende C'est bon pour vos propres données, sur un ensemble de données que je fournis en plus de cela, et mettez tous ces blocs-notes à votre disposition afin de pouvoir coder pendant les vidéos, car il est préférable d'expérimenter. Parfois, vous voyez quelque chose, vous voulez créer, quelque chose de différent, vous voulez mieux le comprendre. Et puis expérimenter avec le code que j'ai à l'écran est vraiment la meilleure façon de le faire. Pour les deux premières conférences, je veux m'assurer que tout le monde connaîtra une sécheresse initiale égale. Jetez un coup d'œil aux outils. Nous aurons quelques conférences d'introduction où nous découvrirons vraiment des objets africains. Ensuite, nous allons commencer par l'ensemble de données complet. Du chargement, du nettoyage, de l'analyse exploratoire des données et jusqu'à l'apprentissage automatique très brutaux analyse exploratoire des données et . Et nous appelons génération. 3. 02 Qu'est-ce que la science de données nouveau: Dans ce cours, nous examinerons la science des données sous deux angles différents. Il y en a donc une où nous examinerons en quoi ils sont réellement conçus pour agir. Quels sont les principes fondamentaux importants ? Et il y a l'autre, l'approche par processus. Comment travaillez-vous réellement en tant que data scientists ? Définir la science des données comme une bête parce que c'est une discipline tellement nouvelle que tout le monde est atteint d'une leucémie différente. Et j'ai aimé la façon dont Jim Gray, le Turing Award, le définit essentiellement comme une enseigne Ford Pinto. Et cette science des données ou technologie de l'information. Et troisièmement, Need Changes Tout ce qui concerne la science. Et je pense que l'impact des décisions fondées sur les données sur les signes et les affaires a révélé mes façons préférées d'aborder la science des données, la hiérarchie des besoins en matière de science des données par des soins indésirables, des voleurs de dents. Et elle la définit vraiment comme cette pyramide. Tous les besoins de base et Ben Wolf, plus de besoins de niche au fur et à mesure que vous progressez. Et la collecte de données est à la base même de cette hiérarchie des besoins. Et nous devons être conscients que, déjà dans le cadre d'un processus collectif, de nombreuses personnes aiment à penser que données sont impartiales, c'est vrai. Mais ce ne sont vraiment pas les filles. Bien souvent, même dans ce cas, les systèmes physiques biaisent nos données, sont lues en les collectant, puis mises à niveau, en les déplaçant et en les stockant sur de grandes surfaces. Nous veillons donc à disposer d'un stockage fiable, ralentissement fiable des données, mise en place d'un processus d'extraction, de transformation et de chargement ETL en place d'un processus d'extraction, de transformation et de chargement afin de réellement améliorer l' infrastructure de la science des données. Le niveau supérieur de la race consiste à explorer et à transformer les données. agit donc de détecter les anomalies lors du nettoyage, préparer nos données pour le MLS proprement dit. quatrième étape consiste à agréger et à étiqueter les données, à choisir les indicateurs que nous utiliserons et à examiner les fonctionnalités et les données d'entraînement La dernière étape du panel consiste à effectuer la modélisation proprement dite. agit donc de faire des tests AB, de tester entre une version du site Web et une autre et d'expérimenter des algorithmes d'apprentissage automatique simples pour obtenir des modéliser les données et créer des prédictions basées sur la pointe de la pyramide, des têtes, IA et des personnes hochant la tête. Donc les trucs vraiment juteux, mais aussi ceux auxquels la plupart des entreprises ne pensent pas vraiment. Cela résume approximativement le temps que vous devez également consacrer à chaque étape du périmètre. Donc, si vous ne passez pas de temps à acquérir des données ou à réfléchir aux données, vous aurez probablement un problème plus tard. Une autre façon d'aborder les sciences des données en posant des questions. Le processus de science des données consiste essentiellement à poser des questions sur vos données. Et il s'agit d'une approche très itérative. Donc, au début, vous vous posez la question acquisition de ces données, mais comment les données sont-elles réellement échantillonnées ? Cela entre dans les données des acheteurs. Quelles données sont pertinentes, puis vous passez à l'exploration des données jusqu'à l'analyse exploratoire des données. Andrey Inspecte. Parfois, il faut y retourner. Il s'agit d'un processus itératif. Au cours de l'exploration, vous constaterez que certaines sources de données pourraient vraiment aider les informations que vous avez dans vos données. Vous faites donc des allers-retours entre les étapes. Ensuite, vous modélisez les données, créez un modèle d'apprentissage automatique simple ou vous établissez simplement la hiérarchie des besoins et réellement acquis des connaissances en modélisant vos données à l'aide d'algorithmes simples. Enfin, et cela ne fait pas partie de la hiérarchie des besoins, mais cela fait certainement partie du processus de science des données qui consiste à communiquer vos résultats. Qu'avons-nous appris ? Comment donner un sens aux données ? Quels sont nos points de vue ? Et comment pouvons-nous convaincre les gens de l' idée que nous savons tous que, parfois, il ne suffit pas de connaître la vérité ? Vous devez raconter une histoire captivante pour convaincre les gens de Jane Science et vraiment avoir un impact sur votre journée. Ce cours vous montrera donc l'ensemble du processus et comment générer ces histoires obsolètes. 4. 03 Aperçu de l'outil nouveau: Faisons un tour d'horizon des outils que nous utilisons dans cette classe. De toute évidence, tout ce qui concerne la science des données sera universel. Mais l'apprentissage du Python est également extrêmement précieux pour vos compétences. Python a gagné en popularité parce qu'il est gratuit, qu'il est open source, qu'il est très facile à utiliser et qu'il peut être installé sur pratiquement n'importe quel appareil. Donc, Mac, Windows, Unix, même votre téléphone, pas de problème. Et son code de minceur pour les humains. Donc, de nombreux sites, Google Ads, YouTube, Instagram, Spotify, ils utilisent tous au moins et Pub Python parce qu' il est si facile d'attirer de nouvelles personnes avec Python. Parce que si vous écrivez du bon code Python, il peut presque être lu comme du texte. Installe Python 3.8 à l'aide de l'installation d'Anaconda. Anaconda est une bonne solution car elle distribue de nombreux packages de science des données dont nous avons déjà besoin et c'est gratuit. Si vous utilisez une version ultérieure de Python, cela devrait parfaitement convenir tant que c'est Python, veuillez vous demander si vous devez installer une sorte d' IDE ou une sorte de compilateur pour Python. Et ce n'est pas le cas. Nous utiliserons Jupiter, qui est une interface Web pour Python qui rend l'enseignement Python et du parcours d'apprentissage extrêmement facile. Et à partir de là, vous pouvez toujours passer chez un autre éditeur. L'un de mes favoris est VS Code. C'est devenu très bon pour le développement en Python. Et le code VS compte en fait avec un interpréteur. Et Views Code est également livré avec une extension pour Jupiter. Mais c'est pour un autre jour à la base de tout ce que nous faisons, NumPy, c'est une bibliothèque informatique scientifique et Python. Et nous n'interagirons pas directement avec cela, mais je veux que vous sachiez que c'est là. Ainsi, lorsque vous devez effectuer un calcul, vous pouvez toujours le faire en Python. Il a été utilisé pour trouver des trous noirs. Il est utilisé pour l' analyse du sport et pour les calculs financiers. Et il est utilisé par chaque package que nous utiliserons dans ce cours. Vous remarquerez rapidement sur ce cours que tout ce que nous faisons dépend des pandas. Pandas est un outil puissant qui est une sorte de mélange entre Excel et SQL pour moi. Et c'est vraiment un outil d'analyse et de manipulation de données. Nous stockons donc nos informations avec des colonnes mixtes dans un DataFrame. Et ce DataFrame peut ensuite être manipulé, modifié, ajouté uniquement dans cet outil pour la partie apprentissage automatique et validation du modèle lors de l'utilisation de scikit-learn et de bibliothèques basées sur scikit- apprenez, Scikit-learn a beaucoup changé notre façon faire de l'apprentissage automatique et a contribué en partie à l'essor que nous observons actuellement dans le monde en matière d'apprentissage automatique. Matplotlib est un outil de visualisation de données et nous utiliserons principalement des bibliothèques qui s' appuient sur matplotlib. Mais il est très important de savoir qu'il existe et qu'il contient une vaste bibliothèque d'exemples où vous pouvez avoir un aperçu de ce que vous souhaitez créer. Seaborn est l'une de ces bibliothèques uniques qui s'appuient sur matplotlib. Et il est extrêmement puissant dans la mesure où il suffit souvent d'une ou deux lignes pour créer de très belles visualisations de vos données statistiques. Il s'agit des outils fondamentaux que nous utiliserons dans le domaine de la science des données. Il existe des logiciels open source, ils sont gratuits et ce sont les plus importants. Mais nous utiliserons quelques autres outils plus petits que j'ai appris à apprécier également, mais je les présenterai tout au long du cours. La documentation de ces outils open source est incroyable car elle est également créée par des bénévoles comme moi. J'ai écrit une partie de la documentation sur les pandas et scikit-learn, et vous trouverez qu' elle est très utile avec de petits exemples intéressants qui vous permettront de mieux comprendre le code. Si vous les utilisez dans le cadre d'une entreprise, ils sont toujours gratuits. Mais pensez à devenir un défenseur sponsoring, car ces packages reposent vraiment sur la rémunération de développeurs et de responsables de la maintenance. 5. 04 Comment trouver une aide nouvelle: Cela peut être vraiment intimidant de suivre ce cours. Je comprends tout à fait. J'apprends constamment. Je suis en train de suivre ces cours et c'est terrible d'être seule . Mais Skillshare possède la page du projet où vous pouvez demander de l'aide. Dans ce cours, vous examinerez également les différentes manières de trouver de l'aide et comment vous pouvez apprendre à vous aider vous-même. Parce que chaque programmeur vous dira qu'il est devenu de plus en plus doué en programmation. Premièrement, ils ont appris à rechercher les paiements RIF sur Google. Pour commencer, nous allons jeter un œil au carnet Jupiter car le carnet Jupiter veut directement nous aider. Donc, si nous avons une fonction quelconque, même la fonction d'impression, nous pouvons utiliser Shift Tab. Et lorsque nous appuyons dessus, une fois, elle s'ouvre, en gros, la description de base, ce qui nous permet d'obtenir la signature de notre fonction. Cela signifie que le nom doit être imprimé ici. C'est le premier argument, puis le point point est juste petit. Et voici les arguments clés. Et cela renvoie la première, je suis la première phrase de la documentation de la docstring. Ainsi, même si nous pouvons appuyer sur Shift Tab plusieurs fois, deux fois, il suffit d'ouvrir la chaîne documentaire complète. Trois fois, c'est la chaîne de caractères That's the docstring ouverte plus longtemps et vous pouvez également cliquer ici. Et tout ça. Et quatre fois , je vais le jeter au fond. Vous l'avez donc disponible pendant que vous travaillez et vous pouvez simplement le mettre ici, de son côté, mais aussi simplement le fermer. Et un ajout. Eh bien, nous allons donc travailler avec des pandas. Ainsi, lorsque nous commençons à taper, nous pouvons souvent appuyer sur la touche Tab pour la saisie semi-automatique. Et c'est vraiment ma façon personnelle d'être un peu paresseuse lorsque je tape. Ainsi, lorsque je veux importer des pandas, je peux appuyer sur la touche Tab et voir quels types de choses sont installés. Des pandas en tant que police s' exécutant ici, je vais m'occuper de Control Enter pour rester au même endroit. Et Shift Enter. Il va être exécuté et m' emmener dans la cellule suivante. Et là, je peux aussi, donc P D, c'est maintenant nos pandas. Quand j'appuie sur point et Tab, toutes les méthodes disponibles sur PC s'ouvrent. Donc, ici, je peux vraiment vérifier n'importe quoi. Par exemple, si je veux fusionner quelque chose, je peux appuyer sur la parenthèse, y placer la touche de tabulation et lire comment le fusionner. Maintenant, cela peut être un peu difficile à lire, même si nous pouvons le mettre tout en bas ici. Et c'est pourquoi il existe la documentation sur les pandas, qui est essentiellement construite à partir de la docstring avec quelques astuces de formatage. Vous pouvez donc voir ici ce que c'est, sa signature. Et vous pouvez y lire , même regarder les exemples et les copier. Une chose à savoir en matière de logiciels c'est que ce genre de code qui est là, je veux dire, n'a rien de génial. Vous n'êtes pas obligé de vous sentir bien, vous n'avez pas vraiment besoin de les taper. Tu peux simplement les recopier et dire, d'accord, j'en avais besoin. Maintenant, j'ai un beau DataFrame avec l'âge, etc. Donc, copier quelque chose comme ça est très courant. C'est exactement ce que nous faisons dans le domaine des logiciels. La bonne volonté est la prochaine façon d'obtenir de l'aide. Et je fais parfois la blague en disant que dans les interviews, vous devriez simplement demander à des personnes de Google Python voir s'il montre des serpents ou s' il montre le logo Python. Parce qu'à un moment donné, Google commence à vous connaître et vous montre de plus en plus Python. Et c'est un bon moyen de voir que vous avez beaucoup d' expérience en cinq ans. Donc, lorsque vous voulez poser n'importe quel type de question, lorsque vous êtes coincé avec quoi que ce soit. Comme si vous aviez un format de données très obscur que vous souhaitez charger. Ou vous avez simplement une erreur dont vous ne savez pas vraiment quoi faire avec votre copie. Et disons que vous avez une erreur de type, par exemple , jetez un coup d'œil ici et il y en a généralement une surlignée. Mais bien sûr, Google change toujours et vous êtes souvent redirigé vers les documents. Donc, dans ce cas, il s'agit de la documentation Python. Et puis l'un des liens sera également StackOverflow. Et StackOverflow est ce site Web , il est extrêmement utile, mais ce n'est pas non plus le meilleur endroit pour les débutants car certains des meilleurs experts du monde sur ce site Web répondent à votre question. Mais si votre question n'est pas bien formulée, certaines personnes présentes sur ce site Web peuvent parfois être un peu hostiles à son sujet. Cependant, pour naviguer et trouver des solutions, par exemple, votre question a probablement déjà été posée. Si vous ne le trouvez pas sur StackOverflow, essayez de modifier légèrement votre requête Google. Vous trouvez donc différents types de résultats, comme le type d'erreur de type ou avez-vous une copie du nom complet de l'erreur de type, etc. Donc, vraiment, vous voulez faire défiler la page vers le bas jusqu'aux réponses. Et celui-ci n'est pas vraiment très apprécié. Mais souvent, vous avez un vote positif. C'est donc très, très populaire. Et parfois, vous pouvez même obtenir des réponses acceptées. Par exemple, jetez un œil à celui-ci. Ici, vous avez une coche verte, ce qui signifie que le demandeur a marqué cette réponse comme réponse exceptée. Et vous pouvez voir ici que les gens mettent beaucoup de temps à répondre à ces questions. Vous pouvez voir les choses de différentes manières avec des exemples de code et vous pouvez vraiment vérifier ce qu' il faut faire ensuite avec votre type d'erreur. Revenons à Jupiter et fermons celui-ci. Parce que c'est aussi quelque chose que je veux te montrer. En Python. Les flèches sont bon marché parce que nous pouvons les utiliser facilement. Si nous avons quelque chose comme ça, il nous dira tout de suite ce qui se passe. Il y a donc quelque chose de bizarre au début. Mais ce que je fais d' abord en cas d'erreur, quelle soit sa longueur, c'est une flèche très courte. Faites défiler l'écran jusqu'à la toute dernière ligne et jetez-y un coup d'œil. Oh, d'accord, c'est une erreur de syntaxe indique un EOF inattendu alors que la politique EOF, EOF signifie et un fichier. Donc, si vous ne savez pas vraiment ce que c'est, copiez-le, consultez Google et jetez-y un œil. Si Google vous dit de quoi il s'agit. Souvent, la recherche sur Google est meilleure que la recherche sur leurs sites Web eux-mêmes. Et ici, cela signifie que la fin de votre code source a été atteinte avant que tous les codes ne soient terminés. Regardons donc à nouveau notre code. Ici. Si nous fermons les parenthèses, notre code est maintenant terminé et il fonctionne très bien. Faisons, générons une autre erreur. Oui, quelque chose que nous ne pouvons certainement pas faire est diviser cette chaîne par un nombre. Donc, si nous l'exécutons, cela nous donne une erreur de type. Nous allons donc faire défiler l'écran jusqu'en bas et dire : «  Eh bien, voyons ce qui se passe ici. Et cela vous indique que la division n'est pas possible pour les chaînes et pour les entiers. Et en utilisant réellement les flèches , vous pourrez comprendre pourquoi Python n'aime pas ce que vous avez écrit ici. Puisque nous parlons d' aide , je ne pourrai pas regarder par-dessus son épaule. Et les classes auxquelles j'ai donné une erreur très courante que vous pouvez détecter vous-même sont que ces blocs-notes Python n'ont pas besoin d'être exécutés dans l'ordre. Vous voyez donc le petit chiffre juste à côté de ce qui a été exécuté et de ce qui ne l'a pas été. Faisons un petit exemple, ajoutons de nouvelles choses ici. Disons qu'ici je définis a, N, ici. Je veux définir b. Et b sera multiplié par cinq. Et je passe par là, j'expérimente ça. Je regarde DP Merge, ai une erreur ici, ce qui est bien. Nous pouvons laisser ça pour le moment. Exécutez ce code, imprimez peut-être quelque chose. Et vous pouvez voir que ces chiffres sont irrecevables. C'est important par la suite. Ensuite, j'exécute cette cellule et elle me donne un nom d'erreur, nom d'erreur a n'est pas défini. Et c'est parce que cette cellule n'a pas de numéro. Il n'a jamais été exécuté. Donc, juste quelque chose pour remarquer que vous devez exécuter toutes les cellules que vous voulez. Parce que. Lorsque nous exécutons celui-ci puis que nous exécutons celui-ci, c'est tout à fait correct. Alors jetez vraiment un œil aux chiffres et à la flèche suivante. Et cela est très lié à cela, c'est que parfois nous changeons quelque chose quelque part comme ici. Et nous changeons de a en B en six. Ensuite, nous exécutons à nouveau ce code. Et tout à coup, on y jette un coup d'œil et b vaut 30 , alors que a vaut cinq ici. Et c'est l'un des gros problèmes que rencontrent les gens en cas d'exécution hors ordre. Et tu dois faire attention à ça. Donc, soit vous devez simplement suivre les cellules que vous avez saisies. Et surtout avec ça, comme s'il y avait 107849, cela devient vraiment difficile à garder à l'esprit. En particulier, vous pouvez supprimer ces cellules. Et un sera toujours dans la mémoire. Nous pouvons donc toujours l'exécuter même si les cellules n' existent plus. Parfois, il suffit de passer au caramel et de dire redémarrer et effacer la sortie, ce qui efface toutes les variables et toutes les sorties que nous avons ici. Nous pouvons donc y aller, appuyer sur ce gros bouton rouge, et maintenant nous avons un nouveau carnet avec tout le code dedans. Nous pouvons maintenant l'exécuter afin d'obtenir toutes nos erreurs et voir ici que a n'est pas défini. Nous devons donc essentiellement ajouter une nouvelle ligne ici et définir à nouveau une. Et de cette façon, vous pouvez détecter de nombreuses erreurs dans Jupiter en regardant les chiffres ici Avez-vous oublié d'exécuter quelque chose ou l' avez-vous fait dans le mauvais ordre ? Oui. Au total. Pour trouver de l'aide en Python, vous devez vous souvenir de Shift Tap. N'oubliez pas cet onglet, complétez automatiquement vos requêtes et vous pourrez vous donner des informations les méthodes disponibles sur pratiquement n'importe quoi. Ensuite, vous voulez vraiment être doué pour googler les choses. Dans certains de mes cours, certaines personnes avec qui je me suis un peu bien débrouillée et avec qui je suis devenue amie se sont moquées de moi à un moment donné et m'ont dit que votre cours aurait pu être essentiellement composé de Google parce qu'à un moment donné, tout le monde doit rechercher des informations sur Google et il y a aussi des publications amusantes sur Twitter , où les responsables des bibliothèques doivent rechercher sur Google des informations très basiques sur leurs propres bibliothèques parce que notre cerveau n'est pas fiable et que les choses changent. Et si vous voulez avoir les dernières informations, il n'y a aucune honte à regarder vers le haut une fois que vous avez fini de faire des recherches sur Google, de consulter StackOverflow, copier une sorte de code. Tu t'en porteras mieux. Maintenant, tous ces outils pour trouver de l'aide et Python et vous aider vous-même. Et cela vous donne les outils nécessaires. Plongez dans la science des données avec le vélo. 6. 10 Chargement d'introduction nouveau: Les deux premières classes intégreront des données en Python. Ainsi, que vous ayez des données dans les tables de votre base de données SQL, elles ne correspondent pas. Nous allons le mettre en Python dans un outil appelé pandas, qui est essentiellement d'excellents stéroïdes en Python. Et passons à vos données. 7. 11 Charger des fichiers Excel et CSV neufs: C'est la première classe où nous avons abordé le code. Ouvrez donc votre bloc-notes Jupyter si vous souhaitez coder en même temps. Nous allons commencer par le chargement des données. J'ai donc fourni des fichiers supplémentaires et des polices de valeurs CSV séparées par des virgules et nous allons commencer à les charger. Nous pourrions écrire ceci à la main et je vais également vous montrer, sur un exemple beaucoup plus simple comment écrire quelque chose comme ça à la main. Mais heureusement, Python ayant maintenant plus de 20 ans, de nombreuses personnes ont déjà beaucoup réfléchi à l'extension des fonctionnalités de Python. Nous pouvons donc utiliser ces pandas ici et étendre Python pour charger des données en Python. Donc, ce que nous faisons ici, c'est simplement importer des pandas. Et cela serait suffisant, car nous utiliserons beaucoup de Pandas. Habituellement, nous lui donnons un raccourci pour désigner une sorte d'alias. La Pd est une maladie très courante que beaucoup de gens utilisent. Ensuite, nous exécutons la cellule et nous avons maintenant des pandas et du Python. Et pour importer ou lire des données, nous pouvons effectuer le DP, ne pas lire, appuyer sur la touche Tab pour voir les différentes manières de charger des données dans Pandas. Dans ce cours, nous examinerons les plus courants que j'ai découverts dans mon travail de data scientist. Mais je vais aussi vous montrer comment trouver les autres. Parce que si nous ne savons pas vraiment ce que nous faisons, nous pouvons toujours consulter la documentation sur les pandas. Bien que nous puissions voir tout ce que nous pouvons faire avec les pandas, puisque nous avons déjà lu X0 ici, nous pouvons également appuyer sur Shift Tab et examiner cette signature. Et vous verrez que cela ressemble étrangement à la documentation, car Pandas et tout Python sont livrés avec leur documentation intégrée. Il est donc très autonome et très convivial. Donc, au début, il suffit de donner le nom du fichier où se trouve réellement le fichier. Et ce sera une barre oblique contenant le point XLSX, le nouveau type de fichier supplémentaire. Et le chargement s'exécutera. Et nous voyons que nous avons maintenant toutes ces données dans Pandas. Nous ne l'avons pas enregistré dans une variable pour le moment. Mais ce que nous faisons habituellement si nous n'avons qu'un ensemble de données temporaire, nous l'appelons df. Parce qu'en Python, cela s'appelle un DataFrame. Il s'agit donc essentiellement d'une représentation XO d'une seule feuille dans votre Python. Parce que nous voulons y jeter un œil. Ensuite. Nous allons simplement appeler directement notre DataFrame et examiner les cinq premières lignes. Nous pouvons voir ici les en-têtes et nos données. Les fichiers CSV sont légèrement différents car les fichiers CSV sont des données brutes. Jetons un coup d'œil ici. J'ai les données. Nous pouvons en fait examiner valeurs CSV séparées par des virgules dans bloc-notes, car ce n'est que du texte et c'est fantastique pour partager des données entre systèmes, surtout si vous avez des programmeurs qui ne le sont pas disposer de Microsoft Office. C'est le meilleur moyen de partager des données. Nous lisons le fichier CSV et nous pouvons simplement lui redonner le nom du fichier. Donc, logement point CSV. Et ça devrait, disons ça directement sur celui-ci. Cela devrait nous donner les mêmes données et nous pouvons voir qu'elles sont identiques. Mais je veux te montrer un truc vraiment cool. Si, vous savez que certaines données sont en ligne, comme cet ensemble de données d' articles de taille moyenne sur Free Code Camp. Il peut en fait colorier un PDF, lire un fichier CSV et simplement lui donner l'URL. Mais cela va échouer. Je vais vous montrer que nous devons apprendre que les flèches et le Python, c'est bien. C'est tout à fait normal de faire des erreurs. Lisez la dernière ligne, transmettez une erreur lors de la tokenisation des données. C'est comme s'attendre à quelque chose de différent. Et vous pouvez déjà voir ici que ce n'est pas un CSV, c'est un fichier TSV. Donc, quelqu'un séparait cela par des onglets. Et pour placer des onglets, utilisez cette barre oblique inverse comme séparateur. Et nous pouvons importer ces données directement depuis Internet en indiquant simplement le mot clé correct. Et c'est quelque chose de vraiment important à voir, vraiment important à apprendre. Si nous y jetons un coup d'œil, nous pouvons utiliser de nombreux mots-clés . Ces mots-clés sont extrêmement utiles et nettoient déjà vos données. Vous pouvez voir ici qu' il existe quelque chose qui s'appelle NaN. Ce n'est pas un chiffre que nous devons nettoyer plus tard en le chargeant Nous pouvons déjà examiner des questions comme voulons-nous éviter les lignes blanches ? Donc c'est vrai, pandas a une solution très conviviale si vous voulez expérimenter celui-ci. Je laisserai cela dans la section des exercices. Et vous pouvez vérifier si vous pouvez déjà le nettoyer. Certaines mamans disposeront également d'une section dédiée aux données de nettoyage ultérieurement. Le chargement de données en Python avec des pandas est extrêmement facile. Essayez-le avec vos propres données. Si vous avez un fichier XL qui traîne sur votre ordinateur, souvenez-vous que tout cela se trouve sur votre ordinateur. Rien ne sort. Vous pouvez donc simplement imprimer des points, récupérer vos données et jouer avec elles. Dans ce cours, nous avons travaillé sur le chargement de tableaux Excel et de valeurs de fichiers séparées par des virgules et nous avons même examiné comment charger des données depuis Internet. prochain cours, nous examinerons les tables SQL. Quelques nano fonctionnent avec eux. N'hésitez pas à l'ignorer. Le prochain cours sera ce trajet pour vous. 8. 12 Chargement de données à partir de SQL nouveau: Les bases de données SQL sont un excellent moyen stocker des données et de les mettre à la disposition des data scientists qui travaillent avec SQL jusqu'au bout. Il y a des cours complets sur Skillshare vers lesquels je vais créer un lien. Vous pouvez également les trouver ici, dans le carnet. Cependant, il est bon d'avoir une vue d'ensemble, car il est très facile de charger les données une fois que vous savez comment le faire. Et si vous travaillez avec SQL, cela vous sera très utile. La plupart des entreprises ne stockent pas ces données dans des fichiers Excel car le Mexique est copié, il est copié. Et tout à coup, vous vous retrouvez avec une version finale, finale. Et c'est probablement quelque part sur le PC de quelqu'un, peut-être sur un ordinateur portable. Au lieu de cela. De nombreux sites disposent de bases de données. Sur un serveur, cette base de données qui contient toutes les informations dont vous avez besoin. Généralement, cette méthode d'accès aux informations est appelée SQL, abréviation de Structured Query Language. C'est un langage en soi. Il serait trop difficile d' expliquer cela dans ce cours. Si vous souhaitez en savoir plus, il existe des cours sur Skillshare et des ressources comme celle-ci, qui sont liées, où vous pouvez l'essayer, faire les exercices étape par étape, apprendre à monter un requête, obtenez des données en Python de manière avancée. Il suffit absolument d'importer à nouveau des pandas. Ensuite, nous pouvons y jeter un œil et il y a du SQL ici. Ce que vous pouvez faire ici, c'est en fait trois choses différentes. Il y en a une générale, SQL, il y a une requête SQL. Il y a un tableau contenant le code SQL dans la documentation. C'est généralement un très bon point de départ. Veillez à ce qu'il existe deux types de déchets. Si nous faisons défiler l'écran vers le bas, nous pouvons voir qu' il existe différence entre la table SQL et la requête SQL. Jetons un coup d'œil à la requête et cela nécessite que vous écriviez une requête SQL. Certains d'entre eux peuvent être très simples et vous faire gagner beaucoup de place. Donc, si vous avez une grande base de données, la table SQL charge simplement la table entière depuis votre serveur. En plus de Pandas, nous voulons en fait importer de l'alchimie SQL. Et puis en dessous, cela créera la connexion. C'est ce que l'on appelle un moteur. Et voyons ce dont nous avons besoin ici. Donc, si vous avez une base de données Postgres SQL, nous pouvons simplement la copier. Il doit s'agir de l' emplacement de votre base de données. Ici. Nous allons lire le tableau des suites juste pour vous faciliter la tâche. Et maintenant, si vous aviez votre base de données SQL, vous pouvez mettre votre nom ici, par exemple sales comme connexion ici. Si nous voulions réellement utiliser le langage SQL, nous devrions utiliser read SQL query. Et cela signifie que dans ce cas , nous devons définir une requête qui entre dans notre connexion. Cette requête peut donc être très, très simple. Bien entendu, cette requête peut être aussi compliquée que vous le souhaitez. Nous prenons donc ici la chaîne multiligne de Python. Nous pouvons donc dire Sélectionnez les clients et le total des dépenses liées aux ventes. Et comme il s'agit d'une table très grande, nous voulons la limiter à 1 000 entrées, car nous voulons juste avoir un premier aperçu et ne pas surcharger notre ordinateur. En plus de cela. Nous voulons dire que nous sommes en 2019. Nous pouvons maintenant copier tout cela ici et sélectionner nos données dans notre base de données imaginaire ici même. L'utilisation d'une requête SQL est, espérons-le, une question de cette classe. Sql peut être assez simple. Vous pouvez simplement obtenir la table à partir de la base de données et l'utiliser dans Pandas. Maintenant, le cours suivant va être de savoir comment charger n'importe quel type de données. Et nous allons montrer que les pandas rendent les choses un peu plus faciles. 9. 13 Charger tout fichier nouveau: Parfois, vous avez des données étranges et je suis géophysicien, je travaille avec des données sismiques. Et il existe des packages qui peuvent charger des données sismiques en Python, tout comme nos fichiers CSV. Et dans ce cours, nous verrons comment charger des données et comment les rendre disponibles. En Python, pandas est idéal pour les tables et les données structurées de ce type. Mais parfois, nous avons différents formats de données, comme un simple fichier texte, des images ou des formats propriétaires. Alors, lorsque j'étais en cours de mentorat à la conférence américaine Python, quelqu'un m'a posé des questions sur ce format très spécifique avec lequel ils travaillent. La première chose que j' ai faite, c'est de l'avoir googlé. Il y avait une bibliothèque Python pour cela, et je vais vous montrer comment l'utiliser. bibliothèques Python les plus courantes utilisent le fichier texte. Contrairement au fichier texte que nous avons ici, il s'agit d'un fichier CSV, mais il s'agit toujours d'un fichier texte. Comme vous pouvez le constater, ce que nous disons est ouvert et nous devons ensuite lui donner l'endroit où il se trouve et le nom. Passons maintenant à la tabulation. Il existe différents modes pour se lever. Le mode c'est R. Voyons ce que ces modes signifient réellement car vous pouvez ouvrir des fichiers sur n'importe quel ordinateur, mais la plupart des programmes le font pour vous. Et en mode lecture, en mode droit et en mode ajout. Vous devez donc vous assurer que si vous lisez des données que vous ne souhaitez pas modifier, celles-ci sont définies sur r. Soyons explicites. Ensuite, nous donnons un nom à ce fichier que nous avons ouvert pour pouvoir simplement appeler ce logement. Et Python, les espaces blancs sont très importants. Nous avons donc maintenant un bloc que je vais archiver. Et dans ce bloc, par exemple, nous pouvons dire que les données sont égales à la lecture par point, et cela lit nos données. Maintenant, si nous sortons de ce bloc, nous pouvons réellement travailler avec notre variable sans avoir le fichier ouvert. Et c'est extrêmement important. Beaucoup de personnes novices programmation ne le savent pas, mais la plupart des fichiers ne peuvent être ouverts que par une seule personne et un seul programme à la fois. Si vous essayez d'accéder aux mêmes données, elles seront cassées. Il est donc très important d'ouvrir vos données, enregistrer dans des variables chargées dans Python, puis de tout fermer. Donc, si nous devons adhérer à l'état de variable et sortir de ce bloc, Paul exécute simplement ceci et passe à la cellule suivante. Nous pouvons faire des choses avec Data Bike, regarder ce qu'il y a dans les données. Et nous pouvons voir ici qu'il s'agit d'un fichier texte sans ouvrir le fichier, ce qui est un moyen très simple et accessible de le faire. Nous pouvons également jeter un œil à Housing en tant que gestionnaire de fichiers ici. Et nous pouvons voir que cela nous indique si les logements sont fermés ou non. Donc, ici, nous pouvons voir qu'une fois ce bloc exécuté, il sera fermé. Voyons à quoi cela ressemble à l'intérieur. Donc, à l'intérieur, ce n'est pas fermé. Cela signifie que nous pouvons lire différentes lignes et tout ça. Cependant, au lieu de simplement utiliser le Python open standard, nous pouvons utiliser de nombreuses bibliothèques différentes qui nous fournissent également des gestionnaires. Je peux donc utiliser quelque chose comme « je suis malade ». Pourquoi IO, dont vous n'avez probablement jamais entendu parler auparavant. Et c'est pourquoi je le veux Je veux vous le montrer très rapidement, ce qui est juste un moyen de l'importer. Après l'avoir importé, nous pouvons dire avec segue I 0 point ouvert, lui donner le fichier, le nommer S, puis charger toutes les données physiques dans Python. Et après leur système, le dossier, encore une fois, s'est fermé et était en sécurité. Donc, c'est vraiment une façon très générale de charger vos données dans Python. Et comme vous pouvez le voir ici, notre fichier CSV n'est pas aussi beau que dans Pandas. Mais avec un peu de traitement, nous pouvons vraiment le faire paraître aussi beau que des pandas afin de le diviser, par exemple sur ces nouvelles lignes, ce qui est une barre oblique inverse n. Et nous pouvons voir que cela donne déjà utilise toutes ces lignes ici. Et nous pouvons continuer et séparer chacune de ces lignes par une virgule cause de cette virgule séparée par une virgule et ainsi de suite. Mais c'est pourquoi je vous ai d'abord montré des pandas. Parce que c'est tellement plus facile. Et je trouve que c'est très agréable passer d'abord à ces abstractions de haut niveau, mais aussi de voir comment faire le travail et le verso. Dans cette classe, nous avons eu un aperçu de ce que fait l'instruction width L Can et de la façon de charger tout type de recherche de données pour les chargeurs de données dans les formats étranges que nous avons parfois. Et je pense que nous avons certainement vu à quel point Pandas nous facilite car diviser un fichier CSV comme Vout est très fastidieux. Et puis nettoyer les données comme des valeurs manquantes est encore pire. Et le prochain cours portera sur d'énormes ensembles de données. Alors, que se passe-t-il lorsque nos fichiers deviennent si volumineux qu'ils ne rentrent plus dans la mémoire, comment charger ces données et comment pouvons-nous les gérer ? 10. 14 données énormes nouvelles: Il est assez courant que, surtout dans les grandes entreprises, vos ensembles de données ne rentrent plus dans la mémoire de votre ordinateur. Ou que si vous faites des calculs avec eux et le calcul prend tellement de temps que vous empruntez et, dans certains cas, vous prendrez plus l'Univers existe déjà. Cela signifie donc que nous devons trouver des moyens de travailler avec les données afin de les réduire et de les réduire en mémoire. Nous en reparlerons. Mais aussi comment échantillonner les données. Vous avez donc un sous-ensemble, car il est souvent valable de simplement prélever un échantillon, un échantillon représentatif de mégadonnées, puis de faire des calculs et faire de la science des données à ce sujet. Et c'est une question dans laquelle nous abordons. Nous importerons des pandas au format pdf, puis nous chargerons nos données dans le DataFrame df avec un fichier CSV lu. Nous allons le faire explicitement maintenant, car nous pourrons le modifier ultérieurement pour voir les différences entre les différentes procédures de chargement et la manière dont nous pouvons optimiser notre chargement. Cela nous donne l'empreinte mémoire suivante de notre DataFrame chargé, qui devra dire que deep est égal à vrai car que deep est égal à vrai car certains objets doivent être mesurés. Vous voyez ici que proximité de l'océan est bien plus importante que tout le reste. Et c'est parce que la proximité de l'océan contient des chaînes de données. Nous savons donc que c'est catégorique. Nous allons jeter un coup d'œil à la tête très rapidement. Juste ici. C'est catégorique et tout le reste n'est que des chiffres. Les chiffres sont très efficaces, mais s'ils contiennent des chaînes peuvent nécessiter beaucoup de mémoire. Si nous jetons un coup d' œil aux types profonds. Donc, en ce qui concerne les types de données, nous voyons qu'à l' heure actuelle , la proximité de l'océan n' est qu'un objet. Tout le reste est flottant, donc un chiffre. Mais c'est l' objet qui le rend si volumineux en mémoire, car un objet, nous pouvons modifier les types de données de notre DataFrame lors de son chargement, le fera en disant df de proximité de l'océan parce que nous voulons modifier la proximité de l'océan. Copiez tout cela et nous remplacerons notre proximité de l'océan avec ce point comme type de texte. Et nous pouvons utiliser un type de données spécial dont disposent les pandas, appelé catégorique ou catégorie. Quoi ? Cela améliore notre utilisation de la mémoire. Profond est synonyme de vrai. Nous ne voyons donc que l' empreinte mémoire des colonnes. Et nous pouvons constater que cela améliore notre utilisation de la mémoire de la proximité de l'océan de manière significative, même deçà de l'utilisation des chiffres. Et c'est ainsi que vous pouvez optimiser votre base de données de manière simple. Maintenant, un problème évident est que nous avons déjà ces données en mémoire et que nous les modifions ensuite. L'empreinte mémoire de ce système est donc toujours importante. Nous ne faisons que le réduire par la suite. Ce que nous pouvons faire, c'est modifier les types de données en cas de faible temps. Jetons donc un coup d' œil à la docstring. Et on y va. C'est du type D. Et nous allons attribuer un dictionnaire où la clé est notre colonne. Nous utiliserons à nouveau la proximité de l'océan. Et la valeur sera le type de données. Cela signifie que vous pouvez en utiliser autant que vous le souhaitez. J'y ai fait une faute de frappe et une faute de frappe et un boîtier qui va disparaître. Et en utilisant cela, vous pouvez également attribuer deux nombres au type entier et réellement modifier votre chargement au moment du chargement. Donc d de petit, examinons l'empreinte mémoire de celui-ci. Donc, utilisation d'une faible consommation de mémoire, profonde est égale à vraie. Et nous pouvons voir ici que cela a automatiquement modifié notre empreinte mémoire du DataFrame au moment du chargement . Et si, au lieu de charger l'intégralité du DataFrame avec toutes les colonnes toutes les fonctionnalités disponibles, nous choisissions ne prendre qu'un sous-ensemble de colonnes. Peut-être que nous n'avons pas besoin de tout. Peut-être que nous n'avons pas besoin du prix médian de l' immobilier dans celui-ci. Nous allons donc définir un nouveau DataFrame et charger les données comme toujours. Mais dans ce cas, nous allons définir les colonnes. Ce sont donc des colonnes. Et dans ce cas, nous aurons besoin d'une liste. Jetons un coup d'œil, utilisons la longitude et la latitude. Et nous allons, nous pourrions aussi utiliser le nombre total de chambres ou quelque chose comme ça, mais nous utiliserons simplement la proximité de l'océan comme avant. Il suffit de le coller dans le fichier édité. Il s'agit donc en fait des noms de colonnes par entrée de liste et ajoutez la proximité de l'océan. Maintenant, cela va mal tourner et je veux que vous appreniez qu'il est tout à fait normal de faire des erreurs ici. Parce qu'en Python, les erreurs ne coûtent rien. Nous pouvons voir cette erreur de type. Il indique qu'il ne reconnaît aucun des mots clés. Et c'est parce que j'utilise des colonnes au lieu d'utiliser des Coles. Honnêtement, je ne me souviens pas de tous les mots-clés parce qu'il y en a tellement, mais c'est pourquoi nous avons le docstring et corrigé. En regardant le DataFrame, nous n'avons chargé que la longitude, latitude et la proximité osha. Une autre très bonne façon de gagner de la place lors du chargement. De cette façon, nous pouvons charger un grand nombre de lignes avec seulement quelques colonnes. Parfois, le problème ne vient pas vraiment du chargement des données. Toutes les données s' insèrent dans notre DataFrame. Mais le problème, c'est de faire le calcul. Peut-être que nous avons une fonction très coûteuse, complot très coûteux que nous voulons réaliser. Nous devrons donc échantillonner nos données. Et Pandas nous facilite la tâche. échantillon de méthode est disponible pour chaque DataFrame. Vous venez de fournir un numéro qui vous donne autant de lignes que vous le souhaitez dans votre DataFrame. Dans ce cas, jetons un coup d' œil à la docstring. Nous pouvons définir un nombre ou une fraction du DataFrame. Et comme il s'agit d'un processus d'échantillonnage stochastique, vous pouvez fournir cet état aléatoire, ce qui est très important si vous souhaitez recréer votre analyse et la fournir à un autre collègue ou à d' autres données scientifique. Ensuite, vous devrez saisir l' état aléatoire à cet endroit. Nous pouvons donc voir ici que cela change à chaque fois que j'exécute la cellule. Mais si nous définissons l' état aléatoire sur un nombre spécifié, il peut s'agir de n'importe quel entier que vous souhaitez. J'aime 42. Et voyez juste ici que ce nombre est 2048. Et si je l'exécute à nouveau, ce nombre ne changera pas. C'est donc une très bonne chose à laquelle il faut s'habituer. Si vous avez un processus aléatoire. Ce processus aléatoire est excellent lorsque vous l'utilisez en production. Mais si vous voulez recréer quelque chose, vous devez corriger ce processus aléatoire afin qu'il soit réutilisable. Ce que je fais souvent, c'est aller dans la toute première cellule où j'importe toutes mes bibliothèques et j'ai fixé l'état aléatoire et là en tant que variable. Et je fournis simplement cette variable dans les processus stochastiques. Cela le rend un peu plus facile et très facile à lire pour les prochains data scientists qui comprendront cela. Mais parfois, il faut se munir de gros outils. Nous utiliserons donc la tâche de x et nous ne l'utiliserons pas ici, mais vous pouvez l'essayer sur le site Web si vous essayez maintenant. Et le crépuscule est essentiellement sous forme de DataFrames paresseux, sorte qu'il ne charge pas l' intégralité du DataFrame en mémoire lorsque vous pointez du doigt la trame de données ou les données. Mais il sait où il se trouve et quand vous voulez l'exécuter, il le fera de manière très intelligente, même sur de grands clusters. Dans ce cours, nous avons examiné comment minimiser l' empreinte mémoire des données. Alors, comment charger moins de données ou comment charger des données de manière plus efficace. Je vous ai également montré un rapide aperçu de certains outils que vous pouvez utiliser si vous souhaitez utiliser des DataFrames paresseux, par exemple DataFrames qui sont au repos lorsque vous les chargez , puis lorsque vous effectuez le calcul et que ce morceau, c'est bon. Il s'agit donc d'un moyen intelligent de gérer des données volumineuses au repos. la prochaine partie, nous verrons comment combiner différentes sources de données. Alors comment nous pouvons vraiment nous épanouir et obtenir différentes sources d'informations pour réellement faire de la science des données. 11. 15 Combiner des sources de données nouvelles: L'impact le plus important provient réellement de la combinaison des sources de données. Peut-être avez-vous des données provenant des ventes et publicité et vous combinez ces données pour générer de nouvelles informations. Dans ce cours, nous verrons comment fusionner des données, réunir des données et ajouter de nouvelles données à notre DataFrame. Comme toujours, nous importerons des pandas au format pdf et enregistrerons notre DataFrame au format pdf. Nous allons maintenant séparer les données géographiques avec la latitude, longitude et la proximité de l' océan dans le trait de soulignement df. Vas-y, jetons un coup d'œil à la tête. Et nous pouvons voir que cela représente trois colonnes, exactement comme nous l'avons défini. Et maintenant, nous pouvons nous y joindre. Joindre des sources de données signifie que nous voulons ajouter une colonne à notre DataFrame. Nous allons donc utiliser notre df underscore GO et y joindre une colonne du jeu de données d'origine. Techniquement, cela revient à tricher un peu, mais cela permet simplement de montrer plus facilement comment nous procédons. Eh bien, choisissez le prix médian de l' immobilier pour celui-ci. Jetons un coup d'œil à l'ensemble de la base de données. Et nous pouvons le mettre dans notre G. Nous pouvons voir comment il contient désormais le Geo DataFrame d'origine joint à la colonne valeur médiane de la maison. C'est un peu plus facile que d'habitude. Normalement, vous n'avez pas toutes les colonnes disponibles, mais vous verrez comment fusionner des DataFrames. Maintenant, bien que vous puissiez être un peu plus précis, créons d' abord un DataFrame de prix avec la longitude, latitude et le prix médian de l'immobilier. Et ce que nous allons faire maintenant, premièrement, fusionner les deux en une seule base de données. Nous prenons donc le Geo DataFrame appelé geo point merge. Jetons un coup d' œil à la docstring, comment procéder réellement. Nous voulons donc un DataFrame gauche et un DataFrame droit. Et nous créons tout ce que nous définissons comme une méthode. Comment les rejoindre ? La méthode interne signifie que nous ne conservons que les données disponibles à gauche et à droite. Jetons un coup d'œil à la partie gauche et à la droite du DataFrame. La jointure naturelle est la jointure intérieure. Ainsi, seules les lignes et les colonnes des deux DataFrames sont présentes, elles sont là. Celui de gauche représente tout ce qui vient de la gauche et uniquement celui de droite correspondant. Et la jointure droite correspond à tout ce qui se trouve entre la droite et la gauche. Tout est dans la jointure extérieure. Nous le remplissons donc avec un grand nombre de noms. Et nous devons définir la colonne sur laquelle les DataFrame gauche et droite sont fusionnées. Nous allons donc prendre de la latitude dans ce cas. Nous avons donc quelque chose sur lequel nous pouvons réellement combiner nos ensembles de données. Si vous avez vos sources de données, données de gauche et de droite doivent être identiques, mais elles peuvent avoir des noms complètement différents ou fonctionner très bien. Vous pouvez voir que tout est maintenant fusionné. Nous pouvons également concaténer nos données. Cela signifie donc que nous utiliserons la commande pdpoint concat pour la concaténation et fournirons les DataFrames que nous voulons combiner dans un DataFrame plus grand. Maintenant, dans ce cas, nous en avons deux. Nous pouvons en combiner autant que nous le voulons. Et à l'heure actuelle, vous voyez un bon moyen d'ajouter nouvelles données ou de nouveaux points de données aux lignes du DataFrame. Partout où vous n'avez pas de données, des NaN sont fournis. Toutefois, comme nous voulons joindre les données, nous fournissons une jointure et l'axe. Et vous pouvez voir que tout est désormais réuni dans une seule grande base de données. Au cours de ce cours, nous avons eu un aperçu de la manière de combiner différentes sources de données et générer une seule grande base de données afin de pouvoir effectuer une analyse combinée. C'est la fin de notre didacticiel sur le chargement des données. Et dans le prochain chapitre, nous examinerons le nettoyage des données. Probablement la partie la plus importante de la science des données. 12. 20 données nettoyage intro nouveau: Après avoir chargé les données, nous devons traiter les données elles-mêmes. Et n'importe quel spécialiste de la datation et des données vous dira que 90 % de leur travail est effectué lors de l'étape de nettoyage. Si vous ne nettoyez pas soigneusement vos données, vous obtiendrez de mauvais résultats. Et c'est en quelque sorte la raison pour laquelle nous passons beaucoup de temps à examiner les différentes valeurs manquantes, aberrantes et à déterminer comment les éliminer. Et comment vraiment améliorer notre jeu de données après le chargement. Parce que parfois les mesures sont erronées, parfois les données disparaissent ou sont corrompues, et parfois nous avons juste quelqu'un saisit les données qui ne prête pas vraiment attention. Cela n'a pas d'importance. Nous disposons des données dont nous disposons et nous devons les améliorer afin de pouvoir prendre de bonnes décisions en fonction des données. 13. 21 données manquantes nouvelles: La première étape du processus de nettoyage des données pour moi consiste généralement à examiner les données manquantes. Les données manquantes peuvent provenir de différentes sources. Peut-être que ces données sont disponibles, peut-être qu'elles ont été perdues, peut-être qu'elles ont été corrompues. Et généralement, ce n'est pas un problème. Nous pouvons renseigner ces données. Mais écoute-moi. Je pense que les données manquantes sont souvent très instructives en soi. Nous pouvons donc remplir les données avec une moyenne ou quelque chose comme ça, je vais vous montrer comment procéder. Souvent, il est beaucoup plus instructif de préserver les informations manquantes que de les renseigner. Par exemple, si vous avez une boutique de vêtements en ligne, si quelqu'un n'a jamais cliqué sur la catégorie bébé, il n'a probablement pas d'enfant. Et c'est une grande quantité d' informations que vous pouvez simplement tirer de cette absence d'informations. Comme d'habitude, nous allons importer des pandas au format pdf. Et cette fois, nous allons importer le numéro manquant, la bibliothèque au format MS, NO. Et nous lirons les données dans notre DataFrame TF. Missing Number est cette fantastique bibliothèque qui permet visualiser les valeurs manquantes d'une manière très agréable. Ainsi, lorsque nous examinons le F, nous pouvons voir que certaines valeurs sont manquantes au total des chambres . Tout le reste semble aller très bien. Et lorsque nous examinons le graphique à barres, nous pouvons constater que pour vraiment voir quelle mesure cette bibliothèque fonctionne bien, nous devons examiner un autre ensemble de données et il existe un exemple données dans numéros manquants qui vont maintenant être chargés. À voir. Nous chargerons ces données depuis Quilt. Vous l'avez également installé. Mais plus bas dans l'exercice, vous pouvez voir comment obtenir ces données. Nous chargerons ces données de collision à New York. Ce sont les collisions entre véhicules que nous aborderons dans notre variable. Et ces données contiennent beaucoup plus de valeurs manquantes. Nous allons y jeter un coup d'œil. Il y a beaucoup de colonnes très différentes et nous pouvons déjà voir qu'il y a beaucoup de noms à explorer avec des chiffres manquants. Nous allons remplacer toutes les chaînes nan par la valeur NumPy np point nan. Numpy est cette bibliothèque numérique Python qui fournit de nombreuses fonctionnalités. Et np point nan n'est qu'un type de données natif où aucun nombre ne peut être représenté dans nos données. C'est la même chose que fait NumPy quand vous, c'est la même chose que font les pandas quand vous lui dites de, euh, de donner des valeurs nan. Dans mes données. Souvent, cela peut aller de -9,9 à 5. Mais ça peut vraiment être n'importe quoi. Et vous pouvez le spécifier comme vous le souhaitez, qui est ensuite remplacé par NAM. Vous savez donc que c'est une valeur manquante. Jetons donc un coup d'œil à oui, je laisserai ça pour plus tard. Jetons un coup d'œil à la matrice. Nous voyons qu'il y a plus de colonnes ici et que les colonnes sont beaucoup plus hétérogènes. Nous avons donc des colonnes avec presque toutes les valeurs manquantes. Et sur le côté, nous pouvons également voir quelle ligne contient le plus de valeurs remplies et quelle ligne contient le moins de valeurs est remplie. Désolée que ce soit si bas. Jetons un coup d'œil au graphique à barres. Et nous pouvons voir quelles colonnes contiennent le plus de données remplies et lesquelles contiennent le plus de données manquantes. Aujourd'hui, le dendrogramme est un outil fantastique pour voir les relations entre les données manquantes. Plus le branchement est proche de zéro, plus la corrélation entre les nombres manquants est élevée. Cela signifie donc qu'en haut à droite, vous pouvez voir de nombreuses valeurs manquantes. Il s'agit d'un moyen simple de compter toutes les valeurs manquantes dans ce DataFrame. Revenons à notre DataFrame d'origine, les prix de l'immobilier, où nous pouvons également simplement compter les nombres nuls. Et nous pouvons voir que le nombre total de chambres est le seul à avoir des valeurs manquantes avec 207. Ainsi, en plus d' examiner les connaissances manquantes, nous pouvons en extraire des valeurs numériques. Examinons le nombre total de chambres ici et ajoutons une nouvelle colonne à notre DataFrame, qui indique le nombre total de chambres corrigé. Parce que je n'aime pas remplacer les données d'origine. Je préfère ajouter une nouvelle colonne à mon jeu de données. Et ici, nous disons, remplissez nos valeurs manquantes avec la valeur médiane de notre chambre totale. Comme le nombre total de chambres est pris en compte , la valeur moyenne, n'a aucun sens, sera plutôt remplie par la valeur la plus courante dans les chambres à coucher. On y va. Ce serait la moyenne et voici la médiane. Heureusement, Pandas propose toutes ces méthodes Il est donc très facile de les remplacer. Vous les remplacerez sur place cette fois, mais vous devez faire attention à cela. Ce n'est parfois pas la meilleure pratique de le faire. Et maintenant, nous pouvons voir que le total des chambres corrigées ne comporte aucune valeur manquante. Lorsque nous examinons le nombre total de chambres et nombre total de chambres corrigés ici. On voit que ce sont les mêmes valeurs. Les valeurs qui étaient dépourvues de zéros, nans et n'ont pas été modifiées. Seules les valeurs par nan ont été remplacées. Dans ce cours, nous avons examiné les chiffres manquants. Alors, que se passe-t-il lorsque des données sont manquantes ? Pouvons-nous trouver des relations entre les valeurs manquantes ? Donc, juste quelques données et disparaissent alors que d'autres données disparaissent également Y a-t-il un lien entre les nombres manquants eux-mêmes ? Dans le prochain cours, nous examinerons le formatage de nos données. Suppression également des doublons, car il est parfois très important de ne pas avoir de doublons dans nos données. Nous pouvons donc voir chaque point de données par lui-même. 14. 22 mise à l'échelle et binning nouveau: Dans ce cours, nous examinerons d'abord la mise à l'échelle des données. C'est très important car parfois certaines de nos fonctionnalités se comptent par centaines et d'autres par dizaines ou vous pouvez ajouter des décimales. Et il peut être très difficile de comparer ces fonctionnalités, en particulier lorsque nous créons des modèles d'apprentissage automatique. Certains modèles d'apprentissage automatique sont très sensibles aux facteurs d' échelle. placer sur le même type d'échelle numérique peut donc être bénéfique pour créer un meilleur modèle d'apprentissage automatique. J'introduirai chaque facteur d' échelle ou chaque méthode de mise à l'échelle dans la méthode elle-même afin que nous puissions l' apprendre de manière appliquée. La deuxième partie et cette classe vont regrouper les données. Cela signifie donc attribuer des classes aux données en fonction de leur valeur numérique. Dans cet exemple, nous utiliserons valeur de la maison et lui attribuerons un luxe moyen, haut de gamme et bas de gamme. Juste pour pouvoir donner un exemple de la façon dont nous pouvons attribuer des classes en fonction de nombres. Et vous verrez que cela peut être fait avec différentes méthodes qui donnent des résultats différents. Comme d'habitude, nous importons des pandas PDF et intégrons nos données sur le logement dans le DataFrame df. Faites un peu d'espace pour que nous puissions réellement redimensionner nos données. Jette un coup d'œil. Nous allons commencer par une méthode très simple. Eh bien, nous ajustons nos données entre le minimum et le maximum de l' ensemble de la plage de données. Je vais donc modifier le x pour qu'il soit x moins le minimum de x divisé par la plage. Donc un maximum de x moins un minimum de x. Et cela nous donnera une valeur de 0 à 1. Pour l'ensemble de la colonne. Nous choisirons la valeur médiane de la maison pour celle-ci. valeur médiane de la maison par un point df est donc notre x. Et nous devrons la copier plusieurs fois. Je vais donc être paresseuse à ce sujet. X moins le minimum de x divisé par le maximum de x moins le minimum de x. Et nous devons utiliser des parenthèses ici pour que cela fonctionne. Parce que sinon, cela ne ferait que diviser la partie centrale. Vous pouvez le voir ici. Notre version réduite dans la nouvelle colonne qui nommera valeur médiane de la maison minmax. Juste ici. Nous pouvons clairement repérer que j'ai commis une erreur, sans ajouter de parenthèses dans la partie supérieure. Ainsi, lorsque j'ajoute des parenthèses ici, nous pouvons voir que les données sont en fait à une échelle de 0 à 1. Nous pouvons maintenant effectuer un véritable regroupement des données. Plusieurs options sont également disponibles pour effectuer le binning. Nous utiliserons la première méthode, qui est la méthode pdpoint cut, laquelle vous fournissez vous-même les valeurs de la corbeille. s'agit donc d' intervalles discrets où nos données sont basées sur des seuils que nous fixons en utilisant le minmax que nous venons créer, car cela nous facilite un peu la vie. Parce qu'alors nous pouvons simplement définir les bacs. 0-1 aura les trois quarts, donc des quartiles. Cela signifie que nous devons fournir cinq valeurs, incréments de 0 à 1 et 0,25. Lorsque nous l'exécutons, nous pouvons voir que les intervalles sont fournis. Si nous ne voulons pas nécessairement que ces intervalles soient fournis, mais que nous leur donnions des noms. Donc, dans le cas de ces valeurs, on peut dire que la première est assez bon marché. Ensuite, nous avons une valeur moyenne pour les maisons, une valeur élevée pour les maisons, puis nous sommes dans le segment du luxe. Bien entendu, vous pouvez définir ces classes comme vous le souhaitez. Ce n'est qu'un exemple à prendre. Rendez-le un peu plus lisible avec les données courantes. Dans le cas contraire, nous aurons une erreur. Et maintenant, avec les étiquettes, nous pouvons voir que chaque point de données est désormais attribué à une catégorie qui les attribue en fait au prix ou à la fourchette de prix dans ce cas, et qu'il est correctement indenté. Et nous pouvons voir que nous avons maintenant une nouvelle colonne avec nouvelles classes que nous serions en mesure de prévoir ultérieurement à l'aide d'un modèle d'apprentissage automatique. La deuxième méthode que nous allons examiner est la méthode q cap. Il s'agit d'un quanta qui est réduit. Nous pouvons donc définir le nombre de bacs que nous voulons. Et les données seront attribuées à parts égales à chaque casier, utilisant les données d'avant. La maison a donc une valeur minimale. Maintenant, dans le cas d'une carte de repère, peu importe celle que nous choisissons car la mise à l'échelle est linéaire dans ce cas. Donc c'est très bien. Mais à titre de comparaison, nous pouvons voir que le compartiment supérieur se situe désormais entre 0,5 et 15,1 au lieu de 0,7, 5,1. Nous pouvons attribuer les étiquettes pour le rendre absolument comparable. Et nous pouvons voir ici que c'est maintenant beaucoup plus luxueux et 01234 au lieu d'être aussi haut qu'avant. Cela fait donc une grande différence et vous devez être conscient du fonctionnement de l'enfant. Ils sont vraiment très utiles. Mais oui, il faut en être conscient. Attribuons cela à la fourchette de prix quantile et indentée correctement. Et nous avons une nouvelle rubrique avec laquelle nous pouvons travailler. Au lieu de le faire à la main, nous pouvons utiliser une bibliothèque d'apprentissage automatique, scikit-learn, pour utiliser le prétraitement. Parce que comme vous l'avez vu, parfois vous faites des erreurs, oubliez simplement les parenthèses. Et s'il se trouve déjà dans une bibliothèque utilisation vous évitera ce genre d' erreurs stupides qui ont très graves conséquences si vous ne les détectez pas. De SKLearn, abréviation de scikit-learn. Nous importerons le prétraitement et utiliserons les scalaires minmax afin de pouvoir le comparer à notre mise à l' échelle min-max que nous avons faite à la main. Nous utilisons la transformation d'ajustement sur nos données. Et la transformation d'ajustement estime d'abord les valeurs , puis transforme les valeurs qu'elle possède en scalaire minmax. Maintenant, vous êtes ici. Nous pouvons voir que, je veux dire, j'ai l'habitude de lire ces erreurs, mais comme les erreurs, c'est grave, on découvre rapidement ce qui s'est passé. Vous pouvez rechercher les erreurs sur Google. Et ce cas, j'ai fourni un sérieux et Scikit-learn s'attendait à un DataFrame à la place. Jetons un coup d'œil, comparons nos données. Et certaines valeurs sont égales, d'autres non. Et cela semble être une erreur à virgule flottante. Jetons-y un véritable coup d'œil. La première valeur est fausse. Nous pouvons donc simplement découper notre gamme et y jeter un œil. Les premières valeurs sont. Et ici, nous pouvons voir que la méthode scikit-learn fournit de moins moins de chiffres après la virgule. Maintenant, ce n'est pas mal parce que, pour être honnête, notre précision numérique n'est pas si précise. Nous pouvons donc utiliser la méthode NumPy, NumPy point all close pour comparer nos données aux autres données. Cela signifie donc que nos erreurs seront évaluées avec une précision numérique. Qu'ils correspondent ou non. Il suffit de recopier ça. Et nous pouvons voir, oui, qu'ils correspondent. Donc, en termes de précision numérique, ils sont en fait égaux. Au lieu du scalaire minmax, nous pouvons y jeter un œil et il existe une tonne de méthodes de prétraitement disponibles, comme Max App Scalar, qui normalise les transformateurs quantiles. Mais celui qui est très bon et j'utilise assez souvent est le détartreur standard. Et choisir cela vous montrera que c'est le cas. En fait, utilisez exactement les mêmes extrémités de transformation. Vous extrayez vos données à la place du scaler standard. Si vos données comportent de nombreuses valeurs aberrantes, vous pouvez bien utiliser le scalaire robuste de cette classe et examiner différentes manières de redimensionner nos données et d'attribuer des classes à nos données en fonction des données. Nous avons donc vraiment approfondi manière de préparer les données pour l'apprentissage automatique et ainsi de suite. Et vous verrez comment nous procédons dans un cours ultérieur. Dans le prochain cours, nous aborderons des sujets avancés. Nous verrons comment créer des schémas pour nos données. Nous pouvons donc réellement vérifier si nos données se situent dans certaines plages ou si elles répondent à certains critères que nous avons dit qu' elles devaient respecter . Si nous automatisons finalement notre flux de travail en matière de science des données, c'est-à-dire très important car dès le début, nous pouvons dire que nos données sont correctes ou que nos données ont changé par rapport à ce qu'elles étaient auparavant et qu'il y a un problème de contrôle des données, de contrôle qualité. 15. 23 schémas nouveaux: Dans ce cours, je n' examinerai pas les schémas. Cela signifie que lorsque nous chargeons nos données, nous pouvons voir si chaque colonne que nous définissons correspond à une certaine classe prédéfinie ou certains critères prédéfinis que nous pensons que ce type de fonctionnalité doit avoir. Et nous allons explorer différentes manières d'y parvenir. Et à quoi penser en faisant cela. Nous pouvons ainsi automatiser notre flux de travail en matière de science des données du début à la fin. En plus de l' importation habituelle de panneaux, nous importerons l'ère des pandas. s'agit évidemment d'un jeu sur les pandas, et c'est la bibliothèque que nous utiliserons dans cet exemple pour créer des schémas et valider notre DataFrame. Il existe d'autres bibliothèques, comme les attentes en matière de tarifs, que vous pouvez consulter, mais dans ce cas, il y en a deux. Tout d'abord, nous devons créer le schéma. Le schéma est essentiellement notre ensemble de règles, quoi notre DataFrame est censé ressembler. Donc, dans ce cas, nous allons utiliser un exemple simple avec proximité de l'océan et nous allons d'abord le faire échouer, disant que la colonne est censée être composée de nombres entiers. Nous obtenons donc une erreur de schéma. Et nous pouvons voir ici que cela nous indique au final qu'il s'attendait à un int 64. Pas embêté, mon Dieu. Si nous la remplaçons par une chaîne, nous pouvons voir que maintenant elle est validée et que tout va bien. Maintenant, en plus du type, nous pouvons également fournir des critères que nous voulons vérifier. Nous saisissons donc PA point check. Et comme nous voulons vérifier que la proximité de l'océan ne comporte que quelques valeurs, nous copions ces valeurs et disons qu'elle est censée figurer dans cette liste. Si nous validons ce schéma, nous voyons que tout va bien. Faisons en sorte qu'il échoue. Supprimez la baie la plus proche, et nous constatons qu' il y a une erreur de schéma car elle n'a pas pu être validée. Revenons en arrière, faisons en sorte que cela fonctionne à nouveau. texte n'est pas la seule chose qui doit être validée. Nous pouvons également examiner d'autres valeurs numériques. Donc, si nous voulions vérifier la latitude se trouve dans une certaine zone, ou la longitude dans une certaine zone. C'est tout à fait logique dans vous pouvez vérifier si c'est dans certaines limites. Examinons le nombre total de pièces et vérifions qu'il s'agit d'un entier. À l'heure actuelle, ce n'est pas le cas. Mais nous pouvons bien sûr charger les données sous forme d'entiers, puis les valider. Donc, notre chargement est toujours sous la forme d'un entier. Donc, ce que nous allons faire, c'est définir la colonne et dire qu'elle doit être un entier. Maintenant, dans ce cas, nous avons évidemment une erreur de schéma car c'est un flottant pour le moment. Nous devons donc effectuer une conversion de type ou recharger les données avec un entier. Nous allons obtenir le point sur le logement au format CSV. Et nous définirons le type de données pour le nombre total de pièces comme étant int. Le problème ici, c'est qu' il y en a en 32 et en 64. Alors, combien de bits y a-t-il dans un entier ? Et il faut qu'il en soit de même. Ainsi, lorsque nous examinons l' erreur de notre schéma, nous pouvons voir qu'il s' attend à une insécurité. Nous allons donc importer numpy et définir notre chargement comme dans 64 ici. Et notre schéma est une fois de plus validé car nous avons maintenant fait correspondre le type. Donc, si nous procédons au chargement en 64 et au début, nous pouvons faire correspondre cela à ce que nous attendons en 64 et à notre schéma. Ce sont juste des choses à prendre en compte lorsque vous chargez. Une autre façon de valider nos données à ce sujet à l'aide d'une fonction lambda. Il s'agit donc d'une fonction anonyme qui peut effectuer des vérifications arbitraires et renvoyer des valeurs vraies ou fausses. Dans ce cas, nous allons commencer par l'âge médian du logement. Faites comme une colonne et ajoutez le chèque. Malheureusement, je fais une erreur, mais vous verrez dans une seconde. Donc P point check ajoutera lambda n est notre variable. Et on vérifie si n est nul, tout n'est pas nul. Et nous avons une erreur de type ici. Il est important de le noter. Il ne s'agit pas d'une erreur de schéma. Et c'est parce que j'ai oublié d'ajouter une vérification de type ici. Nous allons donc vérifier s'il y a flottement. Et maintenant, tout est à nouveau valide car aucune des valeurs de l' âge médian du logement n'est engourdie, vous pouvez faire échouer en supprimant la valeur nulle. Et cela va briser notre schéma. Nous pouvons faire beaucoup d'autres tests, des tests fonctionnels arbitraires ici, par exemple si notre n au carré est supérieur à zéro, ce qui devrait être le cas si les mathématiques fonctionnent toujours. Il existe plusieurs raisons pour lesquelles vous souhaitez valider le schéma sur les DataFrames se trouvent sur des tables. Et il est assez courant de les faire déjà dans des bases de données. Et c'est une bonne pratique de le faire dans DataFrames. Il se peut que vous obteniez simplement des données erronées ou que les données changent d'une manière ou d'une autre. Et voici un exemple très simple : les pourcentages. En géophysique. Parfois, vous devez calculer la porosité, par exemple des roches, qui peut être donnée sous forme de pourcentage 0-1, donc sous forme décimale, ou elle peut être donnée sous forme de pourcentage, 0-100. Les deux sont parfaitement corrects, mais vous devez en prendre un pour avoir vos calculs corrects par la suite. Créons donc ici un DataFrame avec des pourcentages mixtes, où vous verrez qu' il générera une erreur. Si vous validez ces données. Enregistrez ce DataFrame et D of simple. Et nous allons créer un schéma pour cela. Faire en sorte que toutes les données flottent de 0 à 1. Créez donc le schéma DataFrame et ajoutez des pourcentages pour la colonne. Et en fait, la raison pour laquelle nous faisons cet exemple, c'est pour que vous voir d'autres données que les seules données sur le logement. Nous pouvons également le faire sur des données physiques. Et pour vous faire réfléchir à vos données, manière dont vous pouvez vérifier qu' elles sont bien correctes. Nous allons donc faire un chèque ici. Et nous pouvons vérifier que c'est inférieur ou égal à un. Encore une fois, nous devons valider notre DataFrame sur le schéma et nous assurer qu'il échouera. Et ce qui est bien, c'est que nos cas d'échec sont clairement décrits ici. Nous pourrions donc entrer manuellement et corriger ces données. Tout ce que nous pouvons faire, c'est corriger toutes les données dont nous savons qu'elles sont incorrectes dans nos pourcentages ou diminuent et faire valider notre schéma avec les bonnes données d'entrée. Nous allons donc obtenir toutes les données supérieures à une et simplement les diviser par 100. n'avons donc que des pourcentages décimaux. Et maintenant, tout se valide facilement. Dans ce cours, nous avons examiné différents schémas et avons examiné la manière dont nous pouvons valider nos données dès le début. Et nous avons examiné avec un exemple simple de pourcentages pourquoi c'est si important de le faire. Dans le prochain cours, nous aborderons une autre stratégie avancée, qui consiste à encoder le sujet, ce qui est très important pour l'apprentissage automatique, mais qui peut également être appliquée de différentes manières. 16. 24 Encodage nouveau: Dans ce cours, nous examinerons le codage de nos données. Donc, si nous avons une variable catégorique telle que proximité de l'océan, le processus d'apprentissage automatique ne peut souvent pas vraiment y faire face car il a besoin de chiffres. Et nous verrons comment nous pouvons fournir ces chiffres de différentes manières. Et en plus de cela, une fois que nous l'avons fait, nous pouvons également utiliser ces chiffres de différentes manières pour segmenter nos données. Nous allons commencer par les pandas habituels. Ensuite, nous examinerons proximité de l'océan, car ce sont des chaînes et nos chaînes sont des données catégorielles. Et les systèmes d'apprentissage automatique ont parfois des problèmes avec l'analyse des chaînes Vous devez donc les convertir en une sorte de représentation numérique. Pandas lui-même possède ce que l' on appelle l'encodage one-hot. Et il s'agit d'un encodage factice. Donc, essentiellement, chaque valeur des catégories possède sa propre colonne où elle est vraie ou fausse. Ainsi, chaque valeur proche de la baie possède désormais un un dans la colonne proche de la baie et zéro et tout le reste. Fusionnons ces données avec le DataFrame d'origine. Nous pouvons donc comparer cela à d'autres types d'encodages et voir comment nous pouvons l'utiliser. Nous allons nous joindre à cela et à leur DataFrame. Et nous pouvons voir juste ici, près de la baie. Un pour la région proche de la baie, intérieur des terres est un pour l'intérieur des terres et zéro partout ailleurs. Nous pouvons également utiliser le package de prétraitement de scikit-learn. Scikit-Learn nous fournit des objets encodeurs que nous pouvons utiliser. Nous allons donc attribuer cet objet encodeur unique à de l'encre, et nous l'adapterons à nos données. L'avantage de ces objets, c'est qu'ils ont quelques méthodes vraiment utiles que vous pourrez désormais explorer. Adaptons cela aux données uniques dont nous disposons à proximité de l'océan. Ensuite, découvrez comment cet encodeur traite réellement nos données. Après avoir adapté notre encodeur à nos valeurs uniques, nous pouvons transformer nos données. Si nous l'épelons correctement. Oui, la conversion en tableau nous donne un encodage unique pour nos valeurs uniques. Donc, un seul dans chaque colonne et chaque ligne. Nous transformons maintenant les données réelles. ne sont donc pas seulement les valeurs uniques devraient nous donner quelque chose de très similaire à ce que nous avons enregistré dans le DataFrame. Plus haut. Convertissez-le en tableau. Nous avons donc les valeurs et la quatrième colonne. Ici, vous pouvez voir près de la baie. Pareil. Vous vous demandez peut-être pourquoi nous faisons ce travail redondant. Mais avec cet objet encodeur, comme je l'ai mentionné, nous avons de très belles choses que nous pouvons faire quelques lignes et nous pouvons utiliser le tableau que nous avons précédemment. Je vais utiliser NumPy parce que je suis juste plus habitué à traiter les objets NumPy. Et nous pouvons reconvertir ce tableau maintenant, qui n'est pas aussi facile avec d'autres méthodes, mais comme nous avons ce bel objet qui contient toutes ces méthodes, nous pouvons utiliser la transformation inverse, fournissez ce tableau à cette transformation inverse et récupérez les classes réelles car l' objet se souvient de la classe au lieu de celle sur laquelle elle était ajustée. Et nous pouvons également obtenir toutes les données stockées dans l'objet sans réellement lui fournir de valeurs. Donc, c'est vraiment une bonne façon de gérer le prétraitement. De toute évidence, nous voulons parfois autre chose qu'un encodage à chaud. L'encodage à chaud peut être un peu fastidieux à utiliser. Nous allons donc examiner le package de prétraitement et nous verrons qu' il est étiqueté par des codeurs d'étiquette a risers. Mais pour l'instant, nous allons simplement jeter un œil à l'encodeur ordinal. L'encodeur ordinal attribuera un numéro à la place de la catégorie. Et cela signifie simplement que c'est 0-1234 selon le nombre de classes. Et vous devez faire attention à cela, comme dans un modèle linéaire, par exemple, les chiffres comptent. Donc quatre serait supérieur à 04 serait supérieur à trois. L'encoder en tant qu'ordinal serait donc une mauvaise idée et un modèle linéaire. Mais pour l'instant, pour cela, c'est suffisant, comme si nous utilisions un autre type de modèle plus tard que tout à fait justifié d'utiliser un encodeur ordinal. Il s'agissait de notre dernier cours et de la section de nettoyage des données. Nous avons donc examiné comment encoder les informations de différentes manières. Nous pouvons donc l'utiliser dans des modèles d'apprentissage automatique, mais également l'enregistrer dans notre DataFrame en tant qu'informations supplémentaires. Dans le prochain cours, nous examinerons l'analyse exploratoire des données. procédons donc à une analyse approfondie de nos données. 17. 30 analyses de données exploratoires nouveau: Dans ce cours, nous examinerons les rapports générés automatiquement. Et souvent, cela peut suffire. Vous souhaitez avoir une vue d'ensemble de vos données et des informations les plus courantes sur vos données allez générer ces rapports qui seront reproductibles pour vous sur tout type de jeu de données dont vous disposez. Cet outil est très puissant. Ensuite, nous verrons comment générer nous-mêmes ces informations. Parce que parfois, vous voulez en savoir plus que ce rapport ne vous donne que. De plus, s'il s' agissait uniquement de gérer cet utilitaire, la science des données ne serait pas payée comme ça. Eh bien, pour être honnête, c'est une bonne première étape. est très important d'avoir cette vue d'ensemble de vos données. Mais nous devons ensuite approfondir nos données et vraiment découvrir les petites fonctionnalités que nous devons trouver. Nous allons importer des pandas , puis obtenir notre DataFrame et la variable DF S, comme nous le faisons toujours. Ensuite, nous importerons le rapport de profil depuis la bibliothèque de profilage des pandas. Et je suis sûr que vous serez étonné de constater à quel point ce processus de génération de ce rapport est facile. Et si tu en retires quelque chose, je pense que c'est tout. Cet utilitaire nous éloigne vraiment de beaucoup de choses que nous faisions habituellement manuellement dans Pandas. Et je vais vous montrer comment procéder de toute façon, car c'est vraiment bien de comprendre ce que vous faites réellement en arrière-plan. Mais cet outil est incroyable. Ainsi, vous générez automatiquement toutes les statistiques sur vos données. Vous voyez qu'il compte vos variables et vous donne une vue d'ensemble du nombre de variables numériques et du nombre de variables catégorielles. Notez que nous n'avons fourni aucune fonctionnalité de catégorie ni aucun changement de type de données. Et nous avons même une inflammation. Comment nos données sont distribuées. Cependant, c'est un peu difficile à voir dans notre carnet. C'est pourquoi nous allons utiliser une version spécifique aux blocs-notes, savoir les widgets profile da2. Et nous avons ici un très joli widget d'aperçu contenant les mêmes informations que le rapport de profil précédent. Nous pouvons voir ici qu'il nous indique même la taille et la mémoire et nous indique quand l'analyse a commencé et s'est terminée. Comment recréer cette analyse. Il vous indique tous les avertissements , tels que des corrélations élevées et élevées. Maintenant, entre la latitude et la longitude, c'est très bien. Valeurs manquantes. Ensuite, en ce qui concerne les variables, vous pouvez examiner la distribution de vos données. Vous pouvez donc discuter des résultats et consulter l'histogramme. L'histogramme est également petit là-haut, mais c'est vraiment agréable de le regarder en gros. Et vous pouvez parcourir toutes vos variables, vérifier qu'elles contiennent des valeurs manquantes sur la gauche, vous avez des avertissements à ce sujet. Et obtenez réellement toutes les informations dont vous avez besoin pour avoir un aperçu de vos données. Vérifiez s'il existe des valeurs communes qui apparaissent tout le temps. Maintenant, c'était 55 valeurs , n'est-ce pas Coleman ? Consultez les valeurs minimales et maximales que vous avez. Alors, ayez une idée de la gamme. Et si nous examinons nos revenus, qui sont plutôt une distribution, nous pouvons également voir la distribution dans ce domaine. Et en ce qui concerne notre caractéristique catégorique, la proximité de l'océan, nous pouvons vous voir quelque chose de très important. L'île ne compte que cinq entrées. Nous avons donc un ensemble de données assez déséquilibré selon lequel il n'y a pas beaucoup de maisons sur l'île. Ensuite, nous cliquerons dessus et examinerons les interactions. Voyez donc comment une variable change avec l'autre. Si nous examinons la longitude par rapport à la latitude, qui est négativement corrélée, longitude, la même valeur est toujours positivement corrélée. Maintenant, si nous examinons valeur médiane des logements par rapport à tout le reste, nous pouvons vraiment voir comment elles interagissent, comment elles ont évolué les unes par rapport aux autres. Le nombre total de chambres par rapport aux ménages, par exemple, est positivement corrélé. quelque chose de bon à savoir. Et il s'agit simplement d'un outil puissant pour réellement comparer chaque variable à une autre. Ensuite, nous cliquerons sur les corrélations. Et la mesure de corrélation linéaire standard entre un et moins un est la corrélation de Pearson. Et ici, nous pouvons voir ce que nous avons vu auparavant : une variable avec elle-même, donc la longitude par rapport à la longitude sera toujours une et toutes les autres valeurs devraient se situer entre un et moins un. De cette façon, vous pouvez réellement voir les relations entre les données. Spearman est un peu plus non linéaire, mais en général, les gens préfèrent les bougies, deux spécimens, puis il y a pi k. Donc phi est une mesure entre deux variables binaires, généralement sélectionnée en haut à droite pour en savoir plus à ce sujet. Jetez un œil aux valeurs manquantes. Et cela peut vous rappeler quelque chose que nous avons fait plus tôt. Et je ne suis pas le seul à penser que la bibliothèque de numéros manquants est géniale, évidemment, car elle donne des informations très similaires sur cet onglet. Ensuite, nous pouvons également consulter un échantillon de nos données. Enfin, conduisez à ceci. Nous pouvons prendre notre rapport de profil et générer un rapport de profil exploratif. Celui-ci est plus intéressant lorsque vous avez différents types de données. Donc, si vous avez également du texte, des fichiers ou des images dans votre base de données, dans votre analyse de données. Donc, ce n'est vraiment pas applicable ici. En général, cependant, vous pouvez constater que ce rapport passe déjà revue un grand nombre de choses que vous souhaitez savoir dans le cadre de votre analyse exploratoire des données. En général, vous voulez connaître les statistiques de vos données, les corrélations entre vos données, valeurs manquantes dans vos données, et voir réellement l'impact des données les unes par rapport aux autres et quelles données peuvent les prédire autre. Ce n'est pas grave si c'est la seule chose que tu retiens de ce cours. Mais en fait, voyons comment nous pouvons générer nous-mêmes ce type d'informations. Dans les prochains cours. Je vous montre rapidement comment le mettre dans un fichier. Vous avez donc un point de profil dans un fichier, puis vous lui donnez un nom. Ensuite, vous obtenez ce magnifique site Web lequel vous pouvez cliquer et le partager avec vos collègues où ils pourront consulter votre analyse. Il indiquera que c'est profil de l' apprenti ou dans le rapport, et c'est bien. Ne vous contentez pas de l'utiliser, utilisez-le comme point de départ pour effectuer une analyse plus approfondie et inspecter réellement vos données. Mais cela demande beaucoup de travail par rapport à notre travail quotidien en matière de science des données. 18. 31 Exploration visuelle nouveau: Pour EDA, j'aimerais d' abord examiner les intrigues. Nous allons donc examiner les visualisations qui nous permettent de comprendre intuitivement les relations entre les données. Les relations entre les caractéristiques, les corrélations, ainsi que les distributions de chaque caractéristique. Et nous utiliserons Seaborn, qui rend tout cela extrêmement facile généralement avec une ou deux lignes de code. Tout d'abord, nous importons des pandas comme d'habitude et chargeons nos données. De plus, nous chargerons la bibliothèque de traçage Seaborn. Seaborn est communément abrégé en SNS. Et le premier graphique pour notre visualisation des données sera un graphique à paires. Désormais, un graphique à paires tracera chaque colonne par rapport à chaque colonne, même par rapport à elle-même. Ainsi, lorsque vous tracez le nombre total de pièces par rapport à lui-même, vous obtiendrez la répartition du total des pièces. Et si vous tracez par rapport à une autre colonne, vous obtiendrez un nuage de points. Ce diagramme de dispersion, ainsi que la distribution, peuvent être très instructifs. L'un de mes diagrammes préférés à réaliser à des fins de visualisation. Ici, nous pouvons voir que, par exemple nos données de latitude et de longitude comportent apparemment deux pointes. Il semble donc que nos données de géolocalisation se concentrent sur deux points. Nous pouvons constater qu'il existe de très fortes corrélations. Et au milieu de notre intrigue, c'est parce que nous avons une certaine dispersion linéaire ici. Et toutes les autres fonctionnalités que nous voyons ici sont distribuées d'une certaine manière , comme celle-ci est éparpillée partout et nous pouvons voir peu partout et nous pouvons voir des découpes sur les bords. Donc probablement que quelqu'un a pris un maximum de données. En plus du diagramme de paires, nous pouvons créer un diagramme de paires coloré par une classe. heure actuelle, le seul cours dont nous disposons concerne la proximité de l'océan dans le cadre de votre exploration pour le projet Ce serait vraiment génial si vous l'expérimentez, peut-être en le combinant avec l'exercice de binning que nous avons fait. Il faut un peu de temps pour que cela se charge. C'est pourquoi je n'ai échantillonné que 1 000 échantillons pour le moment, car nous voulons obtenir le graphique assez rapidement. Cependant, cela donne un très bon aperçu façon dont les différentes classes sont distribuées les unes par rapport aux autres. La légende à droite nous indique quelles couleurs. Et je voudrais supprimer leur latitude et leur longitude dès maintenant, car ces caractéristiques sont fortement corrélées les unes aux autres et, pour l'instant, elles ne prennent de la place que dans nos parcelles. Nous pouvons donc vraiment utiliser davantage notre intrigue en nous en débarrassant. Maintenant, dans la liste déroulante, je dois ajouter les x parce que nous voulons supprimer cela de la colonne. Ensuite, notre parcelle devrait pouvoir être tracée avec quelques parcelles de moins sur la grille. Chaque parcelle est donc un peu plus grande. Et cela nous donne déjà beaucoup d'informations. Nous pouvons donc constater que nos données sont relativement également dispersées, à l'exception des données relatives aux îles. Les données de cette île semblent avoir atteint un pic très net. Cependant, n'oubliez pas que nos données sur les îles contiennent très peu d'échantillons. Cela fausse vraiment beaucoup les résultats. Cependant, peut-être voulons-nous simplement tracer la distribution de nos données. Pour cela, nous pouvons utiliser le diagramme KDE, qui est l'abréviation de l'estimation de la densité des grains. Nous allons donc voir comment valeurs médianes de nos maisons sont distribuées. En plus de cette parcelle, nous pouvons également une fois de plus la diviser par teinte. Malheureusement, il n'existe aucun moyen intégré de le faire, comme pour le terrain à deux. Nous allons donc revenir sur les valeurs uniques de notre proximité avec l'océan. Et c'est un peu une solution de contournement, mais j'ai beaucoup aimé cette intrigue, donc je vais quand même vous montrer comment procéder. Et dans mon enseignement, cette question revient généralement de toute façon. J'espère donc que ce complot fonctionnera, j'espère que ce complot fonctionnera également pour vous. Nous allons donc sous-définir nos données. Utilisez la proximité de l'océan égale à la classe, qui est notre itérateur par rapport aux valeurs uniques. Cela signifie que notre parcelle est divisée par notre classe. Cependant, pour le moment, la légende n'est pas particulièrement belle. Chaque légende indique simplement la valeur médiane de la maison. Et idéalement, nous préférerions la légende, bien sûr, la classe. Nous pouvons donc fournir ici une étiquette contenant le nom de notre classe. Et de cette façon, nous avons une jolie petite parcelle, toutes nos distributions. Eh bien, nous pouvons voir que l'intérieur des terres a une distribution très différente de celle de la plupart des autres. Et bien sûr, l'île est inclinée vers la droite, ce qui indique un prix plus élevé. Mais encore une fois, il n' y a pas beaucoup de données, donc le résultat est un peu biaisé. Maintenant, nous voudrions peut-être examiner d'autres diagrammes de dispersion. Il est très facile de créer un nuage de points. Eh bien, nous pouvons même aller encore plus loin. Il existe ce que l' on appelle un diagramme conjoint, où nous avons les diagrammes de dispersion et les dessous. Nous pouvons tracer la distribution des données. Donc, généralement, un histogramme, vous pouvez également en créer un autre. est très intéressant de souligner la façon dont les données varient. Dans le cas, par exemple, du nombre total de chambres et de la population, nous observons une distribution très claire qui indique une tendance essentiellement linéaire. Donc, une sorte de corrélation linéaire entre les deux. Et ce complot est très simple. Il suffit de donner la fonctionnalité, le nom de la colonne et le DataFrame et Seaborne place parfaitement les pandas. Ici, vous pouvez également voir les distributions et les étiquettes appliquées automatiquement. Cette parcelle comporte plusieurs options différentes. Vous avez déjà vu qu' il existe une option hexadécimale. Nous pouvons également effectuer une régression linéaire, c'est-à-dire ajuster une ligne de tendance avec incertitude à nos données. Nous pouvons donc vraiment voir si un modèle linéaire correspond vraiment à nos données ou si quelque chose d'autre devrait l'être. Maintenant, nous pouvons voir que les valeurs aberrantes faussent au moins un peu les résultats. Et en outre, nous pouvons examiner une autre caractéristique juste pour voir comment notre régression linéaire, par exemple, change. Cette caractéristique semble être très fortement corrélée au nombre total de chambres. Remplacez donc la population par des ménages. Et nous pouvons voir que c'est aussi linéaire que le peuvent réellement les données réelles. Je pense que si nous copions maintenant cette population remplacée par les ménages, alors adaptons une ligne. Nous pouvons constater que l'ombre derrière la ligne n'est pratiquement pas visible, sorte que l'incertitude n'est fondamentalement pas présente sur ces données. Une très bonne façon de voir comment notre régression linéaire s'adapte aux données. Au lieu du diagramme de paires, nous pouvons également créer une carte thermique de la corrélation. Cela nous donne donc simplement la représentation numérique de notre coefficient de corrélation de Pearson. Et nous pouvons voir que la diagonale est telle qu'elle est censée être. Notre latitude et notre longitude sont négativement corrélées car la longitude est négative. Et au milieu, nous avons un carré de forte corrélation que nous devons absolument étudier. C'est très intéressant. Et en général, c'est également un bon moyen d'inspecter vos données. Nous pouvons le copier et jouer un peu avec, juste pour vous montrer que rien n'est intégré ici, vous pouvez vraiment jouer avec. C'est un terrain de jeu ouvert pour vraiment explorer vos visualisations. Cette magnitude de 0 à 1 nous montre maintenant que revenu médian est très fortement corrélé à la valeur médiane de la maison. Et je n'avais pas vraiment vu ça avant. Donc, le simple fait de vérifier cela, de le changer un peu peut vous donner plus d'informations. Il peut donc être extrêmement utile de l'essayer à partir du standard, à partir des visualisations standard . Nous pouvons y ajouter des annotations. Maintenant, c'est un peu le bordel. Nous arrondirons donc nos nombres à la première décimale et verrons que cela est beaucoup plus beau. Vous pouvez également le faire avec les données d'origine. Ce cours a donné un aperçu des différents diagrammes que vous pouvez utiliser pour mieux comprendre vos données. Dans le prochain cours, nous examinerons les chiffres sous-jacents à ces diagrammes et comment en extraire des chiffres spécifiques qui vous en diront plus sur vos données. 19. 32 statistiques descriptives nouvelles: Dans ce cours, nous allons poursuivre la visualisation que nous venons de suivre. Nous allons donc examiner les chiffres qui se cachent derrière les graphiques. Les statistiques peuvent être un mot un peu effrayant, mais en réalité, ce ne sont que des chiffres significatifs ou des indicateurs de performance clés de vos données qui vous renseignent sur les données. Ainsi, la moyenne, par exemple, est simplement la moyenne de toutes vos données, tandis que la médiane, par exemple est la valeur la plus courante. Et cet écart type, donc STD, décrit simplement dans quelle mesure vos données varient. Alors, quelle est la probabilité que vous trouviez des données éloignées de la moyenne ? Et nous allons explorer tout cela dans ce cours et approfondir les statistiques descriptives et la manière de les obtenir à partir de vos données. statistiques descriptives et la manière Au début, nous allons importer nos données puis nous pourrons simplement calculer les statistiques sur les lignes en fournissant la ligne. Donc, DF Dot House, âge médian. Ensuite, nous avons la moyenne, la médiane et écart type disponibles comme méthodes de calcul directement sur les données. La moyenne est la moyenne dans ce cas, et la médiane est la valeur la plus courante. En gros, si nous voulons obtenir statistiques agrégées sur l' ensemble du DataFrame, nous l'appelons simplement point describe sur le DataFrame ou un sous-ensemble de la dataframe. Cela nous donne le nombre, la moyenne, la norme et les quartiles de nos données. Lorsque vous jouez avec ça, assurez-vous de consulter la docstring décrite. Vous pouvez en faire beaucoup plus. Nous pouvons ensuite les regrouper en fonction de nos données. Et le groupe par action doit être réalisé par quelque chose que nous pouvons regrouper. Nous utiliserons donc la proximité de l'océan dans ce cas. Et nous pouvons calculer la moyenne de ces groupes sur chaque colonne. Cela n'a donc pas vraiment de sens une longitude de trop, mais pour toutes les autres valeurs, nous pouvons donc associer des groupes à des statistiques. De plus, nous pouvons utiliser la méthode AC pour l'agrégation. Et là, nous pouvons essentiellement définir un dictionnaire avec toutes les statistiques que nous voulons calculer sur une colonne donnée. Longitude, par exemple, nous examinerons la moyenne min-max. Et nous pouvons le copier pour l'utiliser également pour d'autres fonctionnalités. Et vraiment, vous n'êtes donc pas limité à celles-ci et vous pouvez même fournir des fonctions à cet agrégateur. Et ils n'ont pas besoin de se chevaucher également. Ainsi, pour le nombre total de chambres, vous pouvez modifier cette valeur pour qu'elle soit la valeur médiane au lieu de la moyenne. Parce que, eh bien, il est un peu plus logique d'obtenir la médiane. Et pour notre revenu médian. Eh bien, essayez simplement de fausser notre distribution. Et ici, nous pouvons voir que notre nouveau DataFrame qui en résulte est rempli de nan où aucune valeur n'est disponible alors est rempli de nan où aucune valeur n' qu'elles n'ont pas vraiment de sens. Mais nous pouvons vraiment entrer dans les statistiques ici. un autre petit outil intéressant juste pour donner un aperçu méthodes de comptage des valeurs sont un autre petit outil intéressant juste pour donner un aperçu des colonnes. Ainsi, à proximité de l'océan, par exemple, nous pouvons alors appeler la méthode du comptage des valeurs pour avoir une vue d'ensemble du nombre d'échantillons contenus dans chacun de ces échantillons. C'est donc très agréable de se faire une idée de la façon dont nos données sont distribuées entre les classes. Pour les cartes thermiques que nous avons générées auparavant, nous devions calculer la corrélation entre chaque colonne et chaque colonne. Et nous pouvons voir ici que ces données sont facilement disponibles. Et la méthode d'appel nous donne également la possibilité de modifier la corrélation que nous utilisons. Vous pouvez donc le remplacer par du spam et, par exemple très similaire à ce que nous avions indiqué dans le rapport généré automatiquement. Ici, vous pouvez vous plonger dans les données et voir comment nos données sont corrélées par numéro. Dans ce cours, nous avons examiné les statistiques descriptives, c'est-à-dire les nombres réels, les valeurs moyennes, et la manière dont nous pouvons extraire ces chiffres spécifiques et prendre des décisions en fonction de ceux-ci. Dans le prochain cours, nous examinerons des sous-ensembles de ces données. Alors, comment sélectionner des parties des données et comment pouvons-nous calculer ces chiffres sur ces parties ? Parce que parfois, comme nous l'avons vu ici, Island ne possède que cinq échantillons dans l'ensemble de notre ensemble de données. Alors, comment pouvons-nous nous assurer d'extraire données de notre DataFrame et de les explorer plus en profondeur ? 20. 33 sous-ensembles neufs: Dans ce cours, nous allons apprendre à extraire sous-ensembles de notre ensemble de données, car parfois, par exemple, nous voulons nous concentrer sur un seul emplacement ou nous voulons nous concentrer sur un sous-ensemble de clients. Et ces segments sont très faciles à extraire à l'aide de Pandas. Et je vais vous montrer comment procéder. Nous allons donc d'abord charger nos données, puis nous allons prendre notre base de données df et examiner la longitude. Parce que nous pouvons prendre notre base de données df et y appliquer une logique normale. Donc, dans ce cas, nous voulons qu'il soit inférieur à moins un à deux et nous en tirons un sérieux avec des valeurs vraies et fausses. Donc une série booléenne. Nous pouvons l'utiliser pour choisir des lignes dans notre DataFrame d'origine. Et nous pouvons voir ici que ce n'est qu'une vue. Nous devons donc l'affecter à une nouvelle variable. Regardons une autre façon de sélectionner des sous-ensembles. Dans ce cas, nous voulons examiner la proximité de l'océan, car la sélection de sous-ensembles de nos catégories est très importante pour ce que nous ferons plus tard , à savoir l' équité et l'éthique de l'IA. Nous pouvons donc choisir ici de ne s'y trouver que près de la baie et à l'intérieur des terres. Nous en obtenons une fois de plus une série booléenne que nous pouvons utiliser pour découper notre DataFrame ou obtenir un sous-ensemble de notre DataFrame. Je peux le voir ici, et nous pouvons voir qu'il est moins robuste qu'avant. Nous pouvons également combiner différents types de loterie x2. Eh bien, être arbitrairement complexe. Et la raison pour laquelle nous devons le faire ici est d'utiliser l'opérateur AND. Mais dans ce cas, il faut que ce soit l'esperluette. L'esperluette est un opérateur spécial en Python qui permet d'effectuer des comparaisons au bit. Et vous pouvez le voir ici et cela échouera car les opérateurs au bit très courts pour comparer les booléens. Et vous devez faire attention à utiliser des parenthèses en conjonction avec un opérateur bit à bit. Ici, nous allons juste jouer un peu avec le vrai et le faux. Vous pouvez donc voir comment ils sont combinés lorsque nous les utilisons et lesquels utiliseront les mêmes avec un opérateur OR. Mais bien sûr, nous devons prendre l'opérateur bit à bit, qui est ce symbole « pipe ». Je ne sais pas si vous l'avez peut-être sous un autre nom, mais il apparaît à l'écran, vous l'avez dans votre carnet. Et nous avons ici le choix des éléments qui s'y trouvent. Le choix entre la proximité de l'océan près de la baie vers l'intérieur des terres ou le D de longitude est de -120 contre un. Nous examinons les valeurs uniques notre sous-ensemble de proximité de l'océan. Nous pouvons constater que certaines valeurs ne se situent pas près de la baie et à l'intérieur des terres parce qu'elles se situaient à longitude inférieure à moins cent 22. Nous pouvons également utiliser la méthode point loc. Il s'agit d'une façon de sélectionner des sous-ensembles de notre base de données en utilisant les noms des indices. Index sur les colonnes et index sur les lignes. Nous pouvons le copier directement. Et je vais vous montrer ici où se situe la différence par rapport à la méthode précédente, car elle échouera, car elle s'attend à ce que nous donnions des tranches pour tous les index. Un DataFrame possède donc deux dimensions, les colonnes et les lignes. instant, nous ne lui avons donné que les colonnes, les deux-points ici. Il est utilisé pour sélectionner simplement tout et la section de ligne. Et nous pouvons bien sûr également l' utiliser pour découper les lignes en utilisant les numéros de l'index. Ici, nous pouvons voir que cela a été sélectionné parmi les noms d'index 5 à 500. Et gardez à l'esprit que notre indice peut être n'importe quoi. Nous y jetterons un œil dans une seconde. Ici, nous pouvons voir que cela n'a pas du tout modifié notre DataFrame. Il s'agit simplement d'une méthode pour renvoyer une vue. Et bien sûr, nous pouvons également l'enregistrer dans une variable, comme toujours. La méthode dot loc fonctionne donc d'une manière différente de celle que nous utilisions auparavant. Examinons maintenant l'indexation, car là-haut, nous pouvons voir que notre indice n'est qu'un entier continu compris entre zéro et le nombre maximum, 20 640 dans ce cas. Cependant, nous pouvons utiliser la méthode d'index par points pour remplacer notre indice par une autre ligne. Et c'est vraiment puissant et nous pouvons attribuer n'importe quel type d'indexation, même du texte, et sélectionner sur ce texte, ou dans ce cas, la latitude. Au lieu d'un simple chiffre. Vous pouvez toujours utiliser des chiffres et je vous montrerai plus tard comment procéder. Mais c'est en quelque sorte une façon de changer votre façon de penser à votre DataFrame, car à l' heure actuelle , nos lignes sont indexées en fonction de la latitude. Nous pouvons donc, nous ne pouvons pas faire ce que nous faisions auparavant avec le nombre car notre indice actuel n'est plus un entier. Notre indice est désormais la latitude. Donc, si nous choisissons le numéro en guerre, n'importe quel type de chiffre sous notre latitude, cela fonctionnera à nouveau. Ici, je jette un œil à l'index, il suffit de copier un numéro d'ici, comme EF 37.85. Et nous pouvons ensuite l'utiliser pour sélectionner un sous-ensemble à l'aide du point loc. Il suffit d'utiliser toutes les colonnes. Et nous pouvons voir ici que cela montre simplement tout ce qui se trouve dans notre index ici. Vous pouvez constater que les index dans Pandas ne doivent pas nécessairement être uniques. Quelque chose de vraiment important à prendre en compte lorsque vous travaillez avec eux. En le divisant ainsi dans notre DataFrame, il est extrêmement puissant car dans notre index, nous renverrons simplement les données cet index et quel que soit le tri dont nous disposons. Nous n'avons donc pas vraiment besoin de savoir comment nos données sont structurées. Néanmoins, nous pouvons utiliser la méthode iloc, qui est essentiellement la localisation de l'index, où nous pouvons toujours accéder notre DataFrame et sélectionner les lignes 5 à 500, 499 car c'est exclusif. Nous pouvons également l'utiliser sur la colonne. Donc, si nous pensons savoir exactement où tout se trouve, nous pouvons également utiliser ce type de découpage et pour utiliser simplement le découpage numérique pour obtenir nos sous-ensembles, je recommande généralement d'utiliser point loc parce que quel point loc, vous pouvez toujours être sûr, quel que soit le tri, que vous obtiendrez ce que vous voulez récupérer avec l'index exact. Et vous n'avez pas à vous assurer que tri de votre DataFrame est correct. Ici, nous pouvons voir que la latitude ne fait plus partie de nos colonnes car nous l'avons désignée comme indice. Maintenant, si nous voulons rétablir la latitude dans nos colonnes, nous pouvons également le faire en réinitialisant l'index , puis notre indice retrouvera des entiers en cours d'exécution. Cela fonctionne également lorsque vous l'avez rétrié. Vous pouvez donc rétablir l' index à 0 à 500 ou à un nombre maximum BO lorsque vous avez modifié l'ordre de vos colonnes. Et il est très important de prendre en compte le fait que lorsque vous effectuez un découpage d'index , vous pouvez toujours modifier le tri de vos données. Mais lorsque vous effectuez le point Lock, vous serez en mesure de récupérer exactement ce qui se trouve sur l'index. Sur le thème de la sélection des colonnes. Bien entendu, nous pouvons utiliser la méthode standard consiste simplement à fournir les colonnes souhaitées. Mais parfois, votre DataFrame est très éloignée de votre vision des chiffres manquants. Exemple : nous avions, je crois, plus de 20 colonnes. Donc, pour être honnête, sélectionner tout cela peut être très fastidieux. Nous pouvons donc également aller dans l'autre sens et sélectionner les colonnes que nous ne voulons pas. Et c'est avec une méthode de dépôt. Nous fournissons donc les noms des colonnes qui doivent être supprimées du DataFrame. Juste ici. Nous allons simplement prendre l'inverse de la longitude et de la population et fournir l'axe d'où nous voulons le supprimer , fournir l'axe d'où nous voulons le supprimer car nous pouvons également supprimer des colonnes. Juste ici. Vous pouvez voir comment vous pouvez modifier de nombreuses choses. Vous pouvez également le faire en le déposant sur place si vous souhaitez modifier le DataFrame directement en mémoire. Ici, vous pouvez voir que nous pouvons supprimer, eh bien, faire exactement le contraire de ce que nous faisions auparavant en supprimant des lignes. Dans l'ensemble, nous procédons ainsi parce que si vous sélectionnez des sous-ensembles de vos données, vous pouvez les analyser . Donc, si nous utilisons simplement la méthode de description à partir de nos statistiques descriptives, nous pouvons voir ici, par exemple, l'écart type et la moyenne de toutes les colonnes. Et nous pouvons bien entendu également appeler la méthode de description sur un sous-ensemble de nos données. Et découvrez comment nos statistiques descriptives évoluent. Vous pouvez ensuite commencer à tracer ces sous-ensembles et effectuer analyse complète de votre jeu de données sur ces sous-ensembles. Ce cours a vraiment approfondi manière dont nous pouvons sélectionner des sous-ensembles de nos données et décider réellement des éléments à prendre en fonction des fonctionnalités, mais aussi des index. Et nous avons examiné comment l'intégrer, disent-ils, et comment le réinitialiser à nouveau, car c' est très important lorsque vous souhaitez effectuer analyse exploratoire de données et une analyse exploratoire de données et examiner de plus près certaines des sous-ensembles de vos données. Dans le prochain cours, nous verrons comment générer ces relations dans nos données. Et concentrez-vous vraiment sur ce qu'il faut extraire. 21. 34 corrélations nouvelles: Dans ce cours, nous examinerons les relations au sein de nos données. Nous allons donc vraiment vérifier comment fonctionne la corrélation au sein de nos données. Mais allez aussi au-delà de cela. Allez donc au-delà des corrélations linéaires et approfondissez sérieusement nos données. Nous allons recommencer par importer des pandas et charger le DataFrame. Nous pouvons constater que le point core est vraiment essentiel pour effectuer une analyse de corrélation. Dans Pandas. Nous pouvons utiliser Corr et changer autour du coefficient de corrélation que nous voulons réellement utiliser. Maintenant, la corrélation standard de Pearson est une corrélation linéaire. Spearman et Kendall utilisent une corrélation de rang qui peut être non linéaire. En plus de calculer ces corrélations agrégées, vous voudrez peut-être parfois simplement savoir comment une cellule, une colonne est corrélée à une autre. Et ici, nous pouvons simplement fournir la colonne et calculer la corrélation sur une autre colonne. Juste ici. Nous pouvons même aller plus loin. Les outils d'apprentissage automatique ont donc été très faciles à utiliser au cours des dix dernières années. Et nous pouvons utiliser cet outil d'apprentissage automatique pour prédire une fonctionnalité en fonction des autres fonctionnalités. Et si nous faisons cela pour chaque fonctionnalité, nous pouvons réellement voir à quel point une fonctionnalité est informative par rapport à l'autre. Et cela a été intégré dans un petit outil intéressant que nous pouvons utiliser ici, appelé Découvrez les relations futures ou au-delà des corrélations. Il a récemment changé de nom, vous pourrez donc le trouver également sur GitHub. Cela signifie que nous pouvons utiliser la méthode de découverte de cette bibliothèque pour vraiment étudier leurs relations dans nos données. Nous utilisons donc la méthode discover sur, sur notre DataFrame. Et nous pouvons fournir une méthode ou un classificateur, mais dans ce cas, nous allons simplement le laisser en standard. Vous pourrez y jouer plus tard si cela vous intéresse. Cela prend quelques secondes pour l'exécuter, mais nous utiliserons ensuite l'exemple de notre DataFrame pour le créer un peu plus rapide. Vous pouvez le laisser fonctionner sur des échantillons plus importants. Et nous voyons ici comment une fonctionnalité en prédit une autre. Et nous comprenons que pour chaque fonctionnalité, nous pouvons utiliser les tableaux croisés dynamiques que vous connaissez peut-être grâce à X0 pour obtenir une bibliothèque complète, tableau complet qui vous fournira toutes les informations dont vous avez besoin. Juste ici. Très similaire à la corrélation. Cependant, la section centrale n' est pas remplie, nous allons donc simplement la remplir avec des cases, car vous pouvez facilement prédire la fonctionnalité sur elle-même. Bien sûr Ensuite, nous allons tracer ce graphique, car il est toujours très intéressant de le voir sous forme de graphique, tout comme nous pouvons examiner la carte thermique à partir des corrélations. Ceci est très similaire aux corrélations, sauf que nous utilisons l'apprentissage automatique pour effectuer des prévisions croisées cette fois-ci. Nous allons donc enregistrer cela dans la variable , puis créer un joli graphique. Tous ceux-là. Nous pouvons voir que, contrairement au diagramme de corrélation, celui-ci n' est pas fixe entre -1,1. Nous allons donc régler ce problème très rapidement. Ensuite, vous pouvez vraiment voir comment chaque fonctionnalité peut être extraite de l'autre fonctionnalité. Nous faisons cela, cette fixation de moins un à un en utilisant les V min et V max. Et c'est là que nous le voyons. Ainsi, par exemple analyser la façon dont notre population peut être prédite par quoi que ce soit d'autre est vraiment un bon moyen de voir les relations entre les données vous permet d'approfondir les raisons pour lesquelles quelque chose est prédictif ou pas. C'est vraiment un outil intéressant pour la science des données. C'était le dernier cours et maintenant un chapitre sur l'analyse exploratoire des données. Quand je regarde comment nous pouvons extraire des informations sur les corrélations et les relations dans nos données. Et lors du prochain cours, nous verrons comment nous créons des modèles d'apprentissage automatique. Donc, quelque chose que nous avons déjà utilisé implicitement ici va maintenant apprendre comment l'appliquer réellement. 22. 40 Intro à l'apprentissage automatique nouveau: Ce chapitre du processus de science des données ou nous examinerons l'apprentissage automatique. Plus précisément, nous voulons modéliser nos données et trouver automatiquement des relations avec les données. Les modèles d'apprentissage automatique sont appelés modèles de boîtes noires. Cela signifie qu'ils n'ont aucune connaissance de vos données. Mais lorsque vous leur montrez les données et ce que vous voulez en tirer, ils apprendront à établir des relations et à les catégoriser ou à trouver le bon type de chiffres. Faites donc une régression avec vos données. Et l'apprentissage automatique est vraiment puissant et très facile à appliquer de nos jours. C'est pourquoi nous passerons également beaucoup de temps à valider nos modèles. Parce que ces modèles ont tendance à apprendre exactement ce que vous leur dites d'apprendre, qui n'est peut-être pas ce que vous voulez qu'ils apprennent. Et la validation est la due diligence que vous devez faire pour vous assurer qu'ils ont réellement appris ce que vous attendez d'eux. Allumons donc nos ordinateurs portables et jetons un coup d'œil à l'apprentissage automatique. 23. 41 Régression linéaire nouveau: Bienvenue dans le premier cours et dans le chapitre consacré à l'apprentissage automatique. Nous verrons comment créer des modèles simples. Parce que dans l'apprentissage automatique, les règles sont souvent les règles, plus le modèle est simple, mieux c'est. Parce que les modèles simples sont plus faciles à interpréter et sont souvent très résistants au bruit. Alors plongeons-nous dans le vif du sujet. Après avoir chargé nos données, nous pouvons importer le modèle de régression linéaire car nous voulons prédire la valeur des maisons dans cet exercice. Cependant, avant de devoir préparer nos données d'une certaine manière, nous devons les diviser en deux parties. Nous voulons une partie de formation et nous en voulons une. Eh bien, un ensemble de données que le modèle n'a jamais vu pendant l'entraînement. Nous pouvons ainsi valider que notre modèle apprend quelque chose de significatif. Cela permet d'éviter un effet appelé surajustement. Ainsi, lorsque notre modèle se souvient essentiellement des données d'entraînement et n'apprend pas les relations significatives entre les données, qu' il peut ensuite appliquer à de nouvelles données qu'il n'a jamais vues. Ainsi, nous prenons notre DataFrame et nous le divisons en deux parties au hasard. Nous pourrions bien sûr le faire avec des sous-ensembles comme nous l'avons fait dans la section précédente. Cependant, il est préférable de prélever un échantillon aléatoire qui ne se chevauchera absolument ne se chevauchera absolument pas. Et la fonction Train Test Split fournie par Scikit-Learn est vraiment bonne pour cela et certaines ont vraiment besoin d'autres fonctions que nous pouvons utiliser. C'est également une très bonne façon de sélectionner nos fonctionnalités. Pour le modèle simple, nous utiliserons simplement les caractéristiques du logement, l'âge médian, puis du nombre total de chambres comme caractéristiques de formation. Et la valeur de la maison sera notre objectif. Ils sont généralement enregistrés sous forme de x puis de y. Nous savons donc que nous avons un train x et un test x, puis nous avons un train y et un test y. C'est assez courant. Et nous allons regarder les formes. Nous avons donc un peu plus de 20 000 lignes ici. Nos données sur les trains représenteront environ 75 % de celles-ci avec 15 000 valeurs. Et notre train y devrait avoir le même nombre de cibles car celles-ci sont échantillonnées de manière aléatoire mais sur la même ligne. Donc, les données sont évidemment un matelas. Nos tests x devraient maintenant comporter les lignes restantes qui ne se trouvent pas dans le train. Maintenant, cela est extrêmement important et il n'y a aucun moyen de diviser vos données à des fins de validation. Il est maintenant temps de construire notre modèle. Notre modèle sera le modèle de régression linéaire que nous avons importé auparavant. Et Scikit-Learn nous permet de créer des modèles et de les attribuer très facilement . Il suffit d'assigner l' objet à une variable. Dans ce cas, nous l'appellerons simplement modèle. Et vous pouvez voir que vous pouvez modifier certains hyperparamètres du modèle, mais nous allons le garder standard pour le moment. Nous adaptons maintenant notre modèle aux données. Il s'agit de l'étape d'apprentissage au cours de laquelle notre modèle est automatiquement ajusté et les paramètres de notre modèle sont modifiés afin que notre modèle puisse prédire le train y à partir du train x. Et pour évaluer notre modèle. Ainsi, pour tester ses performances, nous pouvons utiliser la méthode de notation de notre modèle ajusté et lui fournir des données fiables dont nous connaissons également les réponses. Nous pouvons donc utiliser le test x et test y pour voir dans quelle mesure notre modèle fonctionne sur des données invisibles. Dans ce cas, la régression sera le R-carré. R-square est une, eh bien, en statistiques, c'est essentiellement une mesure du déterminisme. Dans quelle mesure prévoit-il réellement nos données ? Et le meilleur rapport qualité-prix est celui qui existe. Et puis il baisse et peut même être négatif. 0,03 ne l'est pas vraiment, eh bien. Ce n'est pas impressionnant. Lorsque nous modifions nos données de formation pour inclure le revenu médian, nous augmentons le score de manière significative. C'est évidemment la partie la plus importante. Nous devons trouver des données capables de nous fournir des informations sur d'autres données que nous souhaitons. Cependant, une fois que nous l'aurons découvert, nous pourrons encore améliorer notre modèle en effectuant un prétraitement de nos données. Mais nous devons être prudents ici, car tout d' abord, je ferai du prétraitement et nous testerons différents éléments s'ils fonctionnent ou non. Ce qui peut arriver, c'est que nous surajustons manuellement. Modèle. Cela signifie qu'il faut faire de la science des données appropriée ici même. Nous voulons diviser nos données de test en deux parties. Un, un ensemble de supports de validation et un ensemble de test. L'ensemble du test ne sera pas touché l'ensemble du processus de formation , ni lors de nos expérimentations, mais uniquement dans la toute dernière partie de notre parcours d'apprentissage automatique. Nous définissons ici x Val et y Val. Et j'ai commis une petite erreur laissant cela à y train qui devrait bien sûr être un test x dans le train test split. Changer cela signifie que cela fonctionne. Et c'est aussi une bonne partie de la fonction Train Test Split. Cela garantit vraiment que tout est cohérent ou bien que toutes nos variables correspondent. Et nous pouvons voir ici que notre ensemble de données de test est maintenant assez petit avec 1 000 valeurs. Nous pouvons donc revenir à la répartition des tests sur les trains ici et fournir un ratio de données que nous pouvons utiliser dans vos efforts de science des données et d'apprentissage automatique. Vous devez toujours vous assurer que vous pouvez utiliser la plus grande taille de test que vous pouvez réellement vous permettre, car cela signifie que vous serez en mesure d'avoir plus de certitude et de résultats. Ici, nous pouvons voir qu' il est maintenant divisé de 5050 et que notre ensemble de tests maintenant divisé plus bas dans l'ensemble de validation. Et le kit de test montre que notre ensemble de test final contient environ 2 500 échantillons, c'est-à-dire tout. C'est suffisant pour cette affaire. Nous allons définir notre scaleur standard ici et notre modèle comme la régression linéaire. Et nous ajustons notre scalaire aux données d'entraînement. Cela signifie que nous pouvons désormais redimensionner l'ensemble de nos données, sorte qu'aucune des colonnes ne soit significativement plus grande que les autres. Ce n'est qu'un puits, dans un modèle linéaire, nous situons la pente et l'intersection. Et lorsque nous redimensionnons nos données, cela signifie que notre modèle linéaire peut désormais fonctionner dans les mêmes plages de données et ne pas être biaisé parce qu' une caractéristique est nettement plus grande que les autres, créera une échelle x à partir de nos données de train X. Il n'est donc pas nécessaire d'appeler la transformation scalaire dans la boucle d'entraînement du train. Nous pouvons les comparer ici, nous pouvons voir que nos données d'échelle sont désormais centrées autour de zéro et toutes à la même échelle. Alors qu'avant, c'était partout. Nous pouvons désormais ajuster nos données sur notre modèle, sur les données d'échelle. Et bien, le style d' étiquetage normal que nous avons, évidemment, l'étiquette doit être y train dans ce cas. Ensuite, nous pouvons effectuer la validation habituelle sur nos données de réserve. Et dans ce cas, ce sera X voyelle, et y val. Nous ne touchons donc pas aux données de test pendant que nous voyons quel type de mise à l'échelle et quel type de prétraitement fonctionnent, nous devons transformer nos données car notre modèle attend désormais des données d'échelle. Ainsi, lorsque nous oublions cela, nous obtenons de mauvais résultats, et nous pouvons constater que nous avons légèrement amélioré notre modèle, légèrement amélioré notre modèle, mais qu'il continue de s'améliorer en appliquant simplement cette mise à l'échelle aux données. Si nous essayions plutôt d'utiliser le scalaire robuste, nous pouvons le faire simplement en expérimentant et en utilisant un scalaire différent. Et c'est là que je veux dire où nous avons besoin d'un kit de protection supplémentaire , car le simple fait d'essayer différentes choses est un très bon moyen de voir ce qui fonctionne. Et c'est ainsi que vous faites de la science des données. simple fait de voir ce qui fonctionne revient à créer un bon modèle d'apprentissage automatique. Parce que parfois, vous ne vous attendez pas à avoir des valeurs aberrantes dans vos données. Et vous essayez le scalaire robuste et vous verrez qu'il fonctionne réellement mieux. Ou vous vous rendez compte que cela fonctionne moins bien. Ici, nous pouvons à nouveau nous entraîner sur nos données transformées avec notre train Y et évaluer nos résultats. Pour vérifier si cela fonctionne. Essayez également le scalaire minmax que nous avons utilisé dans notre classe précédente. Une fois l'expérimentation terminée et l' entraînement pour le modèle final, nous pouvons utiliser ce modèle pour le prédire sur tout type de données contenant les mêmes colonnes, espérons-le, la même distribution que nos données d'entraînement et le kit de validation. Pour ce faire, nous utiliserons model.predict et fournirons certaines données. Dans ce cas, nous utiliserons les données d'entraînement. Il suffit de voir comment le modèle se compare aux données réelles sur le terrain , les données étiquetées. Mais bien sûr, le faire sur les données du train n'est pas très intéressant car le modèle a connu ce type de version bêta. Nous finirons par le faire sur le plateau de test. Mais finalement, il a voulu le faire sur données totalement invisibles afin d'obtenir des prédictions à partir de votre modèle d'apprentissage automatique. Un autre moyen très intéressant et la raison pour laquelle j'aime beaucoup l' utilitaire Train Test Split est que vous pouvez lui fournir un mot clé stratify. La stratification est un moyen de s' assurer qu'une caractéristique est représentée de manière égale dans chaque partie du train et de la zone d'essai. Donc, si nous voulons nous assurer que notre proximité de l'océan sur l'île est en partie due au train et en partie à des tests. Nous pouvons le faire en fournissant ce type de fonctionnalité. Et l'une des raisons pour lesquelles les gens aiment tant les modèles linéaires est que modèles linéaires ajustent essentiellement une ligne à vos données. Donc, si vous pensez à la cinquième année, vous vous souvenez peut-être qu'une ligne est simplement l'intersection sur le y et un coefficient pour la pente. Nous pouvons donc interpréter notre modèle linéaire et examiner ces coefficients. Chaque colonne possède donc un paramètre de pente que nous pouvons utiliser En gros, ce paramètre vous indique dans quelle mesure la pente de ces données influence le résultat de la prédiction. Et bien sûr, nous pouvons regarder l'interception avec un y, ce qui nous donne un aperçu complet de notre modèle. Donc, en gros, vous pourriez l'écrire sur papier. Maintenant, dans ce cours, nous apprenons à utiliser scikit-learn sur un modèle d'apprentissage automatique simple, une régression linéaire. Donc, en ajustant une ligne à nos données, nous avons examiné comment la mise à l'échelle pouvait améliorer notre modèle et même prédit sur certaines données que le modèle n'avait jamais vu le. Il s'agit donc de vérifier si nous apprenons réellement quelque chose de significatif ou s' il mémorise simplement les données. Dans le prochain cours, nous examinerons des modèles plus sophistiqués, à modèles plus sophistiqués, savoir les arbres de décision et les forêts aléatoires. 24. 42 arbres neufs: Dans ce cours, nous examinerons arbres de décision et les forêts aléatoires, qui ne sont qu'un ensemble d'arbres de décision entraînés d'une manière spécifique pour être encore plus puissants. Et les arbres de décision sont très bons apprenants car vous n'avez généralement pas à trop modifier les paramètres de base. Dans cette classe. Vous verrez à quel point il est facile d'utiliser scikit-learn pour créer toutes sortes de modèles différents et de les utiliser dans votre exploration des données. Pour cette vidéo, j'ai déjà préparé toutes les entrées et le chargement des données. Et j'ai réparti les données entre le train, qui représente 50 %, puis un ensemble qui représente 50 %, de validation et un ensemble de test, qui représentent chacun 25  % du total des données. Et maintenant, nous allons créer un arbre de décision pour commencer. Nous allons donc importer les arbres depuis scikit-learn depuis la bibliothèque d'arbres. Comme toujours, nous définirons notre modèle. Dans ce cas, il s'agira d' un arbre décisionnel régressif car, pour le rendre comparable, il faudra à nouveau effectuer une régression sur la valeur de la maison. Modèle, train. La formation sera la même que toujours, model.fit, x train et y train. Et je pense qu'à ce stade, vous comprenez vraiment pourquoi Scikit-Learn est si populaire. Il a standardisé l'interface pour tous les modèles d'apprentissage automatique. donc tout aussi facile d'évaluer, d'ajuster et de prédire est donc tout aussi facile d'évaluer, d'ajuster et de prédire votre arbre de décision qu'avec un modèle linéaire. Les arbres de décision sont des apprenants relativement médiocres et nous ne les examinons vraiment que. Nous pourrons donc examiner plus tard la forêt aléatoire qui construit plusieurs arbres de décision et les combiner en un apprentissage d'ensemble. Et l'avantage des arbres de décision, c'est qu'ils sont généralement indépendants de toute échelle et qu'ils fonctionnent avec des caractéristiques catégorielles. Nous pourrions donc réellement intégrer la proximité de l'océan à notre entraînement ici. Mais bien entendu, nous ne pouvions pas non comparer la méthode au modèle linéaire. Nous ne le ferons donc pas pour l'instant, mais c'est certainement quelque chose que vous pourrez essayer plus tard. La mise à l'échelle de ces données ne nous coûte donc rien. Nous ferions donc tout aussi bien d'essayer. Ici. Vous pouvez réellement voir ce qui se passe lorsque vous ne transformez pas vos données de validation. Donc, en gros, maintenant attend même l' arbre de décision, j'attends des données d'échelle. Il fonctionne donc très mal. Lorsque nous transformons les données de nos trains et que nous transformons nos données de validation. Notre score est légèrement inférieur à celui d'avant. Ensuite, nous pouvons construire une forêt aléatoire. Une forêt aléatoire est un ensemble d' arbres dans lequel nous utilisons une méthode statistique appelée ensachage qui tente essentiellement de créer des arbres de décision non corrélés qui, dans l'ensemble, apprennent mieux que chaque arbre. individuellement. Nous allons donc importer le régresseur de forêt aléatoire depuis la sous-bibliothèque d'ensemble de scikit-learn. Et comme précédemment, nous allons assigner notre modèle à a, leur objet de modèle à une variable. Ensuite, nous pouvons adapter notre modèle aux données. Comme vous pouvez le constater, l'ajustement est assez rapide et le fait de le marquer devrait nous donner un très bon résultat. Ici, nous pouvons voir que c'est légèrement mieux que le score que nous avons obtenu sur notre modèle linéaire après la mise à l'échelle. Et si nous examinons maintenant le score des données d'entraînement, vous pouvez comprendre pourquoi nous avons besoin de données de validation. Cet arbre forestier aléatoire est donc extrêmement solide sur les données d' entraînement elles-mêmes, mais d'accord, sur les données de validation VAP. Au lieu de cela, nous pouvons également examiner la mise à l'échelle pour voir comment elle fonctionne. Cela ne nous coûte rien, c'est vraiment bon marché à faire. Alors tu pourrais aussi bien. Si cela améliore votre modèle d'apprentissage automatique ou réduit le surajustement, cela vaut toujours la peine de le faire car c'est, oui, c'est bon marché. Nous allons donc adapter nos données d'entraînement et adapter nos données, notre modèle à celles-ci. Nous pouvons utiliser la même échelle qu' auparavant, car les scalaires indépendants du modèle d'apprentissage automatique ne sont que le scalaire. Et nous voyons ici que notre score d'entraînement n'a pratiquement pas changé, comme c'est le cas dans la quatrième virgule. Il s'agit donc essentiellement d'un bruit aléatoire à ce moment-là. Sur le kit de validation. Il ne faut pas en attendre trop non plus. Le résultat s'est donc légèrement détérioré. Il vaut donc la peine de préserver les données d'origine. Dans ce cas. Ce qui est fantastique à propos des forêts aléatoires, c'est que les forêts aléatoires ont ce qu'on appelle l'introspection. Vous pouvez donc voir à quel point une forêt aléatoire est importante, je pense que chaque caractéristique est importante. Ceci, ce sont des nombres relatifs. Elles peuvent fluctuer légèrement, mais nous pouvons constater que ces caractéristiques sont pondérées différemment au sein de la forêt aléatoire afin de prédire un prix correct. Cela a été très rapide. Je pense que Scikit-Learn est incroyable parce qu'il rend tout si facile. Vous avez juste pensé, prévisions par points et vous ne marquez pas. Et ils sont très utiles pour tous nos besoins en matière d'apprentissage automatique. Dans le prochain cours, nous verrons comment nous pouvons non seulement prévoir les prix, mais aussi comment nous pouvons prédire les catégories. Donc, dans une entreprise plus nombreuse, cela peut être une prédiction selon laquelle une personne est solvable ou non. 25. 43 Classification nouveau: Dans ce cours, nous examinerons la classification. Cela implique donc d'attribuer nos données à différents compartiments en fonction du contenu des données. Dans notre exemple, nous examinerons la proximité de l'océan. Nous allons donc essayer de prédire si l'une de nos maisons est plus proche ou plus éloignée de l'océan. Cela signifie essentiellement que nous aurons la possibilité de tester différents algorithmes et la manière dont ils sont également affectés par le prétraitement de nos données. Nous allons tout importer et charger nos données. Maintenant, dans cette division, nous voulons remplacer la valeur de la maison par proximité de l'océan parce que nous voulons faire une classification, donc nous devons prédire les classes. Dans ce cas, nous prédisons la proximité d' une maison avec l'océan. Mais en général, vous pouvez prédire presque n'importe quelle classe. Nous allons inverser la tendance cette fois-ci et utiliser toutes les fonctionnalités d'entraînement. Mais bien entendu, nous devons supprimer la proximité de l'océan depuis notre DataFrame. Si nous laissions cela de côté, je dirais que la tâche de classification ne serait pas très facile. Donc, le modèle le plus simple, ou l'un des modèles les plus simples, c'est le modèle le plus proche voisin, notre modèle K le plus proche voisin. Les voisins les plus proches se contentent essentiellement de prendre les points de données les plus proches au point que vous souhaitez classer et de prendre le classer et de prendre le vote majoritaire. Cela signifie donc que la classe la plus importante autour de votre point est probablement la classe de votre point. Et pour la classification, Scikit-learn n'est pas différent de la régression. Nous allons assigner le modèle à une variable et l'objet à une variable. Ensuite, nous essaierons d'ajuster nos données. Mais quelque chose est parti de In Finance ou Infinity ou quoi que ce soit d'autre. Et le voisin le plus proche de K ne s'en sort pas bien. Comme je l'ai dit, je laisse toutes les étapes de prétraitement dans le chapitre sur le prétraitement afin que ces chapitres soient courts et concis. Mais dans ce cas, nous supprimerons les nans sans aucun prétraitement différent, juste pour que ces lignes soient supprimées. n'est peut-être pas une bonne idée dans la plupart des cas, mais dans ce cas, il s'agit simplement de récupérer nos données. Ici, nous pouvons adapter notre modèle aux données d'entraînement habituelles. Cela fonctionne juste cette fois. Ensuite, nous pourrons évaluer notre modèle. Maintenant, la notation n en classification est un peu différente de celle de la régression. Nous n'avons pas le R au carré car le r au carré est une mesure du déterminisme en régression. Dans ce cas, nous avons la précision. Et la précision est de 59  %, ce qui est bien, donc 60 % du temps ce modèle voisin corrige la bonne classe. Nous pouvons probablement faire mieux, mais c'est un début. Une chose que vous pouvez essayer dans votre exercice est de changer le numéro du voisin le plus proche et voir quel est le type de puits le plus proche, le nombre de voisins au point qui donne le meilleur rapport qualité-prix. Nous pouvons examiner de nombreux algorithmes de classification différents. Sur la gauche, vous voyez les données d'entrée, qui se présentent sous trois formes différentes. Ensuite, vous voyez les surfaces de décision d' une classification binaire sur la droite. Vous pouvez donc voir que la forêt aléatoire est très vague, par exemple et qu'un processus gaussien est très fluide. Donc, juste pour que vous compreniez comment ils comprennent les données, nous allons essayer la forêt aléatoire, car elle a une apparence très différente de celle de la surface de décision. Et les forêts aléatoires sont une fois de plus des modèles très puissants. Ce sera le même schéma que celui des voisins les plus proches. Nous allons donc discuter rapidement des fonctions de notation. Parce que le score de précision est, d'accord, c'est une bonne valeur par défaut, mais il ne compte essentiellement que le nombre que vous obtenez, n'est-ce pas ? Et supposons que vous travaillez dans un environnement où les erreurs sont particulièrement graves et coûteuses. Vous voulez voir si une autre fonction de notation serait plus appropriée. Et vous pouvez consulter le document Scikit-Learn, Mmentation. Il existe différentes fonctions de notation que vous pouvez vérifier. Voici un aperçu et la forêt aléatoire vient de surpasser les valeurs par défaut. Tout ce dont les voisins les plus proches se rapprochent avec 96 %. Il s'agit de données inédites. C'est donc un très bon score. Nous pouvons une fois de plus examiner l'importance des caractéristiques pour voir quel est, selon notre modèle, l'indicateur le plus important indiquant que quelque chose se trouve à proximité du rivage. Et évidemment, cela dépendra en partie de la longitude et de la latitude. Supprimons-les donc également de notre DataFrame, de nos données d'entraînement. Parce que nous voulons le rendre un peu plus intéressant, peut-être autre chose. C'est un meilleur indicateur si vous venez voir votre patron et lui dites : « Hé, j'ai découvert que cet emplacement nous indique très bien que ma maison est proche de l'océan ». Ils te regarderont probablement un peu plus pitoyablement. Alors jetez un œil. Et évidemment, notre score aléatoire sur la forêt est un peu moins bon, mais très bien. Jetons donc un coup d'œil à un autre modèle linéaire. Le modèle de régression logistique est un modèle binaire. Vous pouvez également l'utiliser pour plusieurs classes avec quelques astuces. Cela passe essentiellement à 0-1 et permet de trouver cette transition. Vous pouvez le voir ici en rouge. Les modèles de régression logistique sont très intéressants car ils fournissent une fois de plus un bon modèle de référence car ce sont des classificateurs linéaires. Mais plus intéressant encore, vous avez vu qu'il y a cette ligne de transition 0-1 sur cette image. Et vous pouvez définir un seuil dans leur norme. Il est à 0,5, mais vous pouvez tester la manière dont vous souhaitez définir le seuil de votre régression logistique. Et c'est vraiment une bonne chose à prendre en compte dans votre modèle d'apprentissage automatique. Et nous verrons comment déterminer ce seuil après ce segment de programmation, la régression logistique. Nous allons donc ajouter ceci et y jeter un coup d'œil car nous avons un problème multiclasse ici. Et nous voulons que ce problème multiclasse soit résolu. De toute évidence. Heureusement, le multiclasse est automatiquement réglé sur automatique car la plupart des gens ne font pas face problèmes binaires et à la vie réelle. Donc oui, scikit-learn essaie vraiment de définir de bonnes valeurs par défaut, adaptant notre modèle aux données du train x et du train y. Et malheureusement, cela n'a pas convergé. Cela n'a donc pas fonctionné dans ce cas. Je vais donc accéder au docstring et y jeter un œil. On y va. Max iter va être le mot clé que nous devons augmenter. Il y a donc plus d'itérations pour trouver l'optimum. Le, pour trouver la météo, la régression logistique est censée être. Mille n'était pas suffisant non plus. Ajoutez simplement un zéro. Cela va prendre un certain temps. Nous allons donc réfléchir à notre seuil optimal. Parce que dans un sens, lorsque vous utilisez l'apprentissage automatique, vous voulez que tous vos points positifs soient classés positivement et que tous vos points négatifs soient classés négativement. Ensuite, vous devez vous demander lequel est le pire, faire quelque chose de bien ou mal. Et dans ce cas, nous pouvons utiliser la courbe ROC pour régression logistique où nous pouvons tracer les vrais taux positifs. Donc, les positifs contre le taux de faux positifs. Donc, tout ce qui a été classé faussement positif, puis choisissez notre optimum. Dans cette classe, nous examinons différents algorithmes de classification. Comme je vous l'ai montré sur cette diapositive, il y en a bien d'autres. Et vous pouvez vraiment vous plonger très facilement dans les différents types de classification, comme vous le voyez, c'est une doctrine toujours pensée. Ensuite, vous marquez et vous faites des prédictions sur la base de données invisibles. Et en fait, au final, c'est toujours pareil. Ensuite, il s'agit de la manière dont vous redimensionnez vos données, qui fait partie de l'exercice. Et aussi la façon dont vous choisissez des hyperparamètres tels que k pour l'algorithme des k-voisins les plus proches. Dans le prochain cours, nous examinerons comment regrouper nos données. agit donc de vraiment voir la structure interne de nos données et la façon dont chaque point de données appartient aux autres. 26. 44 Clustering nouveau: Dans ce cours, nous verrons comment regrouper chaque donnée. Parfois, les points de données se regroupent. Eh bien, il a parfois été plus difficile de les discerner. Et nous verrons comment les différents algorithmes traitent les données différemment et les attribuent à différents bacs. Après avoir importé nos données. Cette fois, nous ignorerons la partie où nous divisons les données car nous considérerons plutôt l'algorithme de clustering comme un outil de découverte de données. Si vous souhaitez créer des algorithmes de clustering pour notre prédiction réelle ou pour attribuer de nouvelles classes. Vous devez également faire le fractionnement. Vous savez qu'il fait réellement ce qu'il est censé faire. Dans notre cas, nous allons simplement jeter un œil à k-means. K-means était en quelque sorte le petit frère non supervisé de K le plus proche voisin, où il donne essentiellement ce qu' il mesure la proximité avec d'autres points et les assigne simplement à un cluster si ils sont suffisamment proches, s' adapteront à nos données sur le DataFrame. Et nous utiliserons fit predict parce que nous voulons tout faire en une seule étape. Maintenant, le problème, c'est que nous avons la proximité de l'océan là-dedans avec des ficelles. Nous allons donc vous en informer. En fait, nous allons simplement regarder les données spatiales. Donc la longitude et la latitude, car elles sont très faciles à visualiser en 2D. Cela nous facilite donc un peu la vie. Nous allons publier des étiquettes pour ceux-ci. Et ce que nous pouvons faire alors, c'est les tracer en utilisant matplotlib. Ils apprendront également à connaître matplotlib dans une classe ultérieure. Mais juste pour un tracé facile, il possède le scatter PLT, qui prend une coordonnée x et une coordonnée y. Et puis vous pouvez également appliquer, attribuer une couleur, qui est étiquetée, dans notre cas. K-signifie. Vous pouvez définir nombre de clusters que vous souhaitez supprimer. La valeur par défaut est désormais de huit. Nous allons jouer un peu avec elle et vous pourrez voir comment elle évolue, comment les clusters changent. Plus vous montez haut, plus il devient fragmenté. Et vous pouvez vous demander à quel point il est vraiment logique à un moment donné de continuer à regrouper les données avec la lumière. Des centaines de clusters. J'y vais trois. Il est assez facile de montrer ce qui se passe lorsque nous avons réellement de bons clusters. Nous allons diviser un peu nos données. Utilisez donc essentiellement le sous-ensemble dont nous avons parlé précédemment pour supprimer une partie de la partie centrale de la longitude. Pour cela, nous pouvons utiliser la méthode between qui définit essentiellement un point de départ et un point final. Lorsque nous annulons cet intervalle, nous nous retrouvons avec un cluster à gauche de notre diagramme de dispersion géographique et à droite de notre diagramme de dispersion géographique. Pour cela, nous allons simplement choisir -121 et -100 18e comme bordures gauche et droite. Nous pouvons voir ici que cela nous donne un ensemble de données divisé. Attribuez-le à une variable pour que nous puissions l'utiliser. Jetons un coup d'œil et pas ça en fait. Nous voyons donc ce qui se passe avec nos données. Supprimez simplement pour l'instant si les couleurs sont étiquetées car elles ne s'appliquent pas ici. Et nous pouvons voir la nette division entre deux groupes. Ensuite, nous pouvons utiliser nos k-means pour classer ces deux éléments ou pour faire correspondre ces deux. Et je vais simplement le copier et utiliser la prédiction d'ajustement pour obtenir nos données sur les données fractionnées, puis également copier notre diagramme de dispersion et les ajouter à nouveau dans les étiquettes. Nous pouvons voir qu'avec deux clusters, il est assez facile pour k-means avoir un cluster à gauche et un cluster à droite. Si nous jouons avec les chiffres, nous pouvons vraiment tester le comportement de Howard, y trouver des sous-clusters et la façon dont il interprète les données. Mais comme c'est si facile avec un scikit-learn, examinons d'autres méthodes. Il s'agit d'un graphique du site Web scikit-learn où vous trouverez différents types d' algorithmes de clustering et la façon dont ils fonctionnent sur différents types de données. Le clustering spectral me vient à l'esprit. Mais personnellement, j'aime aussi beaucoup scan de base de données et j'ai obtenu des modèles de mélange gaussiens. Ils fonctionnent assez bien sur des données réelles et en particulier le développement ultérieur de l'escroquerie antituberculeuse appelée HDB scan est une méthode très puissante. Hdb scan est une bibliothèque distincte que vous devez consulter puis installer vous-même. Mais oui, ça vaut vraiment le coup d'œil. Nous pouvons donc faire comme avant. Nous allons importer le scan de base de données depuis notre bibliothèque de clusters dans scikit-learn l' attribuer à la variable de valeur dB. Et il ne contient pas beaucoup d' hyperparamètres différents que nous pouvons définir. Peut-être changer la métrique que vous avez vue dans la docstring. Mais pour l'instant, Euclidien va parfaitement bien. Nous pouvons voir ici sans définir de clusters, il y a les valeurs aberrantes et la droite. Et en gros, il trouve trois clusters sans que nous en disions trop sur nos données. Jetons également un coup d'œil au clustering spectral ici. Cela fonctionne de la même manière. Nous allons l'attribuer à un objet et l'instancier. Nous devons fournir des clusters pour celui-ci. Nous voulons simplement copier tout cela dans la prédiction sur notre SP et exécuter le tout. Cela prend un peu plus de temps. Le clustering spectral peut être, euh, oui, peut être un peu plus lent sur de grands ensembles de données. Consultez la documentation. Ils ont une très bonne vue d'ensemble méthode de clustering la mieux adaptée à la taille des données. Et aussi, oui, en gros, ce à quoi vous devez penser lorsque appliquez différentes méthodes de clustering. Étant donné que les méthodes évoluent et se développent constamment, c'est une très bonne idée de simplement consulter la documentation car elle est toujours à jour. Ici, nous pouvons voir que le clustering est plutôt bien, plutôt bon. Le clustering des données peut s'avérer très difficile. Comme vous l'avez vu, cela peut conduire à des résultats très différents selon le type de vues autorythmiques. Quels types d'hypothèses sous-jacentes se trouvent dans cet algorithme, mais aussi comment vos données sont constituées. Est-il facile de séparer les données ou est-ce vraiment difficile de séparer les données ? En fin de compte, je pense que c'est un outil qui peut générer de nouvelles informations sur vos données que vous n'aviez pas auparavant, en vos données que vous n'aviez pas fonction des données que vous lui fournissez. Au cours du prochain cours, nous verrons comment nous validons les modèles d'apprentissage automatique. Parce que le simple fait de construire le modèle ne suffit pas. Nous devons savoir s'il s'agit réellement d' apprendre quelque chose de significatif. 27. Validation de modèles d'apprentissage automatique neufs: Dans ce cours, nous verrons comment valider vos modèles d'apprentissage automatique. Et tu dois le faire à chaque fois. Parce que la création de modèles d'apprentissage automatique est si facile, le plus difficile est maintenant de vérifier que votre modèle d'apprentissage automatique a réellement appris quelque chose de significatif. Ensuite, lors de l'un des autres cours, nous verrons également si nos modèles d'apprentissage automatique sont équitables. Et dans ce cours, nous examinerons la validation croisée. Alors, si nous voyons ce qui se passe si nous changeons nos données, pouvons-nous réellement prédire des résultats significatifs ? Ensuite, nous examinerons modèles factices de base qui sont en fait un jeu de pièces. Notre modèle est-il donc plus performant que le hasard ? Après avoir tout importé et chargé les données, nous supprimerons les noms et diviserons nos données. instant, nous allons faire la régression. Nous allons donc créer un régresseur forestier aléatoire. Et c'est juste pour avoir un modèle que l'on peut comparer au modèle fictif pour effectuer la validation. Nous allons donc l'adapter immédiatement aux données de nos trains et ajouter les étiquettes ici. Avec un modèle ajusté, nous pouvons maintenant le noter , puis procéder à une validation croisée. La validation croisée est une méthode très intéressante. Si vous venez de découvrir les splits de trains d' essai, cela fera passer splits de trains d' essai au niveau supérieur. validation croisée est donc l'idée que vous disposez vos données d'entraînement et vos données de test conserveront les données de test, les données de test. Et comme vous le savez, nous avons divisé les données de nos trains en un ensemble d'entraînement et un ensemble de validation. Dans le cadre de la validation croisée, nous divisons désormais nos données d'entraînement en plusieurs parties. Donc, en gros, c'est juste en sous-parties. Et chaque pièce est utilisée une fois comme kit de test par rapport à tout le reste en tant que train. Nous construisons donc cinq modèles si nous en avons cinq. Vous pouvez également le faire de manière stratifiée, comme la division du train d'essai que nous utilisions auparavant. Maintenant, c'est assez facile à faire. Encore une fois, l'API, c'est-à-dire l'interface avec laquelle vous travaillez, est très simple. Nous allons donc importer le score de validation croisée. Et ici, le score Cross Val prend en compte votre modèle, les données de validation, et c'est votre x. Donc, les caractéristiques et, bien sûr, les cibles, car nous devons le valider sur une sorte de chiffre. Cela prend cinq fois plus de temps parce que nous construisons cinq modèles ou, oui, nous évaluons cinq modèles et nous obtenons cinq notes pour chaque modèle. Vous remarquerez peut-être que tous ces scores sont légèrement inférieurs à notre score moyen sur l'ensemble des données, et c'est généralement le cas et se rapproche davantage de la réalité. Nous pouvons également utiliser la prévision croisée pour obtenir des prédictions sur ces cinq modèles. C'est donc très intéressant de faire du mélange de modèles, par exemple, si vous avez cinq modèles entraînés, vous pouvez également obtenir des prédictions . Ce n'est pas une bonne mesure de votre erreur de généralisation. Vous ne devez donc pas utiliser la prédiction croisée pour évaluer les performances de votre modèle. Plutôt pour visualiser comment ces cinq modèles sur les plis k lors de la validation croisée prédisent. Une autre stratégie de validation consiste à créer des modèles fictifs. C'est à vous de décider si vous le faites avant de procéder à la validation croisée ou après. C'est une façon de valider notre modèle. Un modèle fictif repose donc essentiellement sur l'idée selon laquelle le poids que nous voulons notre modèle d'apprentissage automatique soit meilleur que le hasard ? Cependant, il est parfois difficile de savoir à quoi ressemble le hasard. Nous allons donc y jeter un œil. Vous pouvez utiliser différentes stratégies dans votre classificateur. Vous pouvez simplement le faire par force brute et les essayer tous. Mais une bonne méthode consiste généralement à utiliser prior. Je pense que cela deviendra la méthode par défaut et future pour le classificateur factice. Mais puisque nous faisons d'abord une régression, examinons le régresseur. Vous pouvez donc également définir une stratégie ici. La stratégie par défaut consiste simplement à avoir la moyenne. Donc, pendant un certain temps, le pire type de modèle renvoie juste la moyenne. Nous allons donc l'utiliser comme modèle factice. Comme tout modèle d'apprentissage automatique, vous l'adaptez aux données avec x train et ytrain. Ensuite, nous pouvons attribuer une note à cette fonction. Nous pouvons même procéder à une validation croisée à ce sujet. Et voyez à quel point ce modèle aléatoire fonctionne bien. Et sur la base de ces scores, c'est un bon indicateur de la performance de votre modèle actuel. Si les chances d'un modèle sont meilleures que les vôtres, meilleures ou égales à celles de votre modèle, vous allez probablement créer un mauvais modèle et vous devrez revenir en arrière et repenser ce que vous faites. Nous pouvons effectuer des validations croisées, mais il est évident que la notation serait plus appropriée ici, ce que vous pouvez essayer dans les cahiers. Nous allons recommencer et créer à nouveau un modèle de classification très rapide en utilisant les données de proximité de l'océan. Ici, nous allons créer le classificateur, que ce soit la stratégie normale. Personnellement, je pense que les modèles factices sont très utiles car parfois, même si Chance n'est pas juste 5050, si vous avez des déséquilibres de classe comme nous le faisons pour les données sur les îles, par exemple , votre lancer de pièces est essentiellement biaisé. Il est biaisé. Et le classificateur factice n'est qu'un moyen très simple de le valider. Même avec des déséquilibres de classe, vous n'avez pas construit un modèle inutile. Donc, ici, nous pouvons obtenir ce score et nous obtenons une précision assez faible ici. Et nous pouvons voir comment les différentes stratégies affectent nos résultats. Donc 32 %, c'est déjà très mauvais. Mais même si vous devriez probablement prendre le classificateur factice avec meilleur modèle, car cela reste une chance, un résultat fortuit. Ces 40 % de chance sur la prédiction ne sont donc ni une bonne chose, ni un bon signe. Disons ça. Donc, ici, nous allons à nouveau créer un nouveau modèle en utilisant les forêts aléatoires. Nous y allons avec un classificateur et nous y adapterons directement les données afin ne pas avoir à exécuter plus de cellules. Maintenant, le fait de noter sur les données montrera que notre forêt aléatoire est au moins un peu meilleure que celle du mannequin. Donc 20 % de précision en plus. Je dirais que nous apprenons quelque chose d' important ici pour prédire si nous sommes plus proches ou plus éloignés de la proximité de l'océan. Maintenant, comme je l'ai dit, le score est plus approprié Nous allons donc utiliser le score ici avec notre modèle fictif sur les données de test. Et l'avertissement qui se trouve ici est intéressant car notre score de validation croisée nous indique que la proximité de l'océan, la classe des îles, ne dispose pas suffisamment de données pour effectuer une division appropriée. Il est donc très important de le remarquer. À part cela, nous voyons, donc c'est quelque chose à prendre en compte. Mais à part cela, nous constatons que même en cas de validation croisée, notre modèle est plus performant que le modèle fictif. La validation de modèles d'apprentissage automatique me tient particulièrement à cœur. Comme il est devenu si facile de créer des modèles d'apprentissage automatique, c'est tellement important que vous fassiez le travail et que vous vous rendiez compte que ces modèles ont réellement appris quelque chose de significatif et je suis juste en train de lire quelque chose dans le bruit. Et ces stratégies constituent vraiment le niveau de base que vous devez utiliser pour chaque modèle d'apprentissage automatique. Et dans le prochain cours, nous verrons comment créer réellement modèles équitables et comment nous assurer que notre modèle ne désavantage personne en raison d'une classe protégée, par exemple et cela sera extrêmement important si vous touchez les humains avec votre modèle d'apprentissage automatique. 28. Interprétabilité de 46 ML: Dans ce cours, nous examinerons l' interprétabilité de l'apprentissage automatique. Nous allons donc examiner ce modèle de boîte noire que nous avons construit et nous examinerons ce qu'il a réellement appris. Et si vous êtes comme moi et que vous avez déjà construit un modèle et que vous l'avez montré à votre patron en lui disant : « Oui, il a appris et s'est tellement bien comporté lors de cet appel, comme s'il avait une précision de 60 % ». Ils ne seront pas impressionnés. Ils veulent savoir en quoi consiste réellement ce modèle d'apprentissage automatique. Dans ce cours, nous examinerons chaque caractéristique de nos données qui influence la décision prise dans notre modèle d'apprentissage automatique. Et nous allons étudier en profondeur les intrigues vraiment intéressantes que vous pouvez créer et qui influencent la décision dans un modèle d'apprentissage automatique. Nous allons donc faire semblant d'avoir déjà effectué l'ensemble de la validation et de la création de modèles ainsi que la science des données auparavant. Nous pouvons donc vérifier si notre modèle est équitable. La notion d'équité repose donc en fait sur l'idée que même si notre modèle n' a pas intégré la classe de proximité de l'océan, il peut implicitement désavantager cette classe. Vous pouvez donc vérifier ici. Notre division, nous abandonnons directement la proximité de l'océan. Nous ne nous entraînons pas dessus. Mais peut-être que nos données désavantagent implicitement une classe située à proximité de l'océan. Alors vérifiez cela. Je suis en train de faire quelques tours de pandas que j'utilise depuis un moment avec des panélistes. Voici donc ce que vous pouvez faire avec des partenaires. Parce que vous avez ici les données de validation et cela ne constitue qu'une partie de notre DataFrame. Je souhaite trouver tous les indices de notre DataFrame qui appartiennent à cette classe et trouver l'intersection de cet index avec les données de validation. De cette façon, je peux choisir le sous-ensemble de la classe dans notre ensemble de validation sans avoir réellement les données, bien présentes dans le DataFrame issu de notre division du train de test. Pour ce faire, je joue un peu avec lui et j' essaie de le faire fonctionner, imprimant simplement sur un format surdimensionné pour voir ce qui se passe. Je peux donc valider avec les données que ce sont les données que je veux. Juste ici. Vous voyez que maintenant j' en prends le sous-ensemble, en prenant l'indice. Ensuite, j'imprime l'intersection de x val et de l'index basé sur les classes que j'ai créé auparavant. Enregistrez donc ceci dans idx. Je peux donc simplement entrer dans le DataFrame et sous-définir le bloc de données avec l'index. Dans ce cas, nous utiliserons la fonction de notation du modèle pour avoir une première idée de la performance réelle de notre modèle sur le sous-ensemble de classes de nos données de validation. Juste ici. Imprimez ceci car nous sommes maintenant dans une boucle. Je dois donc utiliser point loc ici. Et il est très important que vous sachiez aussi que je peux encore faire des erreurs très fréquemment et que vous ne pouvez pas avoir peur des erreurs en Python parce que cela ne fait pas mal. Les erreurs ne coûtent rien. Alors essayez-le. Dans ce cas, j'ai fait une bêtise, j'ai parfois du mal à séparer les colonnes et les lignes. Et ici, il est intéressant que nous voyons des valeurs très variables. Nous en avons donc trois qui représentent environ 60  %, ce qui est bien. Mais la troisième valeur est environ 23 % tandis que la dernière est nulle. Je regarde donc les indices. Et nous pouvons voir ici que ce doit être une île, car l' Irlande n'a que cinq valeurs au total. Nous avons donc certainement un problème de prédiction, même si notre modèle fonctionne bien dans l'ensemble. Il obtient de très mauvais résultats sur les données de l'île parce qu' il n' y en a pas assez sur place. Vous pouvez voir ici que je vais essayer d' améliorer le modèle en le stratifiant sur la proximité de l'océan juste pour essayer de voir si cela change tout. Et ce n'est pas le cas. Parce que maintenant, je me suis assuré qu' ils sont répartis de manière égale entre les classes et que nous avons encore moins de données. Donc, avant d'avoir de la chance, j'avais deux des échantillons et le kit de validation. Et maintenant j'en ai moins. Maintenant, je ne peux pas le faire parce que le puits est déjà un sous-ensemble des données Nous allons donc simplement ignorer cette question car avec cinq échantillons essaient de les répartir sur tous les ensembles de données, c'est un peu discutable. Et vraiment, dans ce cas, vous devez vous demander si vous pouvez obtenir plus d'échantillons, créer plus d'échantillons d'une manière ou d'une autre, collecter plus d'échantillons ou s'il existe un moyen les extraire de le système. Mais dans le sens où il s'agit de données, elles devraient généralement être représentées dans votre modèle. Donc, dans ce cas, obtenez plus de données. Dans ce cas. Que puis-je voir ici que la stratification a amélioré le modèle dans son ensemble, ce qui est agréable à voir et de cette façon ? La barre oblique inverse n est donc un nouvel espace juste pour le rendre un peu plus beau. Nous pouvons voir ici que cela nous donne de bonnes prévisions pour tout ce qui se trouve près de l'océan, près de la baie et de l'océan, et à moins d'une heure de l'océan. Mais les performances de l'intérieur des terres sont nettement inférieures aux nôtres par rapport aux autres données. Ignorons l' île pour le moment car nous avons discuté des problèmes avec l'île. Jetons un coup d' œil aux données de test. Parce que pour le moment, nous ne faisons plus de réglages de modèles. Il s'agit donc vraiment de la validation n et nous pouvons voir que sur les données de test, intérieur a vraiment un problème. Notre modèle fonctionne donc bien dans l'ensemble. Mais certaines choses se passent ici avec nos données intérieures. Et il serait également bon de procéder à une validation croisée ici. Nous pouvons donc réellement créer une incertitude quant à notre score et voir s'il y a des fluctuations. Mais passons à la L5. L5 ou IL-5 est un package d' explication basé sur l'apprentissage automatique. Voici la documentation. Et pour les arbres de décision, il est indiqué ici que nous pouvons utiliser les pondérations d'explication. C'est donc ce que nous faisons ici. ici que j'appelle ça sur notre modèle. Nous devons fournir leurs estimateurs. Nous avons donc formé notre modèle et nous pouvons voir les poids de chaque fonctionnalité et comment cette fonctionnalité est appelée. Et c'est une très bonne façon d' examiner votre modèle afin d' expliquer ce qui influence le plus notre modèle. Nous pouvons également utiliser Eli five pour expliquer les prédictions individuelles. Donc, ici, nous pouvons évidemment appliquer notre objet estimateur, mais aussi fournir des échantillons individuels et obtenir une explication de la manière dont les différentes caractéristiques ont influencé cette prédiction. Pour l'instant, nous n'utiliserons qu' un seul échantillon de nos données. Nous pouvons voir ici comment chaque caractéristique individuelle contribue au résultat de 89 000. Et bien sûr, vous pouvez également le faire pour les classificateurs. Ou nous pouvons répéter plusieurs nombres différents et voir comment ils sont expliqués par Eli Five Je vais simplement utiliser l'écran ici. Comme je l'ai dit, le format est vraiment sympa également, mais je n'ai pas vraiment envie d' en parler dans ce cours. Et ici, vous pouvez interpréter comment chacun de ces paramètres est influencé par d'autres paramètres différents du modèle. Après les avoir examinés, nous pouvons examiner l'importance des fonctionnalités. Vous vous souvenez peut-être, d'avant, de la forêt aléatoire que vous pouvez faire introspection sur l'importance de la fonctionnalité. Et Scikit-learn fournit également une importance de permutation pour tout. Donc, pour tous, vous pouvez l'appliquer à chaque modèle d'apprentissage automatique disponible dans scikit-learn. Et cela fonctionne comme suit : l' importance de la permutation tient essentiellement votre modèle, prend chaque caractéristique des données et les embrouille une par une. Cela va donc d'abord aux ménages et aux magasins délabrés Ils sont donc essentiellement bruyants. Et voit ensuite dans quelle mesure cela influence votre prédiction. Et vous pouvez voir ici que cela vous donne l'importance moyenne, l'écart type et aussi l'importance globale. Vous pouvez donc vraiment approfondir la façon dont votre modèle est affecté par ces caractéristiques, par chaque fonctionnalité. Vous pouvez donc également décider de supprimer certaines fonctionnalités ici. Ensuite, nous examinerons les diagrammes de dépendance partielle. Ces diagrammes sont vraiment intéressants car ils vous donnent un aperçu unidirectionnel de la façon dont une fonctionnalité affecte votre modèle. Et l'introspection est relativement nouvelle dans Scikit-Learn. C'est pourquoi il y a scikit, yellow brick, scikit minus yb, qui constituent ces intrigues fantastiques. En haut au milieu, vous voyez la courbe de rappel de précision, par exemple , et en général, c'est un très bon moyen visualiser les différents éléments qui expliquent votre apprentissage automatique. Nous voyons ici toutes les différentes fonctionnalités de notre entraînement et comment elles influencent le résultat de la prédiction. Donc, en bas à droite, le revenu médian que vous pouvez voir a une forte influence positive. Et ici, vous pouvez interpréter comment la modification d'une caractéristique influencerait les résultats en matière de prix. Ainsi, les ménages, par exemple, il y a une légère augmentation lorsqu' il y a plus de ménages, etc. C'est une petite intrigue vraiment chouette. Mais la bibliothèque finale et ma bibliothèque préférée pour l'explication de l'apprentissage automatique, ils en ont tiré un article sur la nature, même en bonne forme. Shap propose différents modules explicatifs pour différents modèles Ils sont donc fondamentalement très adaptés à chacun d'entre eux. Vous pouvez même faire des explications par apprentissage profond avec Shap. Nous utiliserons l'arbre explicatif pour notre modèle de forêt aléatoire. Et nous souhaitons disposer de nombreux échantillons de base. Nous pourrions donc être en mesure de sous-échantillonner cela pour l'accélérer. Mais pour l'instant, nous allons lui transmettre nos données de validation, expliquer l'objet que nous avons créé et le calculer. Cela prend donc une seconde et je vais l' annuler ici parce que je veux les enregistrer dans une variable afin pouvoir les réutiliser plus tard sans avoir à les recalculer. Mais en général, le complot que je veux vous montrer est un complot de force. Ce graphique peut être utilisé pour expliquer essentiellement l'ampleur et la direction de chaque caractéristique de votre modèle d'apprentissage automatique de vos données, ainsi que la manière dont elle modifie la prédiction. Et j'adore utiliser ces diagrammes et rapports car ils sont très intuitifs. Vous le verrez dans une seconde. Nous devons donc transmettre ici la valeur attendue dans notre objet explicatif et les valeurs de forme que nous avons calculées précédemment. Et l'un de nos points de données se trouve dans les données de validation. Vous pouvez donc le faire à nouveau pour plusieurs de vos points de données de validation. J'ai fait une erreur et je n'ai pas souligné. Et aussi, j' aurais dû activer JavaScript pour Shapley car ils font de belles intrigues. Ils le sont, ils se rabattent sur JavaScript pour ce faire. Et il doit être initialisé ici même. Mais ensuite, nous avons cette intrigue et j'espère que vous pourrez l'essayer vous-même. Parce qu'ici, vous pouvez voir que cette prédiction particulière a été plus influencée négativement par le revenu médian. Et ensuite, attirez la population un peu moins positivement en termes de nombre de ménages. Et dans l'ensemble, un très beau package. Nous avons donc examiné différentes manières de visualiser et d' inclure des données dans vos rapports, ainsi que la manière de les générer et de consulter la documentation afin qu'ils aient bien plus à vous offrir. Dans ce cours, nous avons examiné le modèle d'apprentissage automatique Nous avons donc examiné manière dont les différentes fonctionnalités influencent notre décision en matière d'apprentissage automatique. Mais dans quelle mesure cette influence influence-t-elle la décision et comment les différentes caractéristiques influencent-elles les autres caractéristiques ? Peut-être pourrions-nous même en supprimer une partie de notre acquisition de données initiale. Et lors du prochain cours, nous examinerons l'équité. Il s'agit donc d'un aspect important dans lequel modèles d'apprentissage automatique peuvent en fait désavantager certaines classes protégées parce qu'elles apprennent quelque chose qu' elles ne devraient pas apprendre. Et nous verrons comment détecter cela et quelques stratégies pour y remédier. 29. 47 équité nouveau: Dans ce cours, vous aurez un aperçu l'apprentissage automatique et de l'équité. L'apprentissage automatique a récemment eu une mauvaise réputation car il a désavantagé certaines classes protégées qui n'auraient pas dû être désavantagées par le modèle. Et cela n'a été révélé que par les personnes qui s'en sont rendu compte, et non par la science des données qui a fait le travail à l'avance. Dans ce cours, nous verrons comment vous pouvez effectuer le travail. Comment savoir si les performances de votre modèle sont moins bonnes sur certaines caractéristiques protégées. Et regardez également si votre modèle d'apprentissage automatique est moins certain dans certains domaines. Donc, parfois, vous obtenez un modèle qui prédit que la situation d'une personne se détériore parce qu'elle fait partie d'une classe prédite. Et c'est totalement interdit. Si cela se produit, votre modèle d'apprentissage automatique risque de ne jamais atteindre la production. Mais parfois, votre modèle d'apprentissage automatique est tout simplement moins certain pour certaines personnes s'il est proposé certains cours. Ensuite, vous devriez essayer d' augmenter la certitude du modèle en effectuant au préalable les travaux d'apprentissage automatique et de science des données. Cela s'appuiera sur ce que nous avons fait et sur la partie interprétabilité. Eh bien, nous avons déjà fait une partie de l'évaluation de l'équité. Nous commençons par une forêt aléatoire et nous marquons. Nous avons donc une base de référence savoir dans quelle mesure notre modèle global fonctionne bien. Ensuite, nous allons commencer à le décortiquer par classe. Nous avons donc déjà cette stratification sur la classe, car nous allons la garder d'avant, car elle a amélioré le modèle de manière significative. Mais ensuite, nous allons répéter les cours et voir dans quelle mesure ils s'en sortent. Au début. Nous voulons connaître la partition et gros, faire le même travail que celui que nous avons fait pour la partie interprétabilité. Nous allons donc suivre nos cours ici. Ensuite, nous pouvons réellement y jeter un coup d'œil et l'interpréter. Nos données. C'est ici que nous ferons le travail pour obtenir nos indices. Nous faisons donc le tout avec l'intersection et obtenons nos indices de classe et le début. Cela va donc être enregistré dans idx pour l'index. Ensuite, nous prenons l' union et l'intersection, non l'union de ces valeurs pour la validation et pour notre test. Parce qu'à l'heure actuelle, nous n'en avons qu'un seul pour vraiment tester nos algorithmes. Donc, avoir les deux ensembles de données résistants, c'est très bien pour cette partie. En général, vous le faites à la fin après avoir réparé votre modèle. Et après le réglage des hyperparamètres pour voir si votre modèle est désavantagé par quelqu'un. Nous prenons donc l'intersection avec un index de classe ici, copions et nous nous assurons que les données s'y trouvent. Ensuite, nous pouvons évaluer le modèle sur les données de validation et sur les données de test. Ces scores devraient, idéalement, tous être aussi performants. Et idéalement, ils fonctionnent tous aussi bien que le score global du modèle. Mais nous nous souvenons que l'intérieur des terres était bien pire que tout le reste. Et bien sûr, nous avons des problèmes avec le fait que l'Irlande ne dispose pas d'un nombre suffisant d'échantillons pour effectuer la validation. C'est pourquoi j'ai inclus juste un fichier script. Et pour l'instant, plus tard, je vais également vous montrer comment détecter les erreurs dans votre traitement afin que nous puissions y faire face. Ensuite, nous élargirons cela pour inclure la validation croisée. Parce qu'avec la validation croisée, nous pouvons vraiment nous assurer qu' il n'y a pas de fluctuations étranges dans nos données. Peut-être que l'intérieur des terres contient juste des données amusantes qui rendent vraiment très impressionnant et ses prévisions. est donc très important de le faire connaître ici. Et ce n'est que le début pour toi. Si vous voulez vous amuser avec ça, vous pouvez aussi essayer les mannequins de I'm Bill et vraiment comprendre pourquoi Inland se porte tellement moins bien. Utiliser l'interprétabilité pour vraiment étudier pourquoi quelque chose se passe dans ce modèle ici même. Pour que nous ayons les scores. Et en regardant ces scores, c'est sympa. Ça devient un peu trop avec les chiffres. Alors, que pouvons-nous faire ? Tout d'abord, c'est à essayer, sauf que Python l'a fait. Donc, s'il y a une erreur, parce que l'Irlande ne dispose pas de suffisamment de données, nous pouvons détecter cette erreur. Et avec l'exception, nous allons simplement tracer un chemin pour que tout le reste fonctionne toujours. Après avoir également traité les îles. On y va. Nous allons maintenant les enregistrer en tant que variables, en tant que Val et test. Parce qu'alors nous pouvons simplement calculer des statistiques à ce sujet. Obtenez donc la moyenne et l' écart type. Un indicateur d' incertitude serait donc, ou quelque chose d'amusant se produisant ici, si l' écart type de notre validation croisée était très élevé. Ce qui est intéressant, c'est que ce n'est pas le cas. Dans ce cours, nous avons examiné comment analyser notre modèle d'apprentissage automatique et l' évaluer sur différentes classes protégées sans formation sur celles-ci. Et nous avons vu qu'un modèle qui, dans l'ensemble, fonctionne plutôt bien peut très mal fonctionner dans certaines classes. Et que parfois nous ne disposons même pas de suffisamment de données pour vraiment évaluer notre modèle. Nous devons donc revenir à l'acquisition de données et obtenir davantage de données pour être réellement en mesure de créer un bon modèle et de faire science des données de bonne qualité en ce qui concerne cette classe. Et l'analyse de rentabilisation ici est très claire. Vous ne voulez jamais être désavantagé, quelqu'un qui serait un bon client, parce que vous perdez un bon client. Ceci conclut le chapitre sur apprentissage automatique et la validation de l'apprentissage automatique. du prochain cours, nous examinerons visualisation et la manière de créer superbes diagrammes que vous pourrez utiliser dans votre rapport et vos présentations sur la science des données. 30. 50 Viz Intro nouveau: Dans ce dernier chapitre , nous examinerons la visualisation des données et la manière de générer des présentations et des rapports PDF directement à partir de Jupiter. Et c'est ainsi que se termine ce cours. 31. 51 Visualisation de base nouveau: Dans ce cours, vous allez apprendre les mécanismes sous-jacents à la visualisation des données en Python. Nous importerons nos données comme toujours, puis nous utiliserons la bibliothèque de traçage standard en Python. Matplotlib at sous-tend la plupart des autres bibliothèques de traçage de plus haut niveau, comme Seaborne. Il est donc très bon de le connaître car vous pouvez également l'utiliser pour vous interfacer avec Seaborn. Nous allons donc créer un graphique linéaire simple avec la valeur médiane de la maison ici. Maintenant, vous voulez généralement un graphique linéaire pour les données qui sont réellement liées les unes aux autres. Nous allons donc commencer à modifier celui-ci. D'abord. Nous allons ouvrir une figurine. Et nous appellerons également le plot show parce que Jupyter Notebook facilite la tâche en nous montrant l'objet du complot juste après l'exécution par le vendeur. Mais c'est vraiment la bonne façon de procéder. Nous pouvons donc modifier la taille de la figure en initiant notre objet figuratif avec une taille de figure différente. Ils sont généralement mesurés en pouces. Oui, c'est tout. Juste un aparté. Ensuite, nous pouvons changer cela à partir d'un graphique linéaire. Nous allons le modifier davantage. Donc puisque les diagrammes linéaires n'ont aucun rapport, procréez ici, parce que si on les compare les uns aux autres, ça a l'air un peu cool. Nous pouvons changer le marqueur pour qu'il soit un x. Et nous obtenons un joli nuage de points ici. Et vous pouvez constater que la navigation maritime, par exemple nous permet d' obtenir beaucoup plus facilement un joli diagramme de dispersion. Ce complot demande encore beaucoup de travail. Mais sachez que c' est ainsi que nous changeons les couleurs et les différents marqueurs. Vous pouvez rechercher les marqueurs sur le site Web de matplotlib. Il existe une myriade de marchés différents. Mais alors nous pouvons également commencer à y ajouter des étiquettes. L'objet de tracé que nous avons est donc un simple objet de tracé. Nous pouvons donc simplement ajouter une étiquette. Donc, x label représente notre population, et y label sera la valeur de notre maison ici même. Et nous pouvons ajouter un titre parce que nous voulons que nos intrigues soient belles et informatives. Et en plus, nous pouvons ajouter des couches supplémentaires de traçage en plus de cela. Ainsi, au lieu de comparer la population à la valeur médiane de la maison, nous pouvons tracer la population par rapport au nombre total de chambres à coucher et modifier la taille du marqueur, la couleur du marqueur et le style du marqueur. Mais évidemment, le nombre total de chambres est évalué très différemment de la valeur médiane de notre maison. Nous pouvons donc simplement créer un correctif dès maintenant. Bien sûr, on ne fait jamais ça dans un vrai complot. Mais juste pour montrer comment superposer différents types de données dans le même graphique, vous pouvez le modifier. De cette façon. Vous pouvez enregistrer vos données et les mettre à disposition sous forme de fichier normal. Changer le DPI signifie que nous avons les points par pouce. C'est en quelque sorte la résolution de notre complot qui est sauvée. Ensuite, nous pouvons également tracer ImageData. Nous n'avons pas d'image pour le moment, mais elle vaut le détour. Et en gros, il vous suffit de lui donner les données de l'image et il tracera l'image 2D pour vous. Voyons comment modifier ce graphique si vous préférez y ce graphique si vous préférez superposer différentes données. Par exemple, si nous n'avions qu'un seul scatter, c'est très bien et nous pouvons ajouter une légende. Mais cela nous avertit qu' il n'y a pas d'étiquettes ou d'objet graphique dans cet objet graphique. Cela signifie que nous pouvons ajouter une étiquette à notre diagramme de données ici même. Et nous l'appellerons simplement maison. Nous avons donc maintenant une légende ici. Il est plus logique de superposer davantage de données. Donc, si nous voulons tracer certaines données en haut, nous pouvons simplement appeler une autre fonction de tracé ici. Changez le marqueur pour qu'il soit un peu différent et vous verrez que notre légende est également mise à jour. Voici donc comment créer des intrigues singulières. Et comme je l'ai mentionné, C1 est une abstraction de haut niveau pour matplotlib. Cela signifie que nous pouvons réellement utiliser matplotlib pour travailler un peu avec un C1. Et cela ne vous donnera qu' un exemple de la façon de sauvegarder un complot de Seaborn. Mais vous pouvez également rechercher d'autres moyens facilement. Ajoutez des informations à vos tracés maritimes ou modifiez vos tracés Seaborn via l'interface matplotlib. Donc, ici, nous allons faire le diagramme de paires avec seulement 100 échantillons parce que nous voulons que ce soit rapide. Et nous pouvons à nouveau ouvrir une figurine matplotlib et modifier la taille de la figure comme nous le souhaitons. Et puis sauvegardez le chiffre. Ici, nous pouvons voir que cela est désormais disponible au format PNG. Ouvrez le fichier PNG et utilisez-le partout où nous en avons besoin. Juste ici. Et cela, en ouvrant, cela ressemble à l'intrigue, mais en tant qu'image. Si vous souhaitez créer des diagrammes rapides directement à partir de DataFrames sans appeler Seaborn ou matplotlib. Vous pouvez appeler la fonction Pandas Plot en fait, qui s'interface avec Seaborne. Donc d of plot vous donne la possibilité de créer différents types de parcelles. Vous pouvez vraiment créer des diagrammes à barres et histogrammes ainsi que des diagrammes de dispersion, ce que nous ferons cette fois-ci. Cela signifie que nous allons simplement fournir l'étiquette de nos données x et y et leur demander de créer un nuage de points. Nous utiliserons à nouveau la population contre la valeur de notre maison. Désolée, encore une fois le nombre total de chambres. Et fournissez-nous simplement le mot nuages de points, un nuage de points, un nuage de points. Dans ce cours, nous avons appris les différentes manières de tracer des données. En Python. Nous utilisons matplotlib, nous utilisons directement des pandas, et nous avons même vu que ceux-ci interagissent les uns avec les autres car les pandas et les marins dépendent tous deux de matplotlib. Vous pouvez donc prendre les objets renvoyés par ces tracés, les enregistrer et même les manipuler davantage. Dans le prochain cours, nous examinerons le traçage des informations spatiales. 32. 52 géospatial nouveau: Dans ce cours, nous examinerons la cartographie des données géospatiales. Donc, des données lorsque vous avez des géolocalisations disponibles. Vous pouvez ainsi créer de belles cartes et vraiment montrer où se trouvent vos données, ce qui ajoute une autre dimension la compréhension de vos données. Nous allons commencer par charger nos données. Nos données contiennent déjà la longitude et la latitude. Cependant, ils ne sont pas dans le bon ordre, nous devons donc en tenir compte. Nous allons importer du folium. Folium est un moyen de tracer nos données sur des cartes de manière interactive. Nous allons donc commencer par une carte de base folium et indiquer l'emplacement de nos premières données. Et j'aime marcher et moyen facile pour moi de créer la carte de base mes données est de fournir la moyenne de la latitude et de la longitude comme point central de notre carte. Et puis nous pourrons examiner, oui, l'impact de l'affichage. Vous pouvez voir que OpenStreetMap est en arrière-plan. Et tu peux t'y promener. Ensuite, nous pourrons commencer à y ajouter des éléments. L'ajout de marqueurs en est un exemple. Les marqueurs sont un bon moyen d'ajouter simplement des emplacements à partir de vos points de données et de simplement y donner des exemples d'emplacements sous forme d'info-bulles. Et c'est ce que nous allons faire ici. Volume possède donc la classe de marqueurs et examinez toutes les différentes classes que vous pouvez utiliser. La bibliothèque continue de s'agrandir, mais elle contient déjà des fonctionnalités vraiment intéressantes pour créer des cartes vraiment intéressantes. Et nous utiliserons le marché pour nous promener. Nous y ajouterons les premiers points de données de notre marché. C'est pourquoi il doit adopter deux méthodes. Et nous allons copier la carte de base dans la cellule, car tout doit être contenu dans une seule cellule pour pouvoir le modifier. Et nous pouvons le voir ici. Nous allons donc changer cela, ajouter de la latitude et de la longitude et utiliser simplement I locked pour obtenir la toute première ligne de notre DataFrame, puis l' ajouter à notre carte de base. Et lorsque nous dézoomons, nous pouvons voir notre premier marqueur sur la carte. C'est donc très sympa. Nous pouvons changer sur la carte. Nous pouvons également changer les marqueurs. Maintenant, différents types de marqueurs. Vous pouvez donc également ajouter des cercles à des fins de marketing à votre carte. Essayez-le sans aucun doute. C'est très amusant. Je pense qu'il agit d'une autre façon très intéressante de visualiser les données. Alors que notre carte zoomait beaucoup trop à la valeur standard, il n'y avait rien à trouver à 12. Donc, faites un petit zoom arrière au début pour que nous puissions réellement voir dans les Marcos Nous pouvons également ajouter plusieurs marqueurs en itérant sur notre DataFrame. Donc, pour cela, nous utilisons simplement la méthode Iarose nous avons dans le dataframe et cela renverra le numéro de notre ligne ainsi que la ligne et le contenu de la ligne lui-même. Donc, pour que cela fonctionne, j'ajouterai probablement un échantillon au DF, car si nous ajoutions 20 000 marqueurs à notre carte, cette carte serait totalement illisible. On y va. Alors peut-être en faire cinq pour commencer. Et frit. Ici, je vais ajouter l'ISO qui y est déballé dans la boucle elle-même. Et je peux le supprimer, le verrouiller ici parce que nous n'avons pas besoin d'accéder à l' emplacement de notre objet. est déjà ce que fait l'itération pour nous. Et nous avons un joli groupe de quelques Mockus ici. Ensuite, vous pouvez également modifier ces marqueurs, exemple ajouter une info-bulle lorsque vous passez la souris dessus. Et cette infobulle peut contenir toutes les informations dont nous disposons. Ainsi, par exemple, nous pouvons utiliser la proximité de l'océan ici. Maintenant, lorsque vous le survolez, vous pouvez voir quel type de fleurs contient ce marqueur fonction de notre date dans ce cours, nous avons vu comment créer des cartes, ajouter des marqueurs à ces cartes et les créer réellement sympa et interactif. Dans le prochain cours, nous examinerons d' autres diagrammes interactifs, des diagrammes à barres et tout le reste pour pouvoir interagir directement avec les données et créer ces jolis graphiques interactifs. 33. 53 exporter des données nouvelles: Nous avons souvent besoin de sauvegarder ces données car nous ne voulons pas réexécuter l' analyse tout le temps. Tout ce que nous voulons, c'est partager les données avec un collègue. Cela signifie que nous devons exporter les données ou les visualisations que nous réalisons. Et c'est ce que nous allons faire dans ce cours. Nos données étant légèrement modifiées, nous pouvons par exemple utiliser le codage one-hot que nous utilisions auparavant. Juste pour que nous sachions que nous avons des données différentes dedans. Et nous pouvons utiliser, au format CSV ou l'une de ces méthodes, vous pouvez également sortir, expirer et écrire ceci dans un fichier. Ainsi, les données après les avoir traitées sont disponibles et nous n' avons pas à recommencer le calcul à chaque fois. Et pour CSV, il faut beaucoup d' arguments différents, tout comme lire du CSV C'est très pratique et vous pouvez ainsi vraiment remplacer les nans ici par le mot nan, par exemple . Les gens savent donc qu'il s'agit d'un chiffre, pas simplement d'une valeur manquante laquelle vous avez oublié d'ajouter quelque chose. Ensuite, nous pourrons jeter un œil à ce dossier. Et dans le navigateur Jupiter, recherchez Nana. Et nous pouvons voir ici qu'il a ajouté nan directement dans le fichier. C'est donc vraiment un wrapper pratique pour notre DataFrame dans un format partageable. Encore une fois, au lieu de cela, nous pouvons également utiliser la fonctionnalité d'écriture. C'est donc essentiellement ainsi que vous pouvez écrire n'importe quel type de fichier que vous souhaitez. Nous allons utiliser le texte extérieur et ce point TXT et passer du mode au mode écriture. Donc w, et nous allons simplement utiliser F S, un identifiant de fichier pour le moment. Et un point F, non ? Cela devrait nous donner l' opportunité ou la possibilité d' écrire une chaîne dans ce fichier. Et nous pouvons convertir notre DataFrame en une chaîne avec un mur de valeurs. Je pense qu'il devrait y avoir une méthode à deux chaînes pour vraiment donner, oui, une méthode toString ici, qui est innocence et une autre méthode d'exportation. Mais en réalité, c'est juste pour montrer que vous pouvez écrire n'importe quel type de chose que vous pouvez former sous forme de chaîne dans un fichier. Nous allons donc voir ici que ce mur n'est pas aussi bien formaté qu'avant. Nous avons les onglets entre les deux à la place du commentateur. Il faut donc vraiment un peu de magie des cordes pour que cela fonctionne aussi bien que les pandas au format CSV. Mais oui, c'est ainsi que vous exportez des fichiers en Python. Maintenant, il convient de noter que le droit l' emportera toujours sur votre fichier. Donc, si vous le remplacez par autre chose, nous examinerons à nouveau le fichier. Nous pouvons voir que le fait de rafraîchir cela ne nous donne que cela. Le fichier est donc remplacé par l'opération d'écriture. Il y a un autre mode que nous devrions examiner, qui est le mode ajout. Et le mode ajout a juste le signifiant a, où nous pouvons ajouter dans un fichier. C'est donc très pratique si vous souhaitez conserver les données d'origine ou une sorte de processus en cours pour écrire des données et les ajouter à votre fichier, un fichier existant sans en supprimant essentiellement ce fichier. Nous pouvons donc voir ici que nous avons écrit notre DataFrame. Ensuite, nous pouvons le copier et modifier pour ajouter Executed, parcourir, l'actualiser et jeter un œil à la toute fin. Il doit dire n'importe quoi ou être. Et c'est le cas. Donc oui, ce sont des dossiers. Nous l'avons déjà fait dans les bases de la visualisation, mais si vous ignorez cela, lorsque vous avez des chiffres, vous pouvez généralement les exporter à l'aide de la commande de sécurité. Celui-ci prend donc un nom de fichier, des gestionnaires de fichiers, une sorte de signifiant et, bien sûr, vous avez besoin d'une sorte de tracé. Je tiens vraiment à vous indiquer la méthode de mise en page serrée ici, car celle-ci est vraiment bonne, trop jeune pour améliorer la disposition de vos parcelles sécurisées. Donc, si vous sauvegardez vos données elles apparaîtront et elles auront l'air un peu bancales. PLT.Show tight layout nettoiera vraiment les bords de votre silhouette et les rendra généralement plus présentables. En gros, je les exécute sur presque toutes les figurines exportées. Et vous pouvez voir ici que notre figurine a très bien été exportée. Vous pouvez modifier tout cela , tous ces paramètres. Bien sûr, pour enregistrer le chiffre exactement comme vous le souhaitez. Peut-être que vous avez une couleur d'entreprise que vous souhaitez donner à votre silhouette. Dans. Dans cette coque, j'ai choisi le noir, ce qui est bien sûr un mauvais choix si vous êtes une légende ou si vous débloquez. Mais oui, juste pour te montrer comment faire, comment jouer avec. Nous avons vu à quel point il est facile de sauvegarder des données dans différents formats à partir de Python. Ensuite, lors du prochain cours, nous verrons comment générer des présentations directement à partir de Jupiter Notebooks. 34. 54 présentations nouvelles: Il peut être compliqué de générer des présentations complètes, mais il est possible d'obtenir des présentations de Ride out of Jupiter. Et dans ce cours, je vais vous montrer comment utiliser n'importe quel type de bloc-notes. Nous utiliserons celui créé et celui de l'exploration visuelle. Vous voulez donc accéder à la barre d'outils View Cell , puis au diaporama. Et vous pouvez modifier le type de diapositive pour chaque cellule. Donc, si vous souhaitez afficher ou ignorer une diapositive, ce sera l' une des diapositives principales. Alors. Ainsi, tout ce que vous voulez sur sa propre diapositive, vous pouvez le placer sous forme de fente, diapositive ou de sous-diapositive. Et la sous-diapositive va être une navigation différente. Remarquez donc ces intrigues pendant que je regarderai la présentation et dans une seconde. Et fragmenter, va essentiellement ajouter un autre élément à la diapositive des parents. Nous allons donc également vérifier cela. Donc, après les avoir signifiés, nous pouvons accéder à File Download S et appeler les diapositives Reveal JS. Lorsque nous l'ouvrons, nous obtenons une présentation directement dans le navigateur. Débarrassons-nous de ça. Il s'agit donc d'une diapositive principale défile essentiellement vers la droite, et nous pouvons toujours regarder les données et nous montrer le code et tout le reste. Parfois, il faut jouer un peu avec, euh, avec, euh, des intrigues qui fonctionnent. Voici les diapositives dont nous avons parlé tout à l'heure. Et maintenant, le fragment va essentiellement ajouter un autre élément à votre diapositive. Il s'agit donc également du fragment et d'un autre fragment. Dans ce cours, nous avons eu un aperçu de la façon de générer des présentations en JavaScript et HTML à partir de Jupiter. Nous avons constaté que nous pouvions réellement conserver les données et le code dans nos présentations, même inclure automatiquement ces diagrammes. Nous avons vu que nous pouvions créer des sous-diapositives et des fragments pour créer des présentations vraiment intéressantes différentes de ce que vous voyez habituellement. Dans le cours suivant. Nous verrons comment obtenir des rapports PDF à partir de Jupiter. 35. 55 PDF nouveau: Dans ce dernier cours, vous apprendrez à générer des PDF directement à partir du bloc-notes Jupiter. Et comment intégrer ces magnifiques visualisations dans vos PDF sans aucune étape intermédiaire. Nous allons commencer par un carnet Jupiter et passer à l'aperçu avant impression. Ici, nous pouvons déjà l' enregistrer au format PDF. Si nous imprimons ceci. Nous pouvons également le télécharger au format PDF, mais ici, vous devez vous assurer que vous l'avez installé. Et je sais que beaucoup de gens ne le savent pas. Je ne le fais pas sur cet ordinateur, par exemple , vous obtenez une erreur de serveur. Vous pouvez passer à l'étape supplémentaire du téléchargement au format HTML. Ouvrez le code HTML et cela équivaut à l'aperçu avant impression et enregistrez-le au format PDF. Et dans le PDF, vous pouvez voir qu'il contient désormais votre code et toutes les informations que vous aviez auparavant disponibles. De plus, nous avons NB Convert, donc la fonctionnalité de conversion des ordinateurs portables fournie avec le bloc-notes Jupiter, et je pense que c'est une très bonne façon de travailler avec. Cela m'a permis de lire quand on vous appelle simplement Jupiter espace et que vous vous convertissez. Et il vous expliquera essentiellement comment l'utiliser. Donc, ce que vous voudrez faire, c'est accéder à vos données ici dans mon référentiel de code pour ce cours Skillshare. Et là, vous pouvez simplement Jupiter et être converti, puis choisir l'une des manières dont vous souhaitez générer le rapport à partir de ce code HTML. Html est généralement la valeur par défaut. Donc, si vous appeliez simplement Jupiter et que vous étiez converti sur votre bloc-notes, il serait converti en HTML. Vous pouvez également indiquer le moins moins deux. Mais si vous dites PDF, rencontrerez la même erreur qu'auparavant, à savoir que vous n'avez pas installé latex. Donc, si vous l'installez, vous pouvez facilement obtenir ces rapports PDF directement pour les mettre en ligne. Un autre moyen très intéressant est que, eh bien, si vous êtes dans un carnet Jupiter, il joue souvent un peu et vos cellules peuvent contenir des chiffres assez élevés. Alors sois comme 60 ou 70 ans. Et cela montre en gros combien d'expériences vous avez faites. Si vous voulez un bloc-notes propre qui soit exécuté de haut en bas, vous pouvez leur fournir l'option d'exécution moins moins, qui exécute votre bloc-notes cellule par cellule avant de l'exporter. Et c'est ainsi que vous générez des PDF dans Jupiter. Alors peut-être que vous devez installer la dernière version pour pouvoir le faire. Tous. Vous utilisez la fonctionnalité d'impression des rapports HTML. Mais cela conclut le cours sur science des données et Python ici sur Skillshare. Merci d'être arrivé jusqu'ici. J'espère que cela vous a plu et que cela vous permettra de progresser dans votre carrière. 36. 60 Conclusion nouvelle: Félicitations, vous avez suivi l' intégralité du cours sur science des données avec Python ici sur Skillshare. Et je comprends que c'est beaucoup. Nous avons examiné l'ensemble du flux de travail lié à la science des données, y compris le chargement le nettoyage des données, avant de procéder analyse exploratoire des données et créer des modèles d'apprentissage automatique. Ensuite, en les validant, en examinant leur interprétabilité et en générant des rapports et des présentations à partir de notre analyse. C'est énorme et je comprends que cela peut être écrasant. Mais vous pouvez toujours revenir aux petites vidéos et les regarder à nouveau pour mieux comprendre et approfondir vos connaissances. En ce moment. À mon avis, les meilleurs data scientists se contentent de créer des projets. Vous en apprendrez davantage sur la science des données en appliquant vos connaissances dès maintenant, et c'est pourquoi nous avons un projet. À la fin de ce cours, vous allez créer un beau projet de science des données, analyser vos propres données ou celles que je fournis ici et créer un PDF avec au moins une visualisation que vous aimez. Honnêtement, plus tu en fais, mieux c'est. Approfondissez les données, trouvez des relations intéressantes dans votre ensemble de données et déterminez comment les visualiser au mieux. Et c'est ainsi que vous deviendrez un meilleur data scientist en appliquant réellement vos connaissances. Merci encore d' avoir suivi ce cours. J'espère que cela vous a plu. Et consultez mes autres cours ici sur Skillshare Si vous avez le temps, assurez-vous de créer quelque chose d'intéressant, quelque chose que vous aimez vraiment. Merci encore d' avoir suivi ce cours. J'y ai consacré beaucoup de travail et je suis heureuse que vous y soyez parvenue. J'espère vous revoir et construire quelque chose d'autre.