Closed lnalborczyk closed 6 years ago
J'ai un peu de mal à voir pourquoi fitter un objet crypté serait problématique ?
Et bien ça change la nature de la variable (si c'était une variable continue à l'origine, par exemple) ou les relations d'ordre entre les niveaux du facteur d'origine (si c'était un facteur à l'origine).
En continuant sur l'exemple précédent, on voit que cyl
, originellement continu, est maintenant traité comme un facteur par lm
...
lm(mpg ~ cyl, mtcars_encrypted)
Call:
lm(formula = mpg ~ cyl, data = mtcars_encrypted)
Coefficients:
(Intercept) cyla2c8a16059d76dc5ad185daa3b03fff0b239525e
26.664 -6.921
cylea2714e8917d306f224b6afc96cade3a91c60cd2
-11.564
Voir #16, #17, je pense que ça pourrait résoudre le problème et que ça laisse de la place à l'amélioration par la suite
Il s'agit surement du plus gros problème à résoudre. Comment permettre à l'utilisateur de travailler sur un dataset encrypté (i.e., codage des variables, exploration des relations, traitement des outliers, etc.), tout en conservant le "sens" du jeu de données original, i.e., les valeurs initiales, mais en les gardant invisibles pour l'utilisateur ?
Propositions de solutions :
1) Ecrire des "méthodes" pour nos objets encryptés. Par exemple
plot.encrypted
oulm.encrypted
afin que le décryptage se fasse automatiquement quand l'utilisateur appelle ces fonctions. A définir ici pour quelles fonctions ce comportement est souhaitable (ou pas).Problème pour
lm
par exemple: il faudrait définir des méthodes pour le dataset "relié" aux termes de laformula
entrée en argument delm
... pas possible non ?2) Est-ce qu'il est possible d'assigner "deux" valeurs à un même objet ? Par exemple la variable encryptée, visible par l'utilisateur, et la "vraie" variable, invisible pour l'utilisateur mais qui est utilisé lors d'appels de fonctions extérieures (e.g.,
lm
) ?Pour le moment j'assigne l'ancien de jeu de donnée en attribut de la nouvelle df encryptée, et une solution temporaire consisterait à écrire de nouvelles fonctions, mais ce n'est pas satisfaisant...
Exemple: