Nomi predefiniti qui(1); dt = Open("$SAMPLE_DATA/Big Class.jmp"); // aggiungi valore anomalo per M dt << Aggiungi righe ({nome = "OUTLIER", età = 1, sesso = "M", altezza = 500, peso = 500}); // aggiunge limiti dt << Nuova colonna("LSL", Numerico, Continuo, << Imposta ciascun valore(50)); dt << Nuova colonna("USL", Numerico, Continuo, << Imposta ciascun valore(60)); dt << Nuova colonna("ColMean_height", Numerico, Continuo, Formula(Col Mean(:height, :sex, Excluded()) )); dt << Nuova colonna("ColMedian_height", Numerico, Continuo, Formula( Col Median(:altezza, :sex, Excluded()) )); dt << Nuova colonna("ColStdDev_height", Numerico, Continuo, Formula( Col Std Dev(:height, :sex, Excluded()) )); dt << Nuova colonna("ColIQR_height", Numerico, Continuo, Formula( Col Quantile(:altezza, 0.75, :sex, Excluded()) - Col Quantile(:height, 0.25, :sex, Excluded()) )); dt << Nuova colonna("ColStandardize_height", Numerico, Continuo, Formula( Col Standardize(:altezza, :sex, Excluded()) )); // Esempio
https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.RobustScaler.html // utilizzando IQR qui, ma potrebbe essere una buona idea poter modificare i quantili (predefinito su IQR) dt << Nuova colonna("ColStandardizeRobust_height", Numerico, Continuo, Formula( (:height - Col Median(:height, :sex, Excluded())) / :ColIQR_height )); //
https://en.wikipedia.org/wiki/Feature_scaling#Rescaling_(min-max_normalization) dt << Nuova colonna("ColNormalize_01", Numerico, Continuo, Formula( 0 + (:altezza - Col Min(:altezza, :sex, Excluded())) / (Col Max(:height, :sex, Excluded()) - Col Min(:height, :sex, Excluded())) )); dt << Nuova colonna("ColNormalize_11", Numerico, Continuo, Formula( -1+(:altezza - Col Media(:altezza, :sesso, Escluso()))*(1-(-1)) / (Col Max (:altezza, :sesso, Escluso()) - Col Min(:altezza, :sesso, Escluso())) )); dt << Nuova colonna("ColNormalize_limits", Numerico, Continuo, Formula( ColMin(:LSL, :sex)+(:altezza - Col Media(:altezza, :sex, Excluded()))*(ColMax(:USL, :sex)-(ColMin(:LSL, :sex))) / (Col Max(:height, :sex, Excluded()) - Col Min(:height, :sex, Excluded())) )); // forse anche Robust Sigma, il divisore sarà impostato per default su 1,35 //
http://www.aecouncil.com/Documents/AEC_Q001_Rev_D.pdf // e limiti robusti, il moltiplicatore sigma sarà impostato per default su 6