Programmer du R en langage naturel

Grâce à des IA telles GPT-3 (alias GPT3de OpenAI ),  ChatGPT, Claude, LamDa ...

L'essentiel de cette page

Pouvoir programmer du R sans avoir à fouiller dans de la doc ou dans le web. N'est-ce pas un rêve. C'est maintenant possible avec les IA NLP (Natural Language Processing) dont le CodeX de GPT-3 fait partie. Priorité maintenant à l'invite et à l'assemblage !

Etape 1 - Je me connecte à GPT-3 de OpenIA (sinon un autre NLG)

Le lien présent permet de se connecter à GPT-3 de OpenAI . Je n'ai plus qu'à cliquer sur "LOG IN" (en haut à droite), puis à basculer dans la fenêtre "Playground" (l'onglet en haut).

Ensuite, je choisis l'option "Text to command" (par défaut, c'est noté Grammatical Standard English)

Dans cette capture d'écran, on voit la fenêtre de base de "Text to command".

Astuce : mieux vaut laisser la Temperature (à droite) à 0 quand on fait du code si on veut par que l'IA face du délire créatif.

Le bouton Submit sera presque notre seul bouton. Facile !

Etape 2 - Je code ! en R ! Sans rien savoir ! (ou presque)

Peu importe que j'écrive en français ou en anglais, mais attention, en général, cela marchera mieux en anglais. Prenons un exemple :

1) Je colle le texte suivant dans la fenêtre principale : on voit ici la consigne principale (faire du code R) et un exemple qui va guider GPT-3 pour qu'il s'adapte à mon raisonnement. Je peux d'ailleurs ajouter d'autres exemples.

Enfin, tout en bas, je lui demande de charger les données et de faire un test de corrélation entre x et y. Quant au graphique le plus adapté, s'il a du bon sens, il fera un plot(), un graphique de type y = f(x).

Convertit ce texte en langage R : 

Exemple: Charge iris. Variable quantitative : Sepal.Length, Variable qualitative : Species. Fait un test de comparaison des moyennes de la variable quantitative en fonction de la qualitative. Réalise le graphique le plus adapté.

Output: 

# Faire un test de comparaison de moyenne

anova(lm(iris$Sepal.Length~iris$Species)) 

# Réalise le graphique le plus adapté

barplot(by(iris$Sepal.Length,iris$Species,mean)) 


Charge iris. Variable x : Sepal.Length, Variable y : Sepal.Width. Fait un test de corrélation pour établir un lien entre x et y. Réalise le graphique le plus adapté. 

2) Je fais Submit. (le bouton vert)

3) Résultat de sortie

# Fait un test de corrélation

cor.test(iris$Sepal.Length, iris$Sepal.Width)

# Réalise le graphique le plus adapté

plot(iris$Sepal.Length, iris$Sepal.Width)

Bim ! Tout bon ! J'ai plus qu'à effacer ce résultat de sortie, ajuster ma commande en donnant plus de détails ci-dessous et hop ! On notera que les commentaires s'ajoutent automatiquement si j'en mets dans l'exemple. J'aurais ce que je souhaite ! cf. ci-dessous :

Consignes détaillée :

Convertit ce texte en langage R : 

Charge iris.

Variable x : Sepal.Length, Variable y : Sepal.Width.

Fait un test de corrélation pour établir un lien entre x et y. Affiche uniquement la p-value. Réalise le graphique le plus adapté avec des points bleu pleins. Superpose une droite de régression linéaire rouge, épaisseur 3. Etabli un modèle de régression entre y et x. Prédit moi la valeur y pour un x valant 5,9.. 

Output :

# Fait un test de corrélation

cor.test(iris$Sepal.Length, iris$Sepal.Width)

# Affiche uniquement la p-value

cor.test(iris$Sepal.Length, iris$Sepal.Width)$p.value

# Réalise le graphique le plus adapté avec des points bleu pleins

plot(iris$Sepal.Length, iris$Sepal.Width, pch=20, col="blue")

# Superpose une droite de régression linéaire rouge, épaisseur 3

abline(lm(iris$Sepal.Width~iris$Sepal.Length), col="red", lwd=3)

# Etabli un modèle de régression entre y et x

lm(iris$Sepal.Width~iris$Sepal.Length)

# Prédit moi la valeur y pour un x valant 5,9

predict(lm(iris$Sepal.Width~iris$Sepal.Length), newdata=data.frame(Sepal.Length=5.9))

# ATTENTION DE JOUER SUR LE PARAMETRE Maximum_length de GPT-3 si vous voulez afficher un long code non tronqué.

Paf ! Sans faute ! Je suis presque dégouté ;-). Plus besoin de savoir coder. Il faut savoir penser et relire le code avec un oeil critique. Le mode Edit de GPT-3 permet aussi d'améliorer son code, de créer des boucles des fonctions. Je vous invite à consulter l'aide. Bien à vous !

En gros, je viens de me tier une balle dans le pied : mon site internet ne sert plus à rien. Bravo !