Décomposition en valeurs singulières en dehors de JMPBonjour, je suis un utilisateur de longue date de JMP (3.2 !) Et un débutant sans talent dans R. L'analyse de texte est nouvelle pour moi, en tant qu'écologiste, mais j'ai vraiment aimé jouer avec la plateforme Text Explorer. J'ai produit une matrice de termes de document clairsemée que je voudrais soumettre à une décomposition en valeurs singulières afin de faire des analyses supplémentaires dans JMP sur une matrice dense de valeurs singulières pour ~ 100 vecteurs. Je me suis heurté à un mur car je n'ai pas JMP Pro (je ne peux pas me le permettre). Je pense que cela signifie que je dois lire ma matrice de termes de document épars dans R, exécuter une sorte de fonction svd, puis relire ma nouvelle matrice dense dans JMP. Cela semble être une tâche facile pour quelqu'un qui est plus familier avec l'analyse de texte et qui maîtrise R. J'ai eu du mal à déterminer quel package R utiliser pour ce faire (il semble qu'il y en ait beaucoup). Lorsque j'ai consulté la documentation de différents packages, j'ai eu du mal à déterminer les fonctions et les arguments à utiliser pour accomplir cette tâche. Je sais, il est temps pour moi de m'engager à apprendre R. JMP m'a protégé de cette fatalité pendant de nombreuses années. S'il y a quelqu'un qui pourrait partager des conseils R, ou mieux encore, du code, cela lirait une matrice clairsemée comme un .csv, créerait une matrice de valeurs singulières dense dans R, puis écrirait cette matrice comme un nouveau .csv , Je serais très reconnaissant. Merci!Re : Décomposition en valeurs singulières en dehors de JMPMerci, @G_M . Je vais appeler votre réponse une "solution" à mon problème, car je suis à peu près sûr que la seule solution est que je fasse des analyses de texte en dehors de JMP. Votre message m'a été utile pour me montrer à quel point il est facile d'appeler R depuis JMP. C'est probablement juste le coup de pouce dont j'avais besoin pour m'engager à apprendre à intégrer les 2 outils.
Re : Décomposition en valeurs singulières en dehors de JMP@caseylott un bon moyen de commencer à utiliser R et JMP consiste à répliquer dans R les résultats que vous connaissez bien dans JMP.
Comme vous, je préfère JMP à R pour de nombreuses raisons. En fait, j'utilisais R en 2009 lorsque je présentais des résultats à une équipe de direction et
comme toujours, l'exécutif avait des questions supplémentaires (que je n'avais pas anticipé, je me suis amélioré dans ce domaine) et je ne pouvais pas simplement
produire la nouvelle analyse dans R, en direct.J'ai demandé 25 minutes pour aller faire l'analyse et apporter les résultats... J'ai perdu leur attention.Cette nuit
Je suis rentré chez moi et j'ai réfléchi à la manière dont je pourrais éviter cela à l'avenir..1) mieux anticiper une analyse plus approfondie et 2) identifier un logiciel plus agile.
JMP est réapparu dans ma vie (un collègue m'a fait découvrir JMP quelques années plus tôt) et est depuis mon logiciel de prédilection.
Cela dit, voici une syntaxe JMP vers R qui vous permettra de démarrer.
C'est peut-être trop basique, mais j'espère que c'est utile.J'utilise R pour estimer des modèles à effets mixtes non linéaires, des modèles IRT polytomiques et j'ai récemment commencé à estimer
Modèles bayésiens utilisant à la fois R et JAGS tout au long de JMP.
Names Default To Here( 1 );
//Open Big Class in JMP
df = Open( "$SAMPLE_DATA/Big Class.jmp" );
//execute bivariate regression of weight on height in JMP
df << Bivariate( Y( :weight ), X( :height ), Fit Line( {Line Color( {213, 72, 87} )} ) );
//make sure that you have embedded log open in your JSL Scripting window.
//Initiate R
R Init();
//send data frame to R
R Send( df );
//submit R Code for bivariate regression of weight on height
R Submit(
"\[
fit1 <- lm(weight~height, data = df)
summary(fit1)
]\"
);//close R Submit
//Look into the log and see the R Results
Re : Décomposition en valeurs singulières en dehors de JMPD'ACCORD, Si je comprends @Mark_Bailey correctement, SVD est un "changeur de jeu" ; cependant, vous avez besoin de JMP Pro pour jouer à ce jeu avec JMP. Est-ce correct?
En y réfléchissant un peu plus, il semble que JMP (version non pro) n'autorise aucune des fonctionnalités d'analyse de texte que j'ai vues dans des vidéos ou lues dans des blogs : analyse de classe latente, analyse sémantique latente, analyse de sujet, analyse discriminante, regroupement de documents ou regroupement de termes. En tant qu'utilisateur JMP de longue date qui peut s'offrir JMP mais pas JMP Pro, j'essaie toujours de déterminer mes prochaines étapes plus efficaces.
Par exemple, si je pouvais générer une matrice de valeurs singulières (par exemple, en dehors de JMP dans R) et ramener cette matrice dans JMP, il semble que ces analyses ne me seraient toujours pas disponibles, du moins pas directement, car je fais n'ont même pas d'éléments de menus (via le hotspot Text Explorer) pour aucune de ces plates-formes d'analyse. Je n'en sais tout simplement pas assez sur les détails statistiques pour comprendre si essayer de reproduire ces types d'analyse de texte dans JMP à l'aide de composants principaux standard ou de plates-formes de clustering est une bonne idée. Par exemple, je viens de voir un post de @LauraCS où elle a dit " l'analyse sémantique latente (LSA) est simplement une ACP effectuée sur une matrice de corrélation de termes de texte (mais sans aucune rotation impliquée)". Je me demande à quel point cette déclaration est littérale. Cela signifie-t-il que si je pouvais intégrer une matrice de valeurs singulières dans JMP, je pourrais utiliser les outils PCA de JMP pour effectuer des analyses essentiellement identiques à l'analyse sémantique latente et à l'analyse de classe latente ? Il me semble un peu risqué de le faire sans une meilleure compréhension des détails statistiques.
Donc ... après avoir été obsédé par ce sujet pendant quelques jours, il semble que ma meilleure option soit de comprendre comment aller et venir entre JMP (pour la conservation d'une matrice de termes de document et la visualisation) et R (pour les analyses) comme je l'ai vu dans @herush et @andrewtkarl vidéo intitulée "Text Mining dans JMP et R". On dirait que ce serait peut-être le bon moment pour déjeuner avec l'un de mes amis R et proposer une collaboration.
Je n'ai aucune idée du nombre d'utilisateurs JMP à ma place (par exemple, il est peu probable qu'ils passent à JMP Pro). Peut-être que je pousse juste sur des choses que l'utilisateur typique de JMP n'atteint pas. Cependant, s'il y en a d'autres comme moi, ce serait génial si je pouvais trouver mon chemin vers des ressources "d'aide" ou de "formation" supplémentaires (par exemple, des blogs, des tutoriels, des vidéos tierces) qui illustrent les synergies entre JMP et R et les moyens pour faire face à des situations comme celle dans laquelle je me trouve actuellement, où 2 outils (JMP et R) vont être nécessaires pour faire le travail.
Comme je l'ai déjà dit. J'adore JMP et je l'ai utilisé toute ma carrière. Cela ne changera pas, mais il me semble qu'il est temps pour moi de m'atteler et d'apprendre R. On m'a dit que cela en vaudrait la peine, mais bon sang, je préfère vraiment le flux de travail interactif et piloté par menus de JMP.
Re : Décomposition en valeurs singulières en dehors de JMPLa nouvelle routine SVD dans l'explorateur de texte change vraiment la donne et correspond exactement à ce dont l'analyse de texte supplémentaire a besoin.
C'est tout ce que j'ai à offrir. J'espère que d'autres auront des suggestions utiles en plus de réduire la taille du DMT.
Re : Décomposition en valeurs singulières en dehors de JMPMerci, Marc. Je n'ai pas testé jusqu'où je dois aller avec la réduction de ma matrice de termes de document pour pouvoir utiliser l'analyse de classe sémantique latente dans la plate-forme JMP (pas JMP Pro). Je pourrais peut-être faire en sorte que cela fonctionne, et j'essaierai, mais qu'en est-il lorsque j'ai un ensemble de documents encore plus volumineux ? Je prédis que je rencontrerai à nouveau ce problème.
Je pense que mon évaluation initiale est peut-être encore correcte. Il semble que j'ai encore besoin d'un moyen de transformer ma matrice de termes de document épars (créée dans JMP) en une matrice dense (via une décomposition en valeurs singulières dans R) afin que je puisse relire la matrice dense dans JMP pour des analyses multivariées supplémentaires.
En d'autres termes, je pense que mon incapacité à créer une matrice dense de valeurs singulières dans JMP, sans JMP Pro, limite vraiment ma capacité à aller très loin avec l'analyse de texte dans JMP.
Si quelqu'un a d'autres suggestions sur la façon de gérer cela dans JMP, ou peut-être des solutions basées sur R, j'aimerais les entendre.
Re : Décomposition en valeurs singulières en dehors de JMPPremièrement, je me suis mal exprimé. Il m'est difficile de me souvenir des fonctionnalités de chaque version de JMP et de toutes les différences entre JMP et JMP Pro. Vous avez raison : seules l'ACP et l'analyse des classes latentes sont disponibles dans JMP.
Deuxièmement, je craignais que le DTM volumineux et clairsemé ne soit trop pour JMP en dehors de la plate-forme Text Explorer. Vous pouvez essayer de réduire la liste des termes. En général, la conservation de la liste de termes et d'expressions peut conduire à des analyses beaucoup plus significatives que de s'appuyer sur les paramètres par défaut. C'est une façon de réduire la taille du DTM. Vous pouvez également réduire le nombre maximal de termes ou augmenter la fréquence minimale des termes lors de l'enregistrement du DTM.
Enfin, utilisez-vous JMP 64 bits ?
Re : Décomposition en valeurs singulières en dehors de JMPD'accord, merci pour la suggestion. J'ai essayé plusieurs choses jusqu'à présent qui n'ont pas fonctionné. Peut-être que je fais quelque chose de mal. J'ai enregistré la matrice de termes de document pondérée, puis je l'ai entrée en tant que variable y pour : 1) la plate-forme des composants principaux et 2) la plate-forme d'analyse des classes latentes. Je ne vois aucune option pour l'analyse sémantique latente dans ma version non Pro de JMP. Où seraient-ils situés ?
Lorsque j'essaie d'exécuter la matrice de termes de document pondérée dans la plate-forme de composants principaux, JMP tourne et se bloque inévitablement.
Lorsque j'essaie de placer la matrice de termes de document dans le rôle Y de la plate-forme d'analyse de classe latente, j'obtiens le message indiquant que j'utilise un type de données non pris en charge.
Aucune suggestion?
Re : Décomposition en valeurs singulières en dehors de JMPVous pouvez utiliser R avec JMP mais je ne pense pas que cela soit nécessaire. Vous pouvez enregistrer la matrice de termes de document pondérée à partir de l'explorateur de texte, puis analyser les nouvelles colonnes de données avec n'importe quelle plate-forme dans JMP, y compris celles du groupe multivarié. Cela inclut l'analyse des composantes principales, l'analyse des classes latentes et l'analyse sémantique latente sans JMP Pro.
Notez que les versions de TE sont optimisées pour les matrices creuses comme le DTM, mais vous devriez au moins essayer d'utiliser les plates-formes autonomes.