Le composant Correlation Coefficient Matrix calcule les coefficients de corrélation par paire pour toutes les colonnes de fonctionnalités sélectionnées et renvoie le résultat sous forme d'une matrice carrée. Utilisez-le lors de l'ingénierie des fonctionnalités pour détecter les dépendances linéaires et la multicolinéarité avant de construire un modèle.
Dans la plupart des cas, le coefficient de corrélation de Pearson est utilisé pour mesurer les relations linéaires.
Configurez le composant
Dans Machine Learning Designer, ajoutez le composant Correlation Coefficient Matrix à votre pipeline. Vous pouvez le configurer via l'interface utilisateur du Designer ou à l'aide d'une commande PAI.
Méthode 1 : Configuration sur la page du pipeline (recommandée)
Définissez les paramètres suivants dans le panneau de configuration du composant.
| Onglet | Paramètre | Description |
|---|---|---|
| Fields Setting | Tous sélectionnés par défaut | Colonnes de fonctionnalités incluses dans le calcul. Par défaut, toutes les colonnes de fonctionnalités sont sélectionnées. |
| Tuning | Cores | Nombre de cœurs. Doit être défini conjointement avec Memory Size. |
| Memory Size | Mémoire allouée par cœur. Doit être définie conjointement avec Cores. |
Méthode 2 : Utilisation des commandes PAI
Soumettez le composant en tant que commande PAI à l'aide du composant SQL Script. Pour plus de détails, consultez la rubrique Scénario 4 : Exécuter des commandes PAI dans le composant de script SQL.
PAI -name corrcoef
-project algo_public
-DinputTableName=maple_test_corrcoef_basic12x10_input
-DoutputTableName=maple_test_corrcoef_basic12x10_output
-DcoreNum=1
-DmemSizePerCore=110;
| Paramètre | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
inputTableName |
Oui | — | Nom de la table d'entrée. |
inputTablePartitions |
Non | — | Partitions à lire depuis la table d'entrée. Formats pris en charge : partition_name=value ; name1=value1/name2=value2 pour les partitions multiniveaux. Séparez plusieurs partitions par des virgules, par exemple name1=value1,value2. |
outputTableName |
Oui | — | Nom de la table de sortie. |
selectedColNames |
Non | Toutes les colonnes | Colonnes à inclure dans le calcul. |
lifecycle |
Non | — | Cycle de vie de la table de sortie. |
coreNum |
Non | Valeur par défaut du système | Nombre de cœurs. Doit être défini conjointement avec memSizePerCore. Valeurs valides : 1–9999. |
memSizePerCore |
Non | Valeur par défaut du système | Mémoire par cœur, en Mo. Doit être définie conjointement avec coreNum. Valeurs valides : 1024–65536. |
Exemple
Données d'entrée
Générez une table de test comportant 10 colonnes et 12 lignes :
| **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 |
Exécutez la commande PAI
PAI -name corrcoef
-project algo_public
-DinputTableName=maple_test_corrcoef_basic12x10_input
-DoutputTableName=maple_test_corrcoef_basic12x10_output
-DcoreNum=1
-DmemSizePerCore=110;
Sortie
Chaque valeur de la matrice de sortie est un coefficient de corrélation de Pearson compris dans l'intervalle [−1, 1] :
La valeur 1 sur la diagonale indique que chaque colonne est parfaitement corrélée avec elle-même.
Les valeurs proches de 1 ou de −1 indiquent une forte relation linéaire positive ou négative.
Les valeurs proches de 0 indiquent une relation linéaire faible, voire inexistante.
| **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 |
Dans cet exemple, col1 et col2 présentent une forte corrélation négative (−0,844), tout comme col6 et col7 (−0,817), ce qui suggère une multicolinéarité potentielle entre ces paires.
Voir aussi
Composant de script SQL — Exécutez des commandes PAI au sein d'un pipeline à l'aide du composant SQL Script.