Noms par défaut ici(1); dt = Open("$SAMPLE_DATA/Big Class.jmp"); // ajoute une valeur aberrante pour M dt << Add Rows({name = "OUTLIER", age = 1, sex = "M", height = 500, weight = 500}); // ajoute des limites dt << New Column("LSL", Numeric, Continuous, << Set Each Value(50)); dt << New Column("USL", Numeric, Continuous, << Set Each Value(60)); dt << New Column("ColMean_height", Numeric, Continuous, Formula( Col Mean(:height, :sex, Excluded()) )); dt << New Column("ColMedian_height", Numeric, Continuous, Formula( Col Median(:height, :sex, Excluded()) )); dt << New Column("ColStdDev_height", Numeric, Continuous, Formula( Col Std Dev(:height, :sex, Excluded()) )); dt << New Column("ColIQR_height", Numérique, Continu, Formule( Col Quantile(:height, 0.75, :sex, Excluded()) - Col Quantile(:height, 0.25, :sex, Excluded()) )); dt << New Column("ColStandardize_height", Numeric, Continuous, Formula( Col Standardize(:height, :sex, Excluded()) )); // Exemple
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.RobustScaler.html // en utilisant IQR ici, mais cela pourrait être une bonne idée de pouvoir changer les quantiles (par défaut à IQR) dt << Nouvelle colonne("ColStandardizeRobust_height", Numérique, Continu, Formule( (:height - Col Median(:height, :sex, Excluded())) / :ColIQR_height )); //
https://en.wikipedia.org/wiki/Feature_scaling#Rescaling_(min-max_normalization) dt << New Column("ColNormalize_01", Numérique, Continu, Formule( 0 + (:height - Col Min(:height, :sexe, Exclu())) / (Col Max(:taille, :sexe, Exclu()) - Col Min(:hauteur, :sexe, Exclu())) )); dt << Nouvelle colonne("ColNormalize_11", Numérique, Continu, Formule( -1+(:taille - Col Moyenne(:taille, :sexe, Exclus()))*(1-(-1)) / (Col Max (:hauteur, :sexe, Exclus()) - Col Min(:hauteur, :sexe, Exclus())) )); dt << Nouvelle colonne("ColNormalize_limits", Numérique, Continu, Formule( ColMin(:LSL, :sex)+(:height - Col Mean(:height, :sex, Excluded()))*(ColMax(:USL, :sexe)-(ColMin(:LSL, :sexe))) / (Col Max(:taille, :sexe, Exclu()) - Col Min(:hauteur, :sexe, Exclu())) )); // peut-être même Robust Sigma, diviseur par défaut à 1,35 //
http://www.aecouncil.com/Documents/AEC_Q001_Rev_D.pdf // et limites robustes, multiplicateur sigma par défaut à 6