El componente Percentile calcula 101 valores cuantílicos (del percentil 0 al 100) para una o más columnas en una tabla de MaxCompute. Utilícelo para comprender la distribución de los datos antes del entrenamiento, detectar valores atípicos en las columnas de funciones o preparar los datos para pasos posteriores de normalización.
Limitaciones
Tipos de columna compatibles: únicamente BIGINT, DOUBLE y DATETIME.
Los valores nulos de una columna se omiten durante el cálculo.
Si todas las columnas contienen solo valores nulos, se devuelve un error.
Configurar el componente
Método 1: Configuración en el lienzo del pipeline
Abra el componente Percentile en Machine Learning Designer (anteriormente Machine Learning Studio) y establezca los siguientes parámetros.
Pestaña Parameters Setting
|
Parámetro |
Descripción |
|
Input Columns |
Haga clic en Select Column para elegir las columnas sobre las que se calcularán los percentiles. |
Pestaña Tuning
|
Parámetro |
Descripción |
|
Number of Cores |
Número de núcleos asignados al trabajo. |
|
Memory Size per Core |
Memoria asignada a cada núcleo. |
Método 2: Uso de comandos de PAI
Ejecute el siguiente comando mediante el componente SQL Script.
PAI -name Percentile
-project algo_public
-DinputTableName=maple_test_percentile_3col_input
-DcolName=col0,col1,col2 -DoutputTableName=maple_test_percentile_3col_output;
Parámetros obligatorios
|
Parámetro |
Descripción |
|
|
Nombre de la tabla de entrada. |
|
|
Nombre de la tabla de salida. |
Parámetros opcionales
|
Parámetro |
Descripción |
|
|
Nombres de las columnas por calcular. Valor predeterminado: todas las columnas. Separe varios nombres de columna con comas (,). |
|
|
Particiones de la tabla de entrada. Valor predeterminado: todas las particiones. Formato: |
|
|
Nombre de la tabla de predicción. Si se establece, el componente genera un resultado de predicción. |
|
|
Particiones de la tabla de predicción. |
|
|
Nombres de columnas por usar de la tabla de predicción. Valor predeterminado: todas las columnas. Los nombres de columna deben coincidir con los de la tabla de entrenamiento. |
|
|
Nombres de columnas cuyos datos se conservarán en la salida. Valor predeterminado: todas las columnas. Separe varios nombres con comas (,). |
|
|
Nombre de la tabla de salida de predicción. Se usa junto con |
|
|
Ciclo de vida de la tabla de salida. Valor predeterminado: sin ciclo de vida. Debe ser un entero positivo. |
|
|
Número de núcleos. Valores válidos: 1–9999. Debe ser un entero positivo. Se usa junto con |
|
|
Memoria por núcleo, en MB. Valores válidos: 1024–65536. Debe ser un entero positivo. |
Ejemplo
Tabla de entrada: maple_test_percentile_3col_input
|
col0:double (1000 filas) |
col1:bigint (100 filas) |
col2:bigint (300 filas) |
|
962 |
88 |
Tue Oct 15 00:26:40 CST 1974 |
|
218 |
99 |
Thu Jan 04 20:53:20 CST 1973 |
|
565 |
44 |
Sat Mar 09 02:40:00 CST 1974 |
|
314 |
68 |
Mon Aug 11 22:40:00 CST 1975 |
|
583 |
13 |
Sat Aug 23 12:26:40 CST 1975 |
|
615 |
87 |
Tue May 25 14:13:20 CST 1971 |
|
70 |
53 |
Fri Mar 23 09:20:00 CST 1979 |
|
929 |
63 |
Mon Jul 03 16:26:40 CST 1972 |
|
249 |
48 |
Thu Mar 15 07:33:20 CST 1973 |
|
428 |
62 |
Wed Mar 17 03:33:20 CST 1971 |
|
119 |
1 |
Thu Jun 26 15:33:20 CST 1975 |
|
756 |
27 |
Mon Jan 30 17:20:00 CST 1978 |
|
490 |
75 |
Wed Dec 11 21:20:00 CST 1974 |
|
957 |
12 |
Sun Jul 05 12:26:40 CST 1970 |
|
80 |
22 |
Wed Oct 04 06:40:00 CST 1972 |
|
681 |
57 |
Wed Nov 03 15:06:40 CST 1971 |
|
13 |
95 |
Sat Sep 12 23:06:40 CST 1970 |
Comando de PAI
PAI -name Percentile
-project algo_public
-DinputTableName=maple_test_percentile_3col_input
-DcolName=col0,col1,col2 -DoutputTableName=maple_test_percentile_3col_output;
Tabla de salida: maple_test_percentile_3col_output
La tabla de salida contiene una fila por cada rango de percentil (0–100). La columna quantile almacena el rango; cada columna de entrada contiene el valor de percentil correspondiente. Para obtener el percentil 95 de col0, localice la fila where quantile = 95.
|
quantile:bigint |
col0:double |
col1:bigint |
col2:datetime |
|
0 |
0.0 |
0 |
Thu Jan 01 08:00:00 CST 1970 |
|
1 |
9.0 |
0 |
Sat Jan 24 11:33:20 CST 1970 |
|
2 |
19.0 |
1 |
Sat Feb 28 04:53:20 CST 1970 |
|
3 |
29.0 |
2 |
Fri Apr 03 22:13:20 CST 1970 |
|
4 |
39.0 |
3 |
Fri May 08 15:33:20 CST 1970 |
|
5 |
49.0 |
4 |
Fri Jun 12 08:53:20 CST 1970 |
|
6 |
59.0 |
5 |
Fri Jul 17 02:13:20 CST 1970 |
|
7 |
69.0 |
6 |
Thu Aug 20 19:33:20 CST 1970 |
|
8 |
79.0 |
7 |
Thu Sep 24 12:53:20 CST 1970 |
|
9 |
89.0 |
8 |
Thu Oct 29 06:13:20 CST 1970 |
|
10 |
99.0 |
9 |
Wed Dec 02 23:33:20 CST 1970 |
|
11 |
109.0 |
10 |
Wed Jan 06 16:53:20 CST 1971 |
|
12 |
119.0 |
11 |
Wed Feb 10 10:13:20 CST 1971 |
|
13 |
129.0 |
12 |
Wed Mar 17 03:33:20 CST 1971 |
|
14 |
139.0 |
13 |
Tue Apr 20 20:53:20 CST 1971 |
|
15 |
149.0 |
14 |
Tue May 25 14:13:20 CST 1971 |
|
16 |
159.0 |
15 |
Tue Jun 29 07:33:20 CST 1971 |
|
... |
... |
... |
... |
|
84 |
839.0 |
83 |
Thu Dec 15 10:13:20 CST 1977 |
|
85 |
849.0 |
84 |
Thu Jan 19 03:33:20 CST 1978 |
|
86 |
859.0 |
85 |
Wed Feb 22 20:53:20 CST 1978 |
|
87 |
869.0 |
86 |
Wed Mar 29 14:13:20 CST 1978 |
|
88 |
879.0 |
87 |
Wed May 03 07:33:20 CST 1978 |
|
89 |
889.0 |
88 |
Wed Jun 07 00:53:20 CST 1978 |
|
90 |
899.0 |
89 |
Tue Jul 11 18:13:20 CST 1978 |
|
91 |
909.0 |
90 |
Tue Aug 15 11:33:20 CST 1978 |
|
92 |
919.0 |
91 |
Tue Sep 19 04:53:20 CST 1978 |
|
93 |
929.0 |
92 |
Mon Oct 23 22:13:20 CST 1978 |
|
94 |
939.0 |
93 |
Mon Nov 27 15:33:20 CST 1978 |
|
95 |
949.0 |
94 |
Mon Jan 01 08:53:20 CST 1979 |
|
96 |
959.0 |
95 |
Mon Feb 05 02:13:20 CST 1979 |
|
97 |
969.0 |
96 |
Sun Mar 11 19:33:20 CST 1979 |
|
98 |
979.0 |
97 |
Sun Apr 15 12:53:20 CST 1979 |
|
99 |
989.0 |
98 |
Sun May 20 06:13:20 CST 1979 |
|
100 |
999.0 |
99 |
Sat Jun 23 23:33:20 CST 1979 |