Comment c'était d'étudier la science des données en 2019


Cet article est une traduction de l'article de Thomas Nild How It Feels to Learn Data Science in 2019




Vision de la forêt (aléatoire) à travers les arbres (décisions)


Thomas nield Thomas Nield Suivre 4 févr.
10 minutes pour lire

L'inspiration pour ce qui suit était un article sur ce que l'on ressent en apprenant JavaScript en 2016. Ne prenez pas cet article trop au sérieux. C'est de la satire, alors ne la traitez pas comme un conseil de vie. Comme tous les conseils, certains sont utiles et certains sont stupides. Ce texte n'est qu'une opinion très similaire à la définition de la science des données.


J'ai entendu cela pour des conseils - pour vous. Merci de m'avoir rencontré et merci pour le café. Vous connaissez la science des données, non?


Eh bien, oui, je sais. L'année dernière, je suis allé à PyData et O'Reilly Strata (conférences sur l'analyse des données - environ Per.) Et dans mon compte il y a quelques modèles.


Oui, j'ai entendu dire que la semaine dernière, vous avez eu une excellente présentation sur l'apprentissage automatique pour notre entreprise. Mon collègue a dit que c'était très utile.


Oh, classificateur de photos de chats et de chiens? Oui, merci.


Bref, j'ai décidé que je ne pouvais plus ignorer la science des données , l' intelligence artificielle et l'apprentissage automatique . J'ai travaillé comme analyste et consultant pendant de nombreuses années, réorganisant les nombres dans Excel, créant des tableaux croisés dynamiques et des graphiques. Mais tout le temps, je tombe sur des articles qui disent que l'IA prendra des emplois, même pour des cols blancs comme moi.



C'est tout ce qu'il faut pour devenir un scientifique des données confiant (à partir de 2013). Assez réalisable, hein? ( Source: Swami Chandrasekaran )


J'ai cherché sur Google comment devenir un scientifique, j'ai trouvé ce «plan» et j'ai appris la crise existentielle. Permettez-moi de demander, dois-je vraiment tout maîtriser dans ce diagramme pour devenir un rendez-vous scientifique?


Je vais répondre brièvement - non. Personne d'autre n'utilise ce plan. Il est 2013. Il n'a même pas TensorFlow, et certains chemins peuvent être simplement barrés. Je pense que déjà à cette époque la «science des données» est devenue plus complexe et spécialisée. Il serait préférable d'utiliser une approche différente.


D'accord, un peu mieux. Dois-je quand même retourner à l'école? J'ai lu quelque part que de nombreux scientifiques ont au moins une maîtrise. Dois-je obtenir une maîtrise en science des données?


Seigneur, pourquoi as-tu besoin de ça? Vous devez généralement être prudent avec les domaines de la formation "science des données", qui, dans l'ensemble, ont repensé les cours "d'analyse commerciale". De plus, les universitaires modernes ont tendance à être à la traîne de l'industrie et peuvent enseigner des technologies obsolètes. Pour vous tenir au courant, vous feriez mieux d'autoformer à Coursera, Stepik ou Khan Academy.


Voici comment.


Bien que si vous allez au collège, peut-être alors à la physique ou aux méthodes mathématiques des opérations de recherche? C'est difficile à dire. Curieusement, de nombreux scientifiques de bonne date que je connais viennent de ces régions. Vous pourrez peut-être trouver un bon programme de formation en science des données. Je ne sais pas, parlez à ce docteur en sciences, il vous dira sa position.


Alors, comment commencez-vous l'auto-éducation? Quelqu'un sur LinkedIn a déclaré que les personnes intéressées par la science des données devraient commencer par explorer Linux. Ensuite, sur Twitter, j'ai lu qu'un autre gars a insisté pour que la date à laquelle les scientifiques étudient Scala, pas Python ou R.


Eh bien, ce gars a gelé sur LinkedIn. Quant à l '"expert" de Scala, si vous plongez tête baissée, alors s'il vous plait, mais pas dans cette piscine. Faites-moi confiance. Déjà 2019 dans la cour. Scala est depuis longtemps dépassé dans la communauté de la science des données. Et si c'était le cas, PySpark ne serait pas apparu. Et n'écoutez sûrement pas les hipsters comme le gars qui parle toujours de Kotlin.


Ok! Et R? Il semble que les gens aiment ça.


R est bon en modélisation mathématique, et rien de plus. Avec Python, vous tirerez beaucoup plus de votre investissement dans la formation et vous pourrez effectuer un plus large éventail de tâches, telles que la collecte de données et la configuration de services Web.


Mais R occupe toujours une place assez élevée à Tiobe , et il a des tonnes de followers et de ressources. Utilisez-le - faites-vous du mal?


Regardez, vous pouvez utiliser R. Si vous êtes juste intéressé par les mathématiques, c'est, bien sûr, discutable, mais mieux, mais encore mieux cela fonctionne avec Tidyverse . Mais la science des données est encore beaucoup, BEAUCOUP plus que les mathématiques et les statistiques. Croyez-moi, en Python en 2019, vous pouvez aller beaucoup plus loin.


Ok, alors ... Apparemment, je commence à apprendre le Python.


Vous ne le regretterez pas.


Python est-il compliqué? Vais-je rester à flot avec lui lorsque les robots prendront le relais?


Eh bien, bien sûr, Python est un langage assez simple. Avec lui, vous pouvez automatiser de nombreuses tâches et faire des nishtyaki cool . Mais vous n'avez même pas besoin de Python. La science des données est bien plus que des scripts et l'apprentissage automatique.


Que voulez-vous dire?


Eh bien, ce ne sont que des outils. Vous utilisez Python pour obtenir des informations à partir des données. Parfois, cela nécessite un apprentissage automatique, mais dans la plupart des cas, ce n'est pas le cas. La science des données peut simplement signifier la création d'un graphique. En fait, vous n'avez même pas besoin d'apprendre Python, vous pouvez simplement utiliser Tableau. Ils annoncent qu'ils peuvent "faire en sorte que tout le monde dans votre organisation soit un rendez-vous scientifique" s'ils utilisent simplement leur produit.



Tableau est convaincu de pouvoir résoudre le problème du personnel lié au manque de date des scientifiques.


Arrête quoi? Donc, j'achète simplement une licence pour Tableau, et suis-je maintenant un rendez-vous scientifique? Eh bien, parlons de cette offre commerciale avec une pointe de scepticisme. Je suis peut-être un ignorant, mais je sais que la science des données ne crée pas seulement de belles visualisations. Je peux aussi le faire dans Excel.


Bien sûr. Cependant, il faut admettre qu'il s'agit d'un excellent marketing. Le graphisme est amusant, bien sûr, mais ils manquent toute la douleur et beaucoup de temps qu'ils prennent pour effacer, traiter, modifier et charger des données.


Oui, et c'est pourquoi je soupçonne qu'il est utile d'apprendre le code. Parlons de Python.


Attendez une minute, en fait. Vous devriez peut-être apprendre Alteryx.


Quoi?


Il existe un autre logiciel appelé Alteryx qui vous permet de nettoyer, traiter, modifier et télécharger des données. C'est génial car il utilise Drag & Drop pour combiner des données et ...



Alteryx promet également une «science des données» sans code.

Oh mon Dieu, s'il te plait arrête. Plus de glisser-déposer. Je veux apprendre Python, pas Alteryx ou Tableau.


D'accord, désolé. J'essayais juste de vous faciliter la vie, d'éviter le codage. Peut-être que je l'ai fait aussi parce que notre entreprise a acheté des licences que nous devrions utiliser. Mais dans tous les cas, pour utiliser Python, vous devez étudier plusieurs bibliothèques, telles que Pandas pour gérer DataFrame et matplotlib pour créer des graphiques. Rayer généralement le matplotlib. Utilisez Plotly. Il utilise d3.js et est généralement beaucoup plus agréable.


Je connais certains des mots que vous avez prononcés. Mais qu'est-ce qu'un DataFrame?


Eh bien, c'est une telle structure de données sous la forme d'un tableau avec des lignes et des colonnes. Vous pouvez effectuer toutes ces transformations intéressantes, tableaux croisés dynamiques et agrégations avec un DataFrame en Python.


Attendez, alors comment cela diffère-t-il d'Excel? Je fais tout cela depuis l'obtention de mon diplôme universitaire. Est-ce à dire que je suis déjà un rendez-vous scientifique?


Si vous êtes flatté de vous appeler ainsi, bien sûr. Je déclarerais publiquement ce titre autoproclamé chaque fois que j'allais à une fête ou écrivais un curriculum vitae.


Alors, qu'est-ce qui rend Python différent d'Excel?


Python est différent en ce que tout peut être fait dans un ordinateur portable Jupyter . Vous pouvez effectuer toutes les étapes de l'analyse des données et l'ordinateur portable visualise chaque étape. C'est presque comme écrire une histoire que vous pouvez partager avec d'autres. Et la communication et les histoires, après tout, sont une partie sacrément importante de la science des données.


Cela ressemble à PowerPoint. Je fais déjà ça. Je suis tellement confus.


Oh mon dieu non. Les ordinateurs portables sont beaucoup plus automatisés et optimisés, ce qui facilite le suivi de chaque étape de l'analyse. Mais si vous y réfléchissez, je viens de me rappeler que certaines personnes n'aiment pas du tout les ordinateurs portables, car le code qu'ils contiennent n'est pas très pratique à réutiliser. Il est plus facile de distribuer le code entre les modules en dehors des ordinateurs portables si vous devez le transformer en produit logiciel.


Alors maintenant, la science des données est-elle également le développement de logiciels?


Peut-être, mais ne nous laissons pas distraire par cela. Il y a des choses beaucoup plus urgentes qui doivent être apprises au début. Pour faire de la science des données, vous avez évidemment besoin de données - de données.


Bien sûr.


Et il n'y a rien de mieux pour un débutant que de collecter des données sur le réseau à partir des mêmes pages Wikipédia qui peuvent être transférées sur votre disque dur.


Attendez, qu'essayons-nous de réaliser à nouveau?


Eh bien, nous essayons d'obtenir des données pour la pratique. Gratter des pages Web et les analyser avec Beautiful Soup nous donnera des tonnes de données textuelles non structurées avec lesquelles travailler.


Je suis confus. Je viens de terminer la lecture d'un excellent livre SQL de 130 pages , et je pensais que j'allais interroger des tableaux, pas abandonner Internet. Le SQL n'est-il pas un moyen typique d'accéder aux données?


Eh bien, nous pouvons faire beaucoup de choses intéressantes avec des données textuelles non structurées. Nous pouvons les utiliser pour classer les humeurs dans les messages des réseaux sociaux ou pour d'autres traitements du langage naturel. NoSQL est idéal pour stocker ce type de données, car nous pouvons stocker d'énormes quantités de données sans se soucier de les rendre adaptées à l'analyse.


J'ai entendu le terme NoSQL. Est-ce donc SQL? Anti-SQL? Attendez, je pense que cela a quelque chose à voir avec les mégadonnées, non?


Eh bien, tout d'abord, le «big data» date de 2016. La plupart des gens n'utilisent plus ce terme, donc ce n'est pas cool de le dire. Comme de nombreuses technologies de battage médiatique, il a dépassé son sommet de popularité et n'a trouvé d'application que dans quelques endroits. Mais NoSQL est essentiellement le résultat du mouvement du «big data» qui a nourri des plateformes comme MongoDB.


D'accord, mais d'où vient le nom «NoSQL»?


NoSQL signifie «non seulement SQL» et prend en charge les structures de données en dehors des tables relationnelles. Cependant, les bases de données NoSQL, en règle générale, n'utilisent pas SQL, mais plutôt leur propre langage de requête. Voici MongoDB par rapport à SQL:



Oh mon dieu, c'est terrible. Vous dites donc que chaque plateforme NoSQL possède son propre langage de requête? Quel est le problème avec SQL?


Vous avez. Avec SQL, tout est en ordre, sauf qu'il a déjà des décennies. L'engouement pour les données non structurées est devenu une opportunité de faire quelque chose de nouveau et d'évoluer à grande échelle de manière auparavant inaccessible. Cependant, je pense que de plus en plus de gens arrivent à la conclusion qu'il est utile de sauver SQL . Cela simplifie considérablement l'analyse. À tel point que de nombreuses technologies NoSQL et «big data» ont été brouillées pour ajouter une forme de SQL . Après tout, SQL est un langage assez universel, même s'il est difficile à utiliser pour certaines personnes.



Wow, d'accord. J'ai donc réalisé que l'apprentissage de NoSQL pour moi, en tant que rendez-vous scientifique, n'est pas critique, sauf si mon travail l'exige autrement. Il semble que je sois sûr de ne connaître que SQL.


Plus j'y pense, plus je crois que oui, vous avez raison, mais seulement jusqu'à ce que vous soyez attiré pour devenir ingénieur des données.


Ingénieur de données?


Oui, la date des scientifiques était comme divisée en deux professions. Les ingénieurs de données travaillent avec des systèmes de production et aident à rendre les données et les modèles adaptés à l'utilisation, mais ils sont moins impliqués dans l'apprentissage automatique et la modélisation mathématique, qui, à son tour, reste la date pour les scientifiques. Cela était probablement nécessaire, car la plupart des RH et des recruteurs ne voient pas au-delà du titre de «scientifique de date» . Pensez-y, si vous voulez être un ingénieur de données, je porterais une attention particulière à l'apprentissage d' Apache Kafka et non de NoSQL. Apache Kafka n'est plus qu'une bombe.
Maintenant, ce diagramme de Venn va vous aider. Pour obtenir le titre de «scientifique de date», vous devez être quelque part dans le cercle mathématique / statistique et, idéalement, à l'intersection avec une autre discipline.



Diagramme de Venn de la science des données

Eh bien, maintenant je n'ai aucune idée si je veux être un data scientist ou un data engineer. Continuons. Donc, pour en revenir, pourquoi analysons-nous les pages Wikipédia?


Eh bien, ils servent d'entrée au traitement du langage naturel, et avec leur aide, vous pouvez, par exemple, créer des robots de discussion.


Comment est Tay de Microsoft? Ce bot sera-t-il suffisamment intelligent pour prévoir les ventes et m'aider à lancer de nouveaux produits avec la bonne quantité d'inventaire? Y a-t-il un risque qu'il devienne inévitablement raciste?


Théoriquement, il y en a. Si vous le nourrissez d'articles de presse, vous pourrez peut-être créer un modèle qui définit certaines tendances et, par conséquent, donne des recommandations sur les décisions commerciales. Mais c'est vraiment difficile. Réfléchissez bien, ce n'est peut-être pas la meilleure option pour commencer.


Alors, eh bien ... le traitement du langage naturel, les robots de discussion et les données textuelles non structurées ne me conviennent peut-être pas?


Peut-être, mais gardez à l'esprit que la science des données est partout maintenant. Les entreprises de la Silicon Valley telles que Google et Facebook traitent de nombreuses données non structurées (telles que les publications sur les réseaux sociaux et les articles de presse), et ont évidemment un impact important sur la définition de la «science des données». Eh bien, les autres, comme nous, utilisent les données des transactions commerciales sous la forme de bases de données relationnelles et de technologies moins inspirantes telles que SQL.


Cela semble crédible. Je suppose qu'ils consacrent leurs talents dans le domaine des données non structurées principalement pour l'extraction de messages d'utilisateurs, d'e-mails, d'histoires à des fins publicitaires et autres viles.


Il en est ainsi. Vous savez, le classificateur naïf de Bayes peut vous sembler intéressant et plutôt utile. Vous pouvez prendre le texte et prévoir la catégorie pour lui. C'est assez facile à mettre en œuvre à partir de zéro:



Catégorisation des corps de texte à l'aide d'un classifieur Bayes naïf

Tu as raison, il est cool. Mais à part cela, je ne vois aucune valeur dans les données non structurées.


Continuez ensuite. Vous travaillez donc avec des données tabulaires: des feuilles de calcul et un tas de nombres enregistrés. On dirait presque que vous voulez faire des prédictions ou des analyses statistiques.


Oui, nous avons enfin trouvé quelque chose! Enfin, nous allons résoudre de vrais problèmes. Donc, cela va maintenant commencer le sujet des neurones et de l'apprentissage en profondeur?


E-gay, tiens les chevaux. J'allais suggérer de commencer par des distributions normales avec des écarts moyens et standard. Peut-être calculer les probabilités avec un z-score et une ou deux régressions linéaires.


Mais là encore, je peux tout faire dans Excel! Je ne peux pas?


Eh bien ... euh ... oui, c'est vrai, vous pouvez faire beaucoup de ce qui précède dans Excel. Mais lors de l'écriture de scripts, vous obtenez plus de flexibilité.


Comment avec VBA? Visual basic


D'accord, je vais recommencer et faire comme si tu n'avais pas dit ça. Excel possède de très bons opérateurs statistiques et des modèles de régression linéaire décents. Mais si vous devez faire une distribution ou une régression normale distincte pour chaque catégorie d'éléments, il est beaucoup plus facile d'écrire un script Python, plutôt que de créer des formules infernales, dont la longueur peut devenir une métrique de la distance à la Lune.



Lorsque vous devenez avancé chez Excel, vous infligez de la douleur à tous ceux qui travaillent avec vous. (Lorsque vous devenez cool dans Excel, tout le monde autour de vous souffre)

Vous pouvez utiliser la bibliothèque cool scikit-learn . Avec lui, vous obtiendrez des opportunités beaucoup plus puissantes pour diverses régressions et l'apprentissage automatique.


D'accord. Il semble donc que maintenant la conversation se déplace dans le domaine de la modélisation mathématique. Voici un tas de problèmes mathématiques devant moi, par où commencer?


Eh bien, dans la vue traditionnelle, l'algèbre linéaire est la pierre angulaire de beaucoup de science des données, et c'est avec elle que vous devez commencer. Multiplication et ajout de matrices (le soi-disant produit scalaire) - c'est ce que vous ferez tout le temps, et il existe d'autres concepts importants, tels que les déterminants et les vecteurs propres. 3Blue1Brown est presque le seul canal où vous pouvez trouver une explication intuitive de l'algèbre linéaire.



Alors ... la multiplication / addition d'une matrice à une autre - c'est ce que je vais faire principalement? Cela semble vraiment inutile et ennuyeux. Pouvez-vous donner un exemple?


Eh bien ... l'apprentissage automatique! Lorsque vous effectuez une régression linéaire ou que vous créez votre propre réseau de neurones, vous devrez effectuer plusieurs fois la multiplication de la matrice et la mise à l'échelle avec des valeurs de poids aléatoires.


Ok, donc les matrices ont quelque chose à voir avec la trame de données? Ils ressemblent à.


Attendez une minute ... je l'ai repensé. Revenons à cette affirmation. En pratique, vous n'avez pas besoin de faire d'algèbre linéaire.



Oh viens sur toi! Vraiment? Dois-je donc étudier l'algèbre linéaire ou non?


En pratique, vous n'avez probablement pas besoin d'apprendre l'algèbre linéaire. Des bibliothèques comme TensorFlow et scikit-learn feront tout pour vous. Au final, c'est vraiment fatiguant et ennuyeux. Bien sûr, vous pouvez comprendre et avoir une idée du fonctionnement de ces bibliothèques. Mais pour l'instant, commencez simplement à utiliser des bibliothèques d'apprentissage automatique et ignorez complètement l'algèbre linéaire.


Votre insécurité m'inquiète. Puis-je te faire confiance?


Montrez au moins un peu de respect! Je viens de te sortir d'une autre piscine. Pas du tout.


Ooh


Et pourtant, jusqu'à ce que j'oublie. Vous n'utilisez pas vous-même TensorFlow. Utilisez-le avec Keras car TensorFlow est beaucoup plus facile avec lui.


Si vous revenez en arrière, la régression linéaire est-elle vraiment liée à l'apprentissage automatique?


Oui, la régression linéaire est incluse dans la liste des outils de «machine learning».


Cool, je fais ça tout le temps dans Excel. Alors, puis-je également m'appeler un praticien de l'apprentissage automatique?


* Soupir * techniquement, oui. Mais vous voudrez peut-être élargir un peu vos horizons. Vous voyez, l'apprentissage automatique (quelle que soit la technologie) se compose souvent de deux tâches: la régression et la classification. Techniquement, la classification est une régression. Arbres de décision, réseaux de neurones, méthode des vecteurs de support, régression logistique, et oui ... régression linéaire - ils correspondent tous en quelque sorte aux courbes. Chaque modèle présente des avantages et des inconvénients selon la situation.


Attendez, l'apprentissage automatique n'est-il qu'une régression? ?


. , , , , , . — . , , 2-3 , , .



, , . — ?


. . : . , () , , . , , , , , .


.


(!)


, ? ? ?


, , , , data science . “ ” .


, . , ?


, . , . «», , .


?


, , . , . , , , .


, ?


* * - , . , , . , : , , . .


, - , , , ?


, . , . … , « », , , . , .


, — , , ? … ? «», ?


, , ( ) , , . , , .


. , DeepMind , StarCraft! ! , ?


StarCraft ?


( )


, StarCraft ?



StarCraft, - StarCraft? : StarCraft. , , .


, . , … , , -. , , — . .


- Data Science , . , .


, ? «data science», … … . .


, . .


. . - , , Excel “data science”. , . , . - . , « », data science .


, - IBM?


?


- ?


Source: https://habr.com/ru/post/fr478688/


All Articles