El componente Correlation Coefficient Matrix calcula los coeficientes de correlación por pares entre todas las columnas de características seleccionadas y los devuelve como una matriz cuadrada. Utilícelo durante la ingeniería de características para detectar dependencias lineales y multicolinealidad antes de crear un modelo.
En la mayoría de los casos, se usa el coeficiente de correlación de Pearson para medir relaciones lineales.
Configurar el componente
En Machine Learning Designer, agregue el componente Correlation Coefficient Matrix a su pipeline. Puede configurarlo mediante la interfaz de Designer o con un comando de PAI.
Método 1: Configuración desde la página del pipeline (recomendado)
Establezca los siguientes parámetros en el panel de configuración del componente.
| Pestaña | Parámetro | Descripción |
|---|---|---|
| Fields Setting | All Selected by Default | Columnas de características incluidas en el cálculo. De forma predeterminada, se seleccionan todas las columnas de características. |
| Tuning | Cores | Número de núcleos. Debe establecerse junto con Memory Size. |
| Memory Size | Memoria asignada por núcleo. Debe establecerse junto con Cores. |
Método 2: Uso de comandos de PAI
Envíe el componente como un comando de PAI mediante el componente SQL Script. Para más detalles, consulte Scenario 4: Execute PAI commands within the SQL script component.
PAI -name corrcoef
-project algo_public
-DinputTableName=maple_test_corrcoef_basic12x10_input
-DoutputTableName=maple_test_corrcoef_basic12x10_output
-DcoreNum=1
-DmemSizePerCore=110;
|
Parámetro |
Obligatorio |
Valor predeterminado |
Descripción |
|
|
Sí |
— |
Nombre de la tabla de entrada. |
|
|
No |
— |
Particiones que se leerán de la tabla de entrada. Formatos compatibles: |
|
|
Sí |
— |
Nombre de la tabla de salida. |
|
|
No |
Todas las columnas |
Columnas que se incluirán en el cálculo. |
|
|
No |
— |
Ciclo de vida de la tabla de salida. |
|
|
No |
Valor predeterminado del sistema |
Número de núcleos. Debe establecerse junto con |
|
|
No |
Valor predeterminado del sistema |
Memoria por núcleo, en MB. Debe establecerse junto con |
Ejemplo
Datos de entrada
Genere una tabla de prueba con 10 columnas y 12 filas:
|
**col0:double** |
**col1:bigint** |
**col2:double** |
**col3:bigint** |
**col4:double** |
**col5:bigint** |
**col6:double** |
**col7:bigint** |
**col8:double** |
**col9:double** |
|
19 |
95 |
33 |
52 |
115 |
43 |
32 |
98 |
76 |
40 |
|
114 |
26 |
101 |
69 |
56 |
59 |
116 |
23 |
109 |
105 |
|
103 |
89 |
7 |
9 |
65 |
118 |
73 |
50 |
55 |
81 |
|
79 |
20 |
63 |
71 |
5 |
24 |
77 |
31 |
21 |
75 |
|
87 |
16 |
66 |
47 |
25 |
14 |
42 |
99 |
108 |
57 |
|
11 |
104 |
38 |
37 |
106 |
51 |
3 |
91 |
80 |
97 |
|
84 |
30 |
70 |
46 |
8 |
6 |
94 |
22 |
45 |
48 |
|
35 |
17 |
107 |
64 |
10 |
112 |
53 |
34 |
90 |
96 |
|
13 |
61 |
39 |
1 |
29 |
117 |
112 |
2 |
82 |
28 |
|
62 |
4 |
102 |
88 |
100 |
36 |
67 |
54 |
12 |
85 |
|
49 |
27 |
44 |
93 |
68 |
110 |
60 |
72 |
86 |
58 |
|
92 |
119 |
0 |
113 |
41 |
15 |
74 |
83 |
18 |
111 |
Ejecutar el comando de PAI
PAI -name corrcoef
-project algo_public
-DinputTableName=maple_test_corrcoef_basic12x10_input
-DoutputTableName=maple_test_corrcoef_basic12x10_output
-DcoreNum=1
-DmemSizePerCore=110;
Salida
Cada valor en la matriz de salida es un coeficiente de correlación de Pearson en el intervalo [−1, 1]:
1 en la diagonal indica que cada columna tiene una correlación perfecta consigo misma.
Los valores cercanos a 1 o −1 indican una relación lineal positiva o negativa fuerte.
Los valores cercanos a 0 indican poca o ninguna relación lineal.
|
**columnsnames** |
**col0** |
**col1** |
**col2** |
**col3** |
**col4** |
**col5** |
**col6** |
**col7** |
**col8** |
**col9** |
|
col0 |
1 |
-0.2115657251820724 |
0.0598306259706561 |
0.2599903570684693 |
-0.3483249188225586 |
-0.28716254396809926 |
0.47880162127435116 |
-0.13646519484213326 |
-0.19500158764680092 |
0.3897390240949085 |
|
col1 |
-0.2115657251820724 |
1 |
-0.8444477377898585 |
-0.17507636221594533 |
0.40943384150571377 |
0.09135976026101403 |
-0.3018506374626574 |
0.40733726912808044 |
-0.11827739124590071 |
0.12433851389455183 |
|
col2 |
0.0598306259706561 |
-0.8444477377898585 |
1 |
0.18518346647293102 |
-0.20934839228057014 |
-0.1896417512389659 |
0.1799377498863213 |
-0.3858885676469948 |
0.20254569203773892 |
0.13476160753756655 |
|
col3 |
0.2599903570684693 |
-0.17507636221594533 |
0.18518346647293102 |
1 |
0.03988018649854009 |
-0.43737887418329147 |
-0.053818296425267184 |
0.2900856441586986 |
-0.3607547910075688 |
0.4912019074930449 |
|
col4 |
-0.3483249188225586 |
0.40943384150571377 |
-0.20934839228057014 |
0.03988018649854009 |
1 |
0.1465605209246875 |
-0.5016030364347955 |
0.5496024325711117 |
0.013743256115394122 |
0.07497231559184887 |
|
col5 |
-0.28716254396809926 |
0.09135976026101403 |
-0.1896417512389659 |
-0.43737887418329147 |
0.1465605209246875 |
1 |
0.16729809310873522 |
-0.29890655828796964 |
0.3618518101014617 |
-0.1713960957286885 |
|
col6 |
0.47880162127435116 |
-0.3018506374626574 |
0.1799377498863213 |
-0.053818296425267184 |
-0.5016030364347955 |
0.16729809310873522 |
1 |
-0.8165019880156462 |
-0.11173420918721436 |
-0.10363860378347944 |
|
col7 |
-0.13646519484213326 |
0.40733726912808044 |
-0.3858885676469948 |
0.2900856441586986 |
0.5496024325711117 |
-0.29890655828796964 |
-0.8165019880156462 |
1 |
0.07435907471544469 |
0.11711976051999162 |
|
col8 |
-0.19500158764680092 |
-0.11827739124590071 |
0.20254569203773892 |
-0.3607547910075688 |
0.013743256115394122 |
0.3618518101014617 |
-0.11173420918721436 |
0.07435907471544469 |
1 |
-0.18463012549540175 |
|
col9 |
0.3897390240949085 |
0.12433851389455183 |
0.13476160753756655 |
0.4912019074930449 |
0.07497231559184887 |
-0.1713960957286885 |
-0.10363860378347944 |
0.11711976051999162 |
-0.18463012549540175 |
1 |
En este ejemplo, col1 y col2 presentan una correlación negativa fuerte (−0,844), mientras que col6 y col7 también muestran una correlación negativa fuerte (−0,817), lo cual sugiere una posible multicolinealidad entre dichos pares.
Consulte también
SQL Script component — Ejecute comandos de PAI dentro de un pipeline mediante SQL Script.