Formation R/Python12.8.2020 Séance de formation R/Python
Présentateur : Ben Francis
Regarder l'enregistrement | Journal
Points clés à retenir
- "Voulez-vous que vos employés soient des codeurs, ou voulez-vous qu'ils soient des gens qui résolvent des problèmes ?"SME n'est souvent pas le codeur R ou Python.
- JMP peut être considéré comme une menace pour les codeurs R/Python. S'éloigner du gatekeeper (utilisateurs R/Python) vers l'activation (je veux garder mon travail donc R et Python doivent rester)
- Coût du logiciel vs coût du personnel/temps
- L'un des problèmes de qualité les plus critiques dans le développement de logiciels, en particulier pour les logiciels d'analyse, est l'exactitude et la fiabilité des résultats.Déclaration de qualité contre les solutions open source. JMP offre confiance et sécurité.
- R et Python sont concurrents pour tous nos produits (JMP, JMP, Clinical, JMP Live...)
Qu'est-ce qu'un logiciel open source ?
Le terme Open source fait référence à quelque chose que les gens peuvent modifier et partager car sa conception est accessible au public.Un logiciel open source est un logiciel dont le code source peut être inspecté, modifié et amélioré par n'importe qui.
Qui utilise R/Python ?
- Toute entreprise
- Rôles : scientifiques des données, statisticien, biologistes de niveau supérieur, chimistes, technologues
- Ceux qui veulent être à la mode
- Ceux qui ont de l'initiative
- Souvent pas de gestion
- Modélisateurs non pilotés par les données
- Pas dans les zones hautement réglementées
- Qu'est-ce que l'open source ? Qu'est-ce que cela signifie pour les utilisateurs ? Coût, accès, assistance, etc. ?
- Courbe d'apprentissage pour R/Python vs JMP JSL ? Enregistreur d'actions.
Quels sont les avantages de R/Python ?
- C'est un outil de science des données gratuit et accessible à tous.
- "Partenaire" mature et étendu sur le marché.
- Des sites tels que Stack Overflow offrent une grande aide aux communautés R/Python.
- Nouvelles fonctions/caractéristiques de pointe ajoutées fréquemment par les utilisateurs.
- La qualité de la sortie peut être très élevée.
- Interfaçage simple avec d'autres langages de programmation (C, C++, Java).
- Si une entreprise a fait de la science des données, elle aura probablement du matériel dans des scripts R/Python.
- Peut être basé sur le cloud.
- Avoir des connaissances en programmation Python peut être un différenciateur pour les scientifiques/ingénieurs.
Quels sont les inconvénients de R/Python ?
- L'accent est mis sur le logiciel plutôt que sur les personnes qui l'utilisent.
- De plus, le logiciel peut être considéré comme une panacée pour les données désordonnées/manquantes/inexistantes.
- Approche code d'abord, avec souvent plus d'un "codeur" requis.
- Pensée "Pie in the Sky".
- Options de sécurité médiocres et pas ou très peu d'assurances de qualité et de précision (Déclaration de qualité de JMP)
Comment positionner JMP par rapport à R/Python :
Suggestions générales :
- Y a-t-il un problème réel qu'ils essaient de résoudre ? Éloignez-vous des acheteurs "de fenêtre".
- N'entrez pas dans des conversations techniques approfondies et n'utilisez pas vous-même des mots à la mode.
- Ne faites pas de fonctions et de fonctionnalités, l'open source gagne pratiquement à chaque fois.
- Évitez de focaliser l'attention du client sur un seul produit JMP.
Pour l'Utilisateur Acheteur :
- Questions de qualification :
- Quels aspects de votre travail actuel sont difficiles ?
- Souhaitez-vous avoir plus de temps pour l'analyse des données d'innovation ?
- Que souhaiteriez-vous pouvoir améliorer dans vos scripts/applications actuels ?
- Faites-vous partie d'une équipe centrale de support technique ? Si oui, comment apportez-vous votre soutien ?
Pour l'Acheteur Technique :
- Éloignez-vous de la mentalité de gardien vers l'habilitation.
- Soyez clair sur le assurances qualité et numérique de JMP.
- Questions de qualification :
- Combien de personnes au sein de votre organisation sont impliquées dans le développement des connaissances/processus ?
- Un logiciel avec une précision numérique et des assurances qualité régulièrement mises à jour serait-il important pour vous ?
Pour l'Acheteur Economique :
- Écoutez la grande vision. Plus c'est grandiose, plus ça leur fait mal.
- Encouragez-les à considérer que l'open source pourrait nécessiter un niveau de formation (et donc un coût) plus élevé.
- Questions de qualification :
- Où veux-tu être dans un an ? Quelle est votre stratégie ?
- Comment allez-vous faire évoluer leurs analyses de données ?
Quand et comment positionner JMP avec R/Python ?
JMP est un progiciel autonome et complet de visualisation de données et d'analyse statistique de SAS pour les postes de travail Windows et Mac. JMP possède l'interactivité et le lien dynamique qui rendent l'exploration de données passionnante et perspicace et contient de nombreuses options analytiques avancées, répondant pleinement aux besoins des explorateurs de données et des analystes. Néanmoins, il peut arriver que vous souhaitiez (ou ayez besoin) d'utiliser JMP en conjonction avec des outils open source, tels que Python ou R. Considérez les exemples suivants :
- Un statisticien d'entreprise interdit d'utiliser un logiciel non validé tel que R pour l'analyse primaire peut néanmoins souhaiter explorer une nouvelle méthodologie dans un package R côte à côte avec des méthodes validées dans JMP.
- Un programmeur Python ou R peut souhaiter tirer parti de la liaison dynamique, des visuels avancés ou des analyses puissantes disponibles dans JMP.
- Le service d'analyse des données d'une entreprise peut souhaiter développer un complément pour JMP permettant d'exécuter du code R ou Python en tant que complément dans JMP, afin que les futurs utilisateurs puissent interagir avec le complément de l'interface graphique sans avoir à écrire le R ou Python codent eux-mêmes.
- Un enseignant en statistique peut souhaiter introduire des packages open source spécifiques dans la classe, mais dans un environnement pointer-cliquer qui ne nécessiterait pas de codage par l'étudiant.
Ressources:
- Maîtriser JMP : Intégration JMP et R : Apprenez à utiliser les commandes de script JSL de base pour vous connecter à R, envoyer des données entre R et JMP et soumettre du code R.
- Livre blanc : Utilisation de JMP et JMP Pro avec R et Python : Exemples de cas où les utilisateurs peuvent vouloir (ou avoir besoin) d'utiliser JMP conjointement avec des outils open source, tels que Python ou R.
- Complément : XG Boost : P fournit une interface pointer-cliquer à la célèbre bibliothèque open source XGBoost pour la modélisation prédictive avec des arbres à gradient extrême.Inclut l'exportation de profilage du langage de script JMP (JSL) et du code Python pour la reproductibilité.
- Complément : Générateur de complément JMP vers R : UN permet aux codeurs R d'héberger leur code R dans un complément JMP sans écrire de code JSL. Permettre aux utilisateurs JMP d'accéder aux options du code R et de les modifier.
- Wiley Paper - Better Together - Étendre JMP avec un logiciel Open Source : Dans cet article, nous allons explorer des cas d'utilisation qui illustrent comment les utilisateurs de JMP peuvent tirer parti de la large prise en charge et du rythme rapide de changement des logiciels open source tout en bénéficiant de l'interface simplifiée et des fonctionnalités robustes de JMP.
- JMP peut aussi être brillant : Americas 2021 Discovery Paper qui parle de t a fonctionnalité de tableau de bord dans JMP est un outil fantastique qui peut servir de bonne alternative à R Shiny. Par rapport à R Shiny, les tableaux de bord JMP sont plus faciles et plus rapides à créer et peuvent faire gagner beaucoup de temps dans le développement d'applications. Dans cette affiche, j'explique comment les tableaux de bord JMP peuvent être un outil pour :
- Partager l'excitation de la découverte de données avec d'autres.
- Personnalisation de la présentation des graphiques.
- Création d'un storyboard visuel pour transmettre des informations.
Informations sur les concurrents (SWOTS)FormationRe: Formation R/PythonMerci d'avoir partagé @martindemel ! Cela ressemble à un bon cas d'utilisation. Savez-vous s'ils utilisent principalement le code Python tel qu'il est fourni par JMP, ou s'il nécessite de nombreuses modifications ? Aussi, savez-vous quels modèles ils utilisent?
Re: Formation R/Python@mia_stephens Il y a quelques années, j'ai eu un contrat Pro chez Osram où ils ont utilisé JMP Pro pour créer un modèle qu'ils peuvent utiliser dans leur application Web générée en python. L'objectif était d'avoir une meilleure estimation de la durée d'un projet, y compris toutes les différentes étapes du projet en fonction des ressources (personnes), de la classe d'innovation (nouveau produit, s'appuyer sur le précédent, ...) et de la charge de travail actuelle (et quelques autres facteurs). Donc tous ensemble un modèle de planification de projet. Comme l'application Web a été construite en Python, ils ont trouvé un bon modèle décent et facile dans JMP et ont utilisé le dépôt formel pour générer du code Python qu'ils ont ensuite intégré à l'application. A fonctionné presque comme un charme. De temps en temps, ils revérifient le modèle avec les nouvelles données acquises des calendriers de projets antérieurs et ajustent si nécessaire. Je n'ai pas eu de nouvelles d'eux depuis un certain temps, mais je pense qu'il est toujours utilisé de manière productive.
Re: Formation R/Python@malcolm_moore1 @nascif_jmp
Quelles questions pouvons-nous poser pour identifier si quelqu'un est un ouvre-barrière ou un gardien ?
Ma principale réflexion irait dans le sens de
- Comment incluez-vous l'expertise du domaine dans l'analyse des données ? Pourquoi est-ce important?
- Travailler avec une équipe sur des défis d'analyse de données mène-t-il au succès ou à l'échec ?
Re: Formation R/Python@malcolm_moore1 bien que la littératie des données soit une question importante, je pense qu'elle est orthogonale à la question spécifique que Mia vient de poser. Au contraire, les experts qui permettent aux modèles JMP d'être déployés en production pour générer de la valeur commerciale ne sont pas des gardiens, mais des ouvreurs de portes.
Si le problème que l'entreprise tente de résoudre nécessite la création d'un site Web pour servir les valeurs prédites ou un processus de surveillance automatisé de bout en bout dans une usine, il doit y avoir un moyen de sortir nos modèles de JMP et les intégrer aux processus requis. Ce n'est pas tant une question de "qui" que de "où" et "comment".
Peut-être que si un jour nous rendions le déploiement de modèles dans des environnements de production aussi simple que nous l'avons fait pour « déployer » des rapports et des tableaux de bord à l'aide de JMP Live, nous réduirions le besoin d'experts en analyse de données dans le flux de travail analytique. Ce serait une façon intéressante de combiner ces fils de manière productive.
@mia_stephens voici quelques-unes des personnes à qui j'ai parlé au fil des ans concernant la génération de code de notation Python par Formula Depot, sans ordre particulier.
- Ping Liu - Analytique avancée chez Bain & Company
- Matthew Flynn - AIG Science
- Philip O'Leary - Membre du groupe de pilotage de l'Université de Finlande orientale
- Bradford Foulkes - General Electric
- Thomas Slezak - Université Brigham Young
- Burak Bagdatli - Georgia Tech
- Gul Ege, David Duling - SAS (ESP)
- Lucy Luo - Conoco Philips
Re: Formation R/PythonUn aspect supplémentaire à prendre en compte pourrait être d'autres aspects du flux de travail d'analyse des données : la nécessité de être attentif aux limites potentielles de nos données et à la nécessité de remettre en question nos données et nos modèles en utilisant la connaissance du sujet. Reconnaissez que nos processus sont rarement dans un état stable, ou en d'autres termes : l'apprentissage à partir des données est un processus continu qui est mieux réalisé en permettant l'intégration des connaissances sur le sujet avec la littératie des données et le savoir-faire en analyse de données. Il est plus facile pour une entreprise de réaliser des analyses de données à grande échelle en permettant à des experts en la matière en ce qui concerne la littératie des données et l'analyse de données que de faire évoluer l'analyse de données en transférant des connaissances sur le sujet à notre peu experts en analyse de données.
Si les experts en analyse de données sont actuellement les gardiens du flux de travail analytique, nous devrons peut-être envisager d'avoir cette conversation avec d'autres acheteurs influents.
D'autres aspects des arguments relatifs à la littératie des données se trouvent dans Dark Data de David Hand, voir son discours Stats Speaking Données sombres certains aspects seront également couverts par Ron Kennet et Chris Gotwalt dans leur prochain article Discovery : Maximiser le succès de la science des données
Re: Formation R/PythonBonjour Mia, Jerry Winter chez Unilever a utilisé cette fonctionnalité. Je n'ai pas toute l'histoire, mais nous avons travaillé ensemble pour trouver une section qui n'avait pas été traduite de JMP en Python.Faites-moi savoir les prochaines étapes qui seraient utiles !
Re: Formation R/PythonSuper débat ici ! Curieux de l'utilisation de Formula Depot pour générer du code Python. Quelqu'un a-t-il nommé des clients utilisant cette fonctionnalité, et des exemples que vous pouvez partager ?
Re: Formation R/PythonIl serait peut-être bon d'avoir un peu de contexte sur la façon dont certains de nos concurrents (même s'ils sont partiels) gèrent l'intégration (et non le remplacement)
* https://www.analyticsvidhya.com/blog/2020/08/integrating-python-in-power-bi/
* https://towardsdatascience.com/tabpy-combining-python-and-tableau-511b10da8175
* https://looker.com/blog/data-science-with-looker-and-python-part-two
Re: Formation R/PythonC'est une discussion brillante, d'excellents allers-retours.
Re: Formation R/PythonDes ressources très utiles @mzwald et @nascif_jmp , contribue certainement à élargir la page. j'ai parlé de @ruthhummel , @MJ et @nascif_jmp travailler comme une ressource mais ne voulait pas le soumettre à une explication de seconde main !
FWIW, mon expérience est un utilisateur de R/Python dans Academia et Unilever. Chez Unilever, même si comprendre que JMP peut être synergisé avec R/Python est un outil fantastique, il y avait un petit nombre (<10) dans l'entreprise qui pouvait le faire. Une goutte d'eau dans l'océan par rapport à 5000 (principalement des scientifiques et des ingénieurs) en seulement R&D dans le monde. JMP m'a permis de travailler/collaborer avec ces 5000 plutôt qu'en tant que service pour eux, R/Python ne l'a pas fait. J L'accent doit toujours être mis sur l'identification des défis de la situation actuelle et sur la réalisation d'une vision (soit de manière complète avec les produits JMP, soit en partie).
Pour être honnête, j'ai eu du mal à être suffisamment averti avec les packages R/Python, à la fois en termes de précision numérique du package lui-même et de savoir si mon utilisation est erronée. Chez JMP, j'ai une déclaration de qualité et un SE commercial et un support technique. Bien qu'il s'agisse de points de vente discrétionnaires, nous ne devrions pas hésiter à les mentionner lorsque cela est pertinent.
Re: Formation R/Python"Synergie est une interaction ou une coopération donnant lieu à un tout qui est plus grand que le simple somme de son les pièces ."
Re: Formation R/Python@nascif_jmp et @MJ et j'ai écrit un article montrant plus de détails sur la façon d'utiliser l'open source avec JMP, soulignant cette idée de les utiliser ensemble plutôt que de les remplacer l'un par l'autre. Le papier est disponible sur https://onlinelibrary.wiley.com/doi/abs/10.1002/sta4.336 . C'est sous le paywall du journal en ce moment, mais dès que notre demande pour le rendre OpenAccess sera acceptée, ce lien devrait vous permettre (ou à un client à qui vous envoyez ce lien) de voir l'article complet gratuitement.
Dans le document, il y a des liens vers quatre courtes vidéos à l'appui. Vous pouvez également envoyer ces liens directement ou les utiliser dans une démo. Les deux premières vidéos montrent l'application Housing Price que Nascif a créée à l'aide du code de notation Python généré à partir de JMP incorporé et déployé dans AWS. Ces deux vidéos montrent (1) la création du modèle dans JMP et la génération du code Python, et (2) l'application finale qui a été créée dans AWS.
Film 1 : JMP Pro Listing Price Predictor Model fitting et génération de code Python :
https://players.brightcove.net/1872491364001/default_default/index.html?videoId=6214684063001
Film 2 : Déploiement final du modèle sur AWS du code de notation Python généré par JMP Pro :
https://players.brightcove.net/1872491364001/default_default/index.html?videoId=6214680112001
Les deux dernières vidéos montrent l'utilisation par MJ de t-SNE et UMAP dans R, intégrés dans un complément JMP afin que l'utilisateur n'interagisse qu'avec les boîtes de dialogue pointer-cliquer JMP (et le code R est invisible dans les coulisses, avec respect à l'utilisateur du complément). Le film 3 montre comment utiliser le complément. Le film 4 montre comment JMP apporte des fonctionnalités qui sont très difficiles dans R, et R a apporté les algorithmes qui n'étaient pas dans JMP, et les deux systèmes logiciels peuvent faire cette chose intéressante.
Film 3. Application du complément Embedding sur le jeu de données MNIST :
https://players.brightcove.net/1872491364001/default_default/index.html?videoId=6214686689001
Film 4 : Exploration des résultats t-SNE avec étiquetage d'image dans JMP :
https://players.brightcove.net/1872491364001/default_default/index.html?videoId=6214680173001
Re: Formation R/Python@saradoudt Quel @mzwald m'a dit. je suis surpris que @ruthhummel Le livre blanc de est répertorié comme une ressource mais pas entièrement exploré comme une approche viable pour vendre JMP sans essayer de remplacer Python/R - il y a de la place pour les deux et nous pouvons montrer que la somme est supérieure aux parties. En outre, vous souhaiterez peut-être répertorier les présentations Discovery sur Formula Depot, car elles contiennent des exemples de déploiement du code de notation Python qui pourraient être utiles pour justifier l'utilisation de JMP dans une boutique Python.
* Notation hors des sentiers battus - Communauté d'utilisateurs JMP
* Partager l'avantage ultime : de la modélisation à la notation - Communauté d'utilisateurs JMP
De plus, je pense que la vision de l'Open Source décrite ici passe à côté de ce contre quoi nous allons :
" Le terme Open source fait référence à quelque chose que les gens peuvent modifier et partager car sa conception est accessible au public.Un logiciel open source est un logiciel avec un code source que n'importe qui peut inspecter, modifier et améliorer."
Dans le domaine de la science des données, les "personnes" et "n'importe qui" incluent les grandes entreprises comme Google ( TensorFlow ) et IBM ( Étincelle ). Ils Payer aux développeurs de maintenir et d'améliorer ces frameworks, car ils font partie de leur stratégie de croissance basée sur le cloud (la pile logicielle est gratuite, vous ne payez que pour l'utilisation du cloud). Vous pouvez être sûr qu'ils paient également les testeurs. Alors le ancien SAS FUD l'argument selon lequel vous ne pouvez pas faire confiance à leur qualité autant qu'à la nôtre ne va pas voler avec des utilisateurs qui savent d'où ils viennent - cela pourrait même se retourner contre vous.
Même pour les petits forfaits tels que XGBoost, lorsque vous consultez la liste des contributeurs vous voyez des chercheurs d'universités et des développeurs de grandes entreprises. Ce ne sont pas des gens qui travaillent dans des garages. Alors bien sûr, il existe de petits packages open source mal entretenus; mais les scientifiques et les ingénieurs que nous recherchons sont suffisamment avertis pour savoir lesquels choisir et lesquels éviter. Nous devrions être aussi avisés qu'eux lorsqu'ils ont cette conversation.
Re: Formation R/Python@mzwald Merci pour les commentaires ajoutés. Aimez toujours entendre des expériences différentes!
Re: Formation R/PythonQuelques réflexions sur mon expérience de positionnement de JMP par rapport à R/Python (Python étant beaucoup plus courant dans la région NWT2 que R).Nous avons trouvé qu'il était préférable de positionner JMP (ou plus probablement JMP Pro s'ils utilisent Python) comme un outil complémentaire à Python plutôt que d'en faire une décision.Si vous faites le choix "utiliser JMP Pro plutôt que Python", cela ne sera pas efficace car Python a trop d'inertie et d'infrastructure derrière lui, notamment pour la modélisation prédictive (ex. bibliothèque TensorFlow).Mais si vous positionnez JMP Pro comme un outil complémentaire à Python où les modèles de données peuvent être prototypés et comparés plus rapidement dans JMP Pro, puis déployés en tant que code de score Python, c'est une raison beaucoup plus convaincante et a réussi à décrocher un certain nombre de ventes JMP Pro, même là où Python est encore fortement utilisé.