{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Análise Multivariada e Aprendizado Não-Supervisionado\n", "\n", "por Cibele Russo.\n", "\n", "ICMC USP São Carlos.\n", "\n", "## Aula 7b: Análise de Componentes Principais " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exemplo: Decatlo\n", "\n", "\n", "\n", "Uma base de dados com 41 linhas e 13 colunas: as dez primeiras colunas correspondem ao desempenho dos atletas para as 10 provas do decatlo. As colunas 11 e 12 correspondem respectivamente à classificação e aos pontos obtidos. A última coluna é uma variável categórica correspondente ao evento esportivo (Jogos Olímpicos de 2004 ou Decastar de 2004)\n", "\n", "As variáveis são\n", "\n", "- 100m (100 metros rasos), \n", "- long.jump (salto em distância), \n", "- shot.put (arremesso de peso), \n", "- High.jump (salto em altura), \n", "- 400m (400 metros rasos), \n", "- 110m.hurdle (110 metros com barreiras), \n", "- Discus (lançamento de disco), \n", "- Pole.vault (salto com vara), \n", "- Javeline (lançamento de dardo), \n", "- 1500m (1500 metros). \n", "\n", "Fonte: https://malouche.github.io/data_in_class/decathlon_data.html\n", "\n", "Em R, os dados estão disponíveis em:\n", "\n", "\n", "library(FactoMineR)\n", "\n", "data(decathlon)\n", "\n", "\n", "1. Analise a matriz de correlações dos dados.\n", "2. Decomponha a matriz de variâncias e covariâncias em componentes principais.\n", "3. Quantas componentes explicam ao menos 90% da variabilidade dos dados?\n", "4. Proponha uma ordenação dos atletas segundo a primeira componente principal." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "Fonte: https://sites.google.com/site/educopediaedfisica/atletismo/decatlo-e-pentatlo" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
100mLong.jumpShot.putHigh.jump400m110m.hurdleDiscusPole.vaultJaveline1500mRankPointsCompetition
SEBRLE11.047.5814.832.0749.8114.6943.755.0263.19291.7018217Decastar
CLAY10.767.4014.261.8649.3714.0550.724.9260.15301.5028122Decastar
KARPOV11.027.3014.772.0448.3714.0948.954.9250.31300.2038099Decastar
BERNARD11.027.2314.251.9248.9314.9940.875.3262.77280.1048067Decastar
YURKOV11.347.0915.192.1050.4215.3146.264.7263.44276.4058036Decastar
WARNERS11.117.6014.311.9848.6814.2341.104.9251.77278.1068030Decastar
ZSIVOCZKY11.137.3013.482.0148.6214.1745.674.4255.37268.0078004Decastar
McMULLEN10.837.3113.762.1349.9114.3844.414.4256.37285.1087995Decastar
MARTINEAU11.646.8114.571.9550.1414.9347.604.9252.33262.1097802Decastar
HERNU11.377.5614.411.8651.1015.0644.994.8257.19285.10107733Decastar
BARRAS11.336.9714.091.9549.4814.4842.104.7255.40282.00117708Decastar
NOOL11.337.2712.681.9849.2015.2937.924.6257.44266.60127651Decastar
BOURGUIGNON11.366.8013.461.8651.1615.6740.495.0254.68291.70137313Decastar
Sebrle10.857.8416.362.1248.3614.0548.725.0070.52280.0118893OlympicG
Clay10.447.9615.232.0649.1914.1350.114.9069.71282.0028820OlympicG
Karpov10.507.8115.932.0946.8113.9751.654.6055.54278.1138725OlympicG
Macey10.897.4715.732.1548.9714.5648.344.4058.46265.4248414OlympicG
Warners10.627.7414.481.9747.9714.0143.734.9055.39278.0558343OlympicG
Zsivoczky10.917.1415.312.1249.4014.9545.624.7063.45269.5468287OlympicG
Hernu10.977.1914.652.0348.7314.2544.724.8057.76264.3578237OlympicG
Nool10.807.5314.261.8848.8114.8042.055.4061.33276.3388235OlympicG
Bernard10.697.4814.802.1249.1314.1744.754.4055.27276.3198225OlympicG
Schwarzl10.987.4914.011.9449.7614.2542.435.1056.32273.56108102OlympicG
Pogorelov10.957.3115.102.0650.7914.2144.605.0053.45287.63118084OlympicG
Schoenbeck10.907.3014.771.8850.3014.3444.415.0060.89278.82128077OlympicG
Barras11.146.9914.911.9449.4114.3744.834.6064.55267.09138067OlympicG
Smith10.856.8115.241.9149.2714.0149.024.2061.52272.74148023OlympicG
Averyanov10.557.3414.441.9449.7214.3939.884.8054.51271.02158021OlympicG
Ojaniemi10.687.5014.971.9449.1215.0140.354.6059.26275.71168006OlympicG
Smirnov10.897.0713.881.9449.1114.7742.474.7060.88263.31177993OlympicG
\n", "
" ], "text/plain": [ " 100m Long.jump Shot.put High.jump 400m 110m.hurdle \\\n", "SEBRLE 11.04 7.58 14.83 2.07 49.81 14.69 \n", "CLAY 10.76 7.40 14.26 1.86 49.37 14.05 \n", "KARPOV 11.02 7.30 14.77 2.04 48.37 14.09 \n", "BERNARD 11.02 7.23 14.25 1.92 48.93 14.99 \n", "YURKOV 11.34 7.09 15.19 2.10 50.42 15.31 \n", "WARNERS 11.11 7.60 14.31 1.98 48.68 14.23 \n", "ZSIVOCZKY 11.13 7.30 13.48 2.01 48.62 14.17 \n", "McMULLEN 10.83 7.31 13.76 2.13 49.91 14.38 \n", "MARTINEAU 11.64 6.81 14.57 1.95 50.14 14.93 \n", "HERNU 11.37 7.56 14.41 1.86 51.10 15.06 \n", "BARRAS 11.33 6.97 14.09 1.95 49.48 14.48 \n", "NOOL 11.33 7.27 12.68 1.98 49.20 15.29 \n", "BOURGUIGNON 11.36 6.80 13.46 1.86 51.16 15.67 \n", "Sebrle 10.85 7.84 16.36 2.12 48.36 14.05 \n", "Clay 10.44 7.96 15.23 2.06 49.19 14.13 \n", "Karpov 10.50 7.81 15.93 2.09 46.81 13.97 \n", "Macey 10.89 7.47 15.73 2.15 48.97 14.56 \n", "Warners 10.62 7.74 14.48 1.97 47.97 14.01 \n", "Zsivoczky 10.91 7.14 15.31 2.12 49.40 14.95 \n", "Hernu 10.97 7.19 14.65 2.03 48.73 14.25 \n", "Nool 10.80 7.53 14.26 1.88 48.81 14.80 \n", "Bernard 10.69 7.48 14.80 2.12 49.13 14.17 \n", "Schwarzl 10.98 7.49 14.01 1.94 49.76 14.25 \n", "Pogorelov 10.95 7.31 15.10 2.06 50.79 14.21 \n", "Schoenbeck 10.90 7.30 14.77 1.88 50.30 14.34 \n", "Barras 11.14 6.99 14.91 1.94 49.41 14.37 \n", "Smith 10.85 6.81 15.24 1.91 49.27 14.01 \n", "Averyanov 10.55 7.34 14.44 1.94 49.72 14.39 \n", "Ojaniemi 10.68 7.50 14.97 1.94 49.12 15.01 \n", "Smirnov 10.89 7.07 13.88 1.94 49.11 14.77 \n", "\n", " Discus Pole.vault Javeline 1500m Rank Points Competition \n", "SEBRLE 43.75 5.02 63.19 291.70 1 8217 Decastar \n", "CLAY 50.72 4.92 60.15 301.50 2 8122 Decastar \n", "KARPOV 48.95 4.92 50.31 300.20 3 8099 Decastar \n", "BERNARD 40.87 5.32 62.77 280.10 4 8067 Decastar \n", "YURKOV 46.26 4.72 63.44 276.40 5 8036 Decastar \n", "WARNERS 41.10 4.92 51.77 278.10 6 8030 Decastar \n", "ZSIVOCZKY 45.67 4.42 55.37 268.00 7 8004 Decastar \n", "McMULLEN 44.41 4.42 56.37 285.10 8 7995 Decastar \n", "MARTINEAU 47.60 4.92 52.33 262.10 9 7802 Decastar \n", "HERNU 44.99 4.82 57.19 285.10 10 7733 Decastar \n", "BARRAS 42.10 4.72 55.40 282.00 11 7708 Decastar \n", "NOOL 37.92 4.62 57.44 266.60 12 7651 Decastar \n", "BOURGUIGNON 40.49 5.02 54.68 291.70 13 7313 Decastar \n", "Sebrle 48.72 5.00 70.52 280.01 1 8893 OlympicG \n", "Clay 50.11 4.90 69.71 282.00 2 8820 OlympicG \n", "Karpov 51.65 4.60 55.54 278.11 3 8725 OlympicG \n", "Macey 48.34 4.40 58.46 265.42 4 8414 OlympicG \n", "Warners 43.73 4.90 55.39 278.05 5 8343 OlympicG \n", "Zsivoczky 45.62 4.70 63.45 269.54 6 8287 OlympicG \n", "Hernu 44.72 4.80 57.76 264.35 7 8237 OlympicG \n", "Nool 42.05 5.40 61.33 276.33 8 8235 OlympicG \n", "Bernard 44.75 4.40 55.27 276.31 9 8225 OlympicG \n", "Schwarzl 42.43 5.10 56.32 273.56 10 8102 OlympicG \n", "Pogorelov 44.60 5.00 53.45 287.63 11 8084 OlympicG \n", "Schoenbeck 44.41 5.00 60.89 278.82 12 8077 OlympicG \n", "Barras 44.83 4.60 64.55 267.09 13 8067 OlympicG \n", "Smith 49.02 4.20 61.52 272.74 14 8023 OlympicG \n", "Averyanov 39.88 4.80 54.51 271.02 15 8021 OlympicG \n", "Ojaniemi 40.35 4.60 59.26 275.71 16 8006 OlympicG \n", "Smirnov 42.47 4.70 60.88 263.31 17 7993 OlympicG " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "df = pd.read_csv(\"/home/cibele/CibelePython/AMANS/Aula 7/decathlon.csv\", index_col=0)\n", "df.head(30)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
100mLong.jumpShot.putHigh.jump400m110m.hurdleDiscusPole.vaultJaveline
100m1.000000-0.598678-0.356482-0.2462530.5202980.579889-0.221708-0.082537-0.157746
Long.jump-0.5986781.0000000.1833040.294644-0.602063-0.5054100.1943100.2040140.119759
Shot.put-0.3564820.1833041.0000000.489212-0.138433-0.2516160.6157680.0611820.374956
High.jump-0.2462530.2946440.4892121.000000-0.187957-0.2832890.369218-0.1561810.171880
400m0.520298-0.602063-0.138433-0.1879571.0000000.547988-0.117879-0.0792920.004232
110m.hurdle0.579889-0.505410-0.251616-0.2832890.5479881.000000-0.326201-0.0027040.008743
Discus-0.2217080.1943100.6157680.369218-0.117879-0.3262011.000000-0.1500720.157890
Pole.vault-0.0825370.2040140.061182-0.156181-0.079292-0.002704-0.1500721.000000-0.030001
Javeline-0.1577460.1197590.3749560.1718800.0042320.0087430.157890-0.0300011.000000
\n", "
" ], "text/plain": [ " 100m Long.jump Shot.put High.jump 400m 110m.hurdle \\\n", "100m 1.000000 -0.598678 -0.356482 -0.246253 0.520298 0.579889 \n", "Long.jump -0.598678 1.000000 0.183304 0.294644 -0.602063 -0.505410 \n", "Shot.put -0.356482 0.183304 1.000000 0.489212 -0.138433 -0.251616 \n", "High.jump -0.246253 0.294644 0.489212 1.000000 -0.187957 -0.283289 \n", "400m 0.520298 -0.602063 -0.138433 -0.187957 1.000000 0.547988 \n", "110m.hurdle 0.579889 -0.505410 -0.251616 -0.283289 0.547988 1.000000 \n", "Discus -0.221708 0.194310 0.615768 0.369218 -0.117879 -0.326201 \n", "Pole.vault -0.082537 0.204014 0.061182 -0.156181 -0.079292 -0.002704 \n", "Javeline -0.157746 0.119759 0.374956 0.171880 0.004232 0.008743 \n", "\n", " Discus Pole.vault Javeline \n", "100m -0.221708 -0.082537 -0.157746 \n", "Long.jump 0.194310 0.204014 0.119759 \n", "Shot.put 0.615768 0.061182 0.374956 \n", "High.jump 0.369218 -0.156181 0.171880 \n", "400m -0.117879 -0.079292 0.004232 \n", "110m.hurdle -0.326201 -0.002704 0.008743 \n", "Discus 1.000000 -0.150072 0.157890 \n", "Pole.vault -0.150072 1.000000 -0.030001 \n", "Javeline 0.157890 -0.030001 1.000000 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 1. Analise a matriz de correlações dos dados.\n", "\n", "# Cálculo da matriz de correlações\n", "corr = df.iloc[:,0:9].corr()\n", "corr" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Mapa de calor das correlações\n", "\n", "sns.heatmap(corr, \n", " xticklabels=corr.columns,\n", " yticklabels=corr.columns, cmap=\"YlGnBu\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Análise de Componentes Principais\n", "# 2. Decomponha a matriz de variâncias e covariâncias em componentes principais.\n", "\n", "\n", "X = np.matrix(df.iloc[:,0:10])\n", "S = np.cov(np.transpose(X))\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([6.91810976e-02, 1.00110000e-01, 6.79681220e-01, 7.91219512e-03,\n", " 1.33044878e+00, 2.22584878e-01, 1.14098352e+01, 7.72839024e-02,\n", " 2.32981930e+01, 1.36264701e+02])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# variâncias\n", "\n", "np.diagonal(S)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from sklearn.decomposition import PCA\n", "\n", "pca = PCA(n_components=5)\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PCA(n_components=5)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pca" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PCA(n_components=5)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pca.fit(X)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-1.28080400e-03, -9.50593693e-04, 8.04474909e-03, -3.21942507e-04,\n", " 3.95670085e-02, 1.26099822e-03, 7.79032346e-02, 5.70956842e-03,\n", " -8.59485398e-02, 9.92409609e-01])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Pesos das componentes principais\n", "\n", "pca.components_[0,:]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.8 , 0.14, 0.06, 0.01, 0. ])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 3. Quantas componentes explicam ao menos 90% da variabilidade dos dados?\n", "\n", "# Variância das componentes principais\n", "\n", "pca.explained_variance_ratio_\n", "\n", "np.round(pca.explained_variance_ratio_,2)\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.7965959 , 0.93212546, 0.98972346, 0.99632525, 0.99838027])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pca.explained_variance_ratio_.cumsum()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=(8,5))\n", "\n", "plt.plot(pca.explained_variance_ratio_, 'ro-', linewidth=2)\n", "plt.title('Scree Plot')\n", "plt.xlabel('Principal Component')\n", "plt.ylabel('Eigenvalue')\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1.21268985e+01, 5.31924548e+00, -3.01158938e+00,\n", " -7.44026954e-01, -8.96719233e-02],\n", " [ 2.26340062e+01, 4.81860306e+00, 3.47084930e+00,\n", " -7.29689068e-01, 1.31226354e+00],\n", " [ 2.20160089e+01, -5.12656310e+00, 4.72748179e+00,\n", " -1.50142432e+00, 1.81608063e-01],\n", " [ 3.89697006e-01, 3.37695640e+00, -4.53039879e+00,\n", " -1.18018344e+00, 6.71183270e-02],\n", " [-2.85674567e+00, 5.32450428e+00, 6.44553700e-01,\n", " 1.16432891e+00, -2.91117455e-01],\n", " [-6.44908091e-01, -7.20789283e+00, -1.09038567e+00,\n", " -1.18096569e+00, -4.75718818e-01],\n", " [-1.06333738e+01, -3.22716136e+00, 3.10727244e+00,\n", " -9.47888499e-02, 1.05764718e+00],\n", " [ 6.20661877e+00, -1.52583169e+00, -6.33039005e-02,\n", " 4.18919760e-02, 6.36405724e-01],\n", " [-1.60043980e+01, -5.88829246e+00, 6.17694601e+00,\n", " 2.15182512e+00, -1.90274532e-01],\n", " [ 6.23593762e+00, -5.26675947e-01, 1.54033000e-01,\n", " 1.30010427e+00, -9.51793560e-03],\n", " [ 3.02078327e+00, -3.24747975e+00, -1.62839410e+00,\n", " -3.55974781e-01, -2.93806246e-03],\n", " [-1.27855615e+01, -3.47326867e+00, -4.85246828e+00,\n", " -1.92353432e-01, 8.77647525e-01],\n", " [ 1.26483852e+01, -3.82298552e+00, -4.20607978e+00,\n", " 8.94475746e-01, 2.09721475e-01],\n", " [ 2.36801660e-01, 1.30809090e+01, 1.19871165e+00,\n", " -1.45422070e+00, -4.82425780e-01],\n", " [ 2.41331094e+00, 1.27145008e+01, 2.31142462e+00,\n", " -5.41603115e-01, 6.58355443e-01],\n", " [-1.99697347e-01, -6.44891813e-01, 8.28520240e+00,\n", " -1.95662213e+00, -3.07338819e-01],\n", " [-1.32189425e+01, 4.88026795e-01, 5.25698900e+00,\n", " 4.28197903e-01, -7.15948323e-01],\n", " [-8.27395628e-01, -3.02556964e+00, 5.48326725e-01,\n", " -1.76625816e+00, -5.31433741e-02],\n", " [-9.75485750e+00, 4.75280186e+00, 8.39476950e-01,\n", " 3.01500867e-01, -4.40973408e-01],\n", " [-1.45187557e+01, -1.31322258e+00, 2.03221086e+00,\n", " -1.32451424e-01, -1.66915143e-01],\n", " [-3.14043645e+00, 2.08960988e+00, -2.64856433e+00,\n", " -1.05947546e+00, 1.08670215e-01],\n", " [-2.41848499e+00, -2.93778773e+00, 1.60567045e+00,\n", " -3.71661349e-01, -3.68860466e-01],\n", " [-5.39624643e+00, -2.78650548e+00, -7.96373958e-01,\n", " 8.71203171e-02, 3.42192552e-02],\n", " [ 9.03175138e+00, -3.99540833e+00, 7.19350221e-01,\n", " 6.44797069e-01, -9.25451642e-01],\n", " [-3.87383195e-01, 2.50846232e+00, -6.20339394e-01,\n", " 4.37021657e-01, -2.40070349e-01],\n", " [-1.23465666e+01, 5.40987645e+00, 7.10545545e-03,\n", " 2.61358818e-01, -8.31723242e-02],\n", " [-6.15768388e+00, 4.00281722e+00, 4.32244077e+00,\n", " 3.96987427e-01, 3.61861007e-02],\n", " [-7.95901967e+00, -5.31681021e+00, -2.41898993e+00,\n", " -1.24003842e-01, -8.26730689e-01],\n", " [-3.69641483e+00, -3.19961681e-01, -3.58211832e+00,\n", " -8.68289321e-01, -8.96235051e-01],\n", " [-1.59851321e+01, 9.44485635e-01, -9.92286625e-01,\n", " 1.00944493e-01, 4.11253509e-01],\n", " [-6.50381851e+00, 2.11485948e+00, 5.71792593e-01,\n", " 5.15470880e-01, 1.11012862e+00],\n", " [-4.57785184e+00, -8.04600405e+00, -1.71790919e+00,\n", " -1.21159823e+00, 5.62040755e-01],\n", " [-1.84344706e+00, 6.58005177e+00, -4.23692968e+00,\n", " 9.24093289e-01, -1.29501234e+00],\n", " [ 1.20187493e+01, -6.28303760e+00, 2.26307912e+00,\n", " -1.29832748e-01, -8.71748305e-01],\n", " [-9.76423081e+00, 8.19932226e-01, -2.80721078e+00,\n", " -9.95069862e-01, -2.99357828e-01],\n", " [ 1.05379082e+01, 3.91182819e-01, -5.86204808e+00,\n", " 8.03939349e-01, 1.54826914e-01],\n", " [-1.61688621e+01, -2.14455443e+00, -2.55901809e+00,\n", " 3.74065885e-01, 6.34982882e-01],\n", " [ 6.04896241e-02, -5.55027983e+00, 2.77650969e-01,\n", " 1.16791919e+00, 6.62817885e-01],\n", " [ 3.83396405e+01, -2.22394516e+00, -6.50283708e-01,\n", " 3.72016652e-02, -2.78672408e-01],\n", " [ 2.45190186e+00, 1.34737456e+00, -2.24028500e+00,\n", " 1.19043012e+00, 7.35835502e-01],\n", " [ 1.74213252e+01, 2.54992987e+00, 1.99440897e+00,\n", " 3.36681791e+00, -1.40433936e-01]])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pca.transform(X)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-1.28080400e-03, -9.50593693e-04, 8.04474909e-03,\n", " -3.21942507e-04, 3.95670085e-02, 1.26099822e-03,\n", " 7.79032346e-02, 5.70956842e-03, -8.59485398e-02,\n", " 9.92409609e-01],\n", " [-1.11646237e-02, 9.65383661e-03, 8.56736836e-02,\n", " 4.28001111e-03, 9.81124318e-03, -4.91153939e-03,\n", " 2.67357273e-01, -1.11678946e-03, 9.57662014e-01,\n", " 6.08751215e-02]])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Vamos considerar 2 componentes principais\n", "\n", "pca = PCA(n_components=2)\n", "pca.fit(X)\n", "\n", "pca.components_\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-0.001, -0.001, 0.008, -0. , 0.04 , 0.001, 0.078, 0.006,\n", " -0.086, 0.992])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.round(pca.components_[0],3)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "PCA1 = pca.transform(X)[:,0]\n", "PCA2 = pca.transform(X)[:,1]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "df['PCA1'] = PCA1\n", "df['PCA2'] = PCA2\n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
100mLong.jumpShot.putHigh.jump400m110m.hurdleDiscusPole.vaultJaveline1500mRankPointsCompetitionPCA1PCA2
SEBRLE11.047.5814.832.0749.8114.6943.755.0263.19291.718217Decastar12.1268995.319245
CLAY10.767.4014.261.8649.3714.0550.724.9260.15301.528122Decastar22.6340064.818603
KARPOV11.027.3014.772.0448.3714.0948.954.9250.31300.238099Decastar22.016009-5.126563
BERNARD11.027.2314.251.9248.9314.9940.875.3262.77280.148067Decastar0.3896973.376956
YURKOV11.347.0915.192.1050.4215.3146.264.7263.44276.458036Decastar-2.8567465.324504
\n", "
" ], "text/plain": [ " 100m Long.jump Shot.put High.jump 400m 110m.hurdle Discus \\\n", "SEBRLE 11.04 7.58 14.83 2.07 49.81 14.69 43.75 \n", "CLAY 10.76 7.40 14.26 1.86 49.37 14.05 50.72 \n", "KARPOV 11.02 7.30 14.77 2.04 48.37 14.09 48.95 \n", "BERNARD 11.02 7.23 14.25 1.92 48.93 14.99 40.87 \n", "YURKOV 11.34 7.09 15.19 2.10 50.42 15.31 46.26 \n", "\n", " Pole.vault Javeline 1500m Rank Points Competition PCA1 \\\n", "SEBRLE 5.02 63.19 291.7 1 8217 Decastar 12.126899 \n", "CLAY 4.92 60.15 301.5 2 8122 Decastar 22.634006 \n", "KARPOV 4.92 50.31 300.2 3 8099 Decastar 22.016009 \n", "BERNARD 5.32 62.77 280.1 4 8067 Decastar 0.389697 \n", "YURKOV 4.72 63.44 276.4 5 8036 Decastar -2.856746 \n", "\n", " PCA2 \n", "SEBRLE 5.319245 \n", "CLAY 4.818603 \n", "KARPOV -5.126563 \n", "BERNARD 3.376956 \n", "YURKOV 5.324504 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# 4. Proponha uma ordenação dos atletas segundo a primeira componente principal." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
100mLong.jumpShot.putHigh.jump400m110m.hurdleDiscusPole.vaultJaveline1500mRankPointsCompetitionPCA1PCA2
Sebrle10.857.8416.362.1248.3614.0548.725.0070.52280.0118893OlympicG0.23680213.080909
Clay10.447.9615.232.0649.1914.1350.114.9069.71282.0028820OlympicG2.41331112.714501
Parkhomenko11.146.6115.692.0351.0414.8841.904.8065.82277.94207918OlympicG-1.8434476.580052
Barras11.146.9914.911.9449.4114.3744.834.6064.55267.09138067OlympicG-12.3465675.409876
YURKOV11.347.0915.192.1050.4215.3146.264.7263.44276.4058036Decastar-2.8567465.324504
SEBRLE11.047.5814.832.0749.8114.6943.755.0263.19291.7018217Decastar12.1268995.319245
CLAY10.767.4014.261.8649.3714.0550.724.9260.15301.5028122Decastar22.6340064.818603
Zsivoczky10.917.1415.312.1249.4014.9545.624.7063.45269.5468287OlympicG-9.7548574.752802
Smith10.856.8115.241.9149.2714.0149.024.2061.52272.74148023OlympicG-6.1576844.002817
BERNARD11.027.2314.251.9248.9314.9940.875.3262.77280.1048067Decastar0.3896973.376956
Casarsa11.366.6814.921.9453.2015.3948.664.4058.62296.12287404OlympicG17.4213252.549930
Schoenbeck10.907.3014.771.8850.3014.3444.415.0060.89278.82128077OlympicG-0.3873832.508462
Qi11.067.3413.551.9749.6514.7845.134.5060.79272.63187934OlympicG-6.5038192.114859
Nool10.807.5314.261.8848.8114.8042.055.4061.33276.3388235OlympicG-3.1404362.089610
Uldal11.236.9913.531.8550.9515.0943.014.5060.00281.70277495OlympicG2.4519021.347375
Smirnov10.897.0713.881.9449.1114.7742.474.7060.88263.31177993OlympicG-15.9851320.944486
Gomez11.087.2614.571.8548.6114.4140.954.4060.71269.70227865OlympicG-9.7642310.819932
Macey10.897.4715.732.1548.9714.5648.344.4058.46265.4248414OlympicG-13.2189420.488027
Turi11.086.9113.622.0351.6714.2639.834.8059.34290.01237708OlympicG10.5379080.391183
Ojaniemi10.687.5014.971.9449.1215.0140.354.6059.26275.71168006OlympicG-3.696415-0.319962
HERNU11.377.5614.411.8651.1015.0644.994.8257.19285.10107733Decastar6.235938-0.526676
Karpov10.507.8115.932.0946.8113.9751.654.6055.54278.1138725OlympicG-0.199697-0.644892
Hernu10.977.1914.652.0348.7314.2544.724.8057.76264.3578237OlympicG-14.518756-1.313223
McMULLEN10.837.3113.762.1349.9114.3844.414.4256.37285.1087995Decastar6.206619-1.525832
Lorenzo11.107.0313.221.8549.3415.3840.224.5058.36263.08247592OlympicG-16.168862-2.144554
Korkizoglou10.867.0714.811.9451.1614.9646.074.7053.05317.00267573OlympicG38.339641-2.223945
Schwarzl10.987.4914.011.9449.7614.2542.435.1056.32273.56108102OlympicG-5.396246-2.786505
Bernard10.697.4814.802.1249.1314.1744.754.4055.27276.3198225OlympicG-2.418485-2.937788
Warners10.627.7414.481.9747.9714.0143.734.9055.39278.0558343OlympicG-0.827396-3.025570
ZSIVOCZKY11.137.3013.482.0148.6214.1745.674.4255.37268.0078004Decastar-10.633374-3.227161
BARRAS11.336.9714.091.9549.4814.4842.104.7255.40282.00117708Decastar3.020783-3.247480
NOOL11.337.2712.681.9849.2015.2937.924.6257.44266.60127651Decastar-12.785561-3.473269
BOURGUIGNON11.366.8013.461.8651.1615.6740.495.0254.68291.70137313Decastar12.648385-3.822986
Pogorelov10.957.3115.102.0650.7914.2144.605.0053.45287.63118084OlympicG9.031751-3.995408
KARPOV11.027.3014.772.0448.3714.0948.954.9250.31300.2038099Decastar22.016009-5.126563
Averyanov10.557.3414.441.9449.7214.3939.884.8054.51271.02158021OlympicG-7.959020-5.316810
Karlivans11.337.2613.301.9750.5414.9843.344.5052.92278.67257583OlympicG0.060490-5.550280
MARTINEAU11.646.8114.571.9550.1414.9347.604.9252.33262.1097802Decastar-16.004398-5.888292
Terek10.926.9415.151.9449.5615.1245.625.3050.62290.36217893OlympicG12.018749-6.283038
WARNERS11.117.6014.311.9848.6814.2341.104.9251.77278.1068030Decastar-0.644908-7.207893
Drews10.877.3813.071.8848.5114.0140.115.0051.53274.21197926OlympicG-4.577852-8.046004
\n", "
" ], "text/plain": [ " 100m Long.jump Shot.put High.jump 400m 110m.hurdle \\\n", "Sebrle 10.85 7.84 16.36 2.12 48.36 14.05 \n", "Clay 10.44 7.96 15.23 2.06 49.19 14.13 \n", "Parkhomenko 11.14 6.61 15.69 2.03 51.04 14.88 \n", "Barras 11.14 6.99 14.91 1.94 49.41 14.37 \n", "YURKOV 11.34 7.09 15.19 2.10 50.42 15.31 \n", "SEBRLE 11.04 7.58 14.83 2.07 49.81 14.69 \n", "CLAY 10.76 7.40 14.26 1.86 49.37 14.05 \n", "Zsivoczky 10.91 7.14 15.31 2.12 49.40 14.95 \n", "Smith 10.85 6.81 15.24 1.91 49.27 14.01 \n", "BERNARD 11.02 7.23 14.25 1.92 48.93 14.99 \n", "Casarsa 11.36 6.68 14.92 1.94 53.20 15.39 \n", "Schoenbeck 10.90 7.30 14.77 1.88 50.30 14.34 \n", "Qi 11.06 7.34 13.55 1.97 49.65 14.78 \n", "Nool 10.80 7.53 14.26 1.88 48.81 14.80 \n", "Uldal 11.23 6.99 13.53 1.85 50.95 15.09 \n", "Smirnov 10.89 7.07 13.88 1.94 49.11 14.77 \n", "Gomez 11.08 7.26 14.57 1.85 48.61 14.41 \n", "Macey 10.89 7.47 15.73 2.15 48.97 14.56 \n", "Turi 11.08 6.91 13.62 2.03 51.67 14.26 \n", "Ojaniemi 10.68 7.50 14.97 1.94 49.12 15.01 \n", "HERNU 11.37 7.56 14.41 1.86 51.10 15.06 \n", "Karpov 10.50 7.81 15.93 2.09 46.81 13.97 \n", "Hernu 10.97 7.19 14.65 2.03 48.73 14.25 \n", "McMULLEN 10.83 7.31 13.76 2.13 49.91 14.38 \n", "Lorenzo 11.10 7.03 13.22 1.85 49.34 15.38 \n", "Korkizoglou 10.86 7.07 14.81 1.94 51.16 14.96 \n", "Schwarzl 10.98 7.49 14.01 1.94 49.76 14.25 \n", "Bernard 10.69 7.48 14.80 2.12 49.13 14.17 \n", "Warners 10.62 7.74 14.48 1.97 47.97 14.01 \n", "ZSIVOCZKY 11.13 7.30 13.48 2.01 48.62 14.17 \n", "BARRAS 11.33 6.97 14.09 1.95 49.48 14.48 \n", "NOOL 11.33 7.27 12.68 1.98 49.20 15.29 \n", "BOURGUIGNON 11.36 6.80 13.46 1.86 51.16 15.67 \n", "Pogorelov 10.95 7.31 15.10 2.06 50.79 14.21 \n", "KARPOV 11.02 7.30 14.77 2.04 48.37 14.09 \n", "Averyanov 10.55 7.34 14.44 1.94 49.72 14.39 \n", "Karlivans 11.33 7.26 13.30 1.97 50.54 14.98 \n", "MARTINEAU 11.64 6.81 14.57 1.95 50.14 14.93 \n", "Terek 10.92 6.94 15.15 1.94 49.56 15.12 \n", "WARNERS 11.11 7.60 14.31 1.98 48.68 14.23 \n", "Drews 10.87 7.38 13.07 1.88 48.51 14.01 \n", "\n", " Discus Pole.vault Javeline 1500m Rank Points Competition \\\n", "Sebrle 48.72 5.00 70.52 280.01 1 8893 OlympicG \n", "Clay 50.11 4.90 69.71 282.00 2 8820 OlympicG \n", "Parkhomenko 41.90 4.80 65.82 277.94 20 7918 OlympicG \n", "Barras 44.83 4.60 64.55 267.09 13 8067 OlympicG \n", "YURKOV 46.26 4.72 63.44 276.40 5 8036 Decastar \n", "SEBRLE 43.75 5.02 63.19 291.70 1 8217 Decastar \n", "CLAY 50.72 4.92 60.15 301.50 2 8122 Decastar \n", "Zsivoczky 45.62 4.70 63.45 269.54 6 8287 OlympicG \n", "Smith 49.02 4.20 61.52 272.74 14 8023 OlympicG \n", "BERNARD 40.87 5.32 62.77 280.10 4 8067 Decastar \n", "Casarsa 48.66 4.40 58.62 296.12 28 7404 OlympicG \n", "Schoenbeck 44.41 5.00 60.89 278.82 12 8077 OlympicG \n", "Qi 45.13 4.50 60.79 272.63 18 7934 OlympicG \n", "Nool 42.05 5.40 61.33 276.33 8 8235 OlympicG \n", "Uldal 43.01 4.50 60.00 281.70 27 7495 OlympicG \n", "Smirnov 42.47 4.70 60.88 263.31 17 7993 OlympicG \n", "Gomez 40.95 4.40 60.71 269.70 22 7865 OlympicG \n", "Macey 48.34 4.40 58.46 265.42 4 8414 OlympicG \n", "Turi 39.83 4.80 59.34 290.01 23 7708 OlympicG \n", "Ojaniemi 40.35 4.60 59.26 275.71 16 8006 OlympicG \n", "HERNU 44.99 4.82 57.19 285.10 10 7733 Decastar \n", "Karpov 51.65 4.60 55.54 278.11 3 8725 OlympicG \n", "Hernu 44.72 4.80 57.76 264.35 7 8237 OlympicG \n", "McMULLEN 44.41 4.42 56.37 285.10 8 7995 Decastar \n", "Lorenzo 40.22 4.50 58.36 263.08 24 7592 OlympicG \n", "Korkizoglou 46.07 4.70 53.05 317.00 26 7573 OlympicG \n", "Schwarzl 42.43 5.10 56.32 273.56 10 8102 OlympicG \n", "Bernard 44.75 4.40 55.27 276.31 9 8225 OlympicG \n", "Warners 43.73 4.90 55.39 278.05 5 8343 OlympicG \n", "ZSIVOCZKY 45.67 4.42 55.37 268.00 7 8004 Decastar \n", "BARRAS 42.10 4.72 55.40 282.00 11 7708 Decastar \n", "NOOL 37.92 4.62 57.44 266.60 12 7651 Decastar \n", "BOURGUIGNON 40.49 5.02 54.68 291.70 13 7313 Decastar \n", "Pogorelov 44.60 5.00 53.45 287.63 11 8084 OlympicG \n", "KARPOV 48.95 4.92 50.31 300.20 3 8099 Decastar \n", "Averyanov 39.88 4.80 54.51 271.02 15 8021 OlympicG \n", "Karlivans 43.34 4.50 52.92 278.67 25 7583 OlympicG \n", "MARTINEAU 47.60 4.92 52.33 262.10 9 7802 Decastar \n", "Terek 45.62 5.30 50.62 290.36 21 7893 OlympicG \n", "WARNERS 41.10 4.92 51.77 278.10 6 8030 Decastar \n", "Drews 40.11 5.00 51.53 274.21 19 7926 OlympicG \n", "\n", " PCA1 PCA2 \n", "Sebrle 0.236802 13.080909 \n", "Clay 2.413311 12.714501 \n", "Parkhomenko -1.843447 6.580052 \n", "Barras -12.346567 5.409876 \n", "YURKOV -2.856746 5.324504 \n", "SEBRLE 12.126899 5.319245 \n", "CLAY 22.634006 4.818603 \n", "Zsivoczky -9.754857 4.752802 \n", "Smith -6.157684 4.002817 \n", "BERNARD 0.389697 3.376956 \n", "Casarsa 17.421325 2.549930 \n", "Schoenbeck -0.387383 2.508462 \n", "Qi -6.503819 2.114859 \n", "Nool -3.140436 2.089610 \n", "Uldal 2.451902 1.347375 \n", "Smirnov -15.985132 0.944486 \n", "Gomez -9.764231 0.819932 \n", "Macey -13.218942 0.488027 \n", "Turi 10.537908 0.391183 \n", "Ojaniemi -3.696415 -0.319962 \n", "HERNU 6.235938 -0.526676 \n", "Karpov -0.199697 -0.644892 \n", "Hernu -14.518756 -1.313223 \n", "McMULLEN 6.206619 -1.525832 \n", "Lorenzo -16.168862 -2.144554 \n", "Korkizoglou 38.339641 -2.223945 \n", "Schwarzl -5.396246 -2.786505 \n", "Bernard -2.418485 -2.937788 \n", "Warners -0.827396 -3.025570 \n", "ZSIVOCZKY -10.633374 -3.227161 \n", "BARRAS 3.020783 -3.247480 \n", "NOOL -12.785561 -3.473269 \n", "BOURGUIGNON 12.648385 -3.822986 \n", "Pogorelov 9.031751 -3.995408 \n", "KARPOV 22.016009 -5.126563 \n", "Averyanov -7.959020 -5.316810 \n", "Karlivans 0.060490 -5.550280 \n", "MARTINEAU -16.004398 -5.888292 \n", "Terek 12.018749 -6.283038 \n", "WARNERS -0.644908 -7.207893 \n", "Drews -4.577852 -8.046004 " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sort_values(by='PCA2',ascending=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercício: Refazer a análise com a matriz de correlações e comparar os resultados" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exemplo: Substâncias\n", "\n", "Estudos mostram que grande parte de adultos e adolescentes norte-americanos usam regularmente substâncias psicoativas. Em um destes estudos (Huba et al. 1981, J. of Personality and Social Psychology), dados foram coletados de 1634 estudantes na área\n", "metropolitana de Los Angeles. Cada participante completou um questionário informando o número de vezes que cada item foi usado. Os itens são os seguintes: cigarro, cerveja, vinho, licor, cocaína, tranquilizantes, medicamentos, heroína, maconha, haxixe, inalantes, alucinógenos e anfetaminas.\n", "\n", "\n", "As respostas foram registradas em uma escala de cinco pontos: 1. nunca experimentei, 2. apenas uma vez, 3. poucas vezes, 4. muitas vezes e 5. regularmente.\n", "\n", "A matriz de correlações das respostas encontra-se no arquivo Substancias.txt.\n", "\n", "\n", "Foram obtidas as componentes principais a matriz de correlações dos dados. Como propor um 'índice de utilização de substâncias psicoativas'?\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# Uma opção para a leitura dos dados\n", "\n", "textfile = open(\"/home/cibele/CibelePython/AMANS/Aula 7/Substancias.txt\")\n", "\n", "R = []\n", "\n", "for line in textfile:\n", " row_R = line.strip(\"\\n\").split()\n", " for i, item in enumerate(row_R):\n", " try:\n", " row_R[i] = float(item)\n", " except ValueError:\n", " pass\n", " R.append(row_R)\n", " \n", "textfile.close()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[1.0,\n", " 0.447,\n", " 0.422,\n", " 0.435,\n", " 0.114,\n", " 0.203,\n", " 0.091,\n", " 0.082,\n", " 0.513,\n", " 0.304,\n", " 0.245,\n", " 0.101,\n", " 0.245],\n", " [0.447,\n", " 1.0,\n", " 0.619,\n", " 0.604,\n", " 0.068,\n", " 0.146,\n", " 0.103,\n", " 0.063,\n", " 0.445,\n", " 0.318,\n", " 0.203,\n", " 0.088,\n", " 0.199],\n", " [0.422,\n", " 0.619,\n", " 1.0,\n", " 0.583,\n", " 0.054,\n", " 0.139,\n", " 0.11,\n", " 0.066,\n", " 0.365,\n", " 0.249,\n", " 0.183,\n", " 0.074,\n", " 0.184],\n", " [0.435,\n", " 0.604,\n", " 0.583,\n", " 1.0,\n", " 0.115,\n", " 0.258,\n", " 0.122,\n", " 0.097,\n", " 0.482,\n", " 0.368,\n", " 0.255,\n", " 0.139,\n", " 0.293],\n", " [0.114,\n", " 0.068,\n", " 0.054,\n", " 0.115,\n", " 1.0,\n", " 0.349,\n", " 0.209,\n", " 0.321,\n", " 0.186,\n", " 0.303,\n", " 0.272,\n", " 0.279,\n", " 0.278],\n", " [0.203,\n", " 0.146,\n", " 0.139,\n", " 0.258,\n", " 0.349,\n", " 1.0,\n", " 0.221,\n", " 0.355,\n", " 0.315,\n", " 0.377,\n", " 0.323,\n", " 0.367,\n", " 0.545],\n", " [0.091,\n", " 0.103,\n", " 0.11,\n", " 0.122,\n", " 0.209,\n", " 0.221,\n", " 1.0,\n", " 0.201,\n", " 0.159,\n", " 0.163,\n", " 0.31,\n", " 0.232,\n", " 0.232],\n", " [0.082,\n", " 0.063,\n", " 0.066,\n", " 0.097,\n", " 0.321,\n", " 0.355,\n", " 0.201,\n", " 1.0,\n", " 0.154,\n", " 0.219,\n", " 0.288,\n", " 0.32,\n", " 0.314],\n", " [0.513,\n", " 0.445,\n", " 0.365,\n", " 0.482,\n", " 0.186,\n", " 0.315,\n", " 0.159,\n", " 0.154,\n", " 1.0,\n", " 0.534,\n", " 0.301,\n", " 0.204,\n", " 0.394],\n", " [0.304,\n", " 0.318,\n", " 0.249,\n", " 0.368,\n", " 0.303,\n", " 0.377,\n", " 0.163,\n", " 0.219,\n", " 0.534,\n", " 1.0,\n", " 0.302,\n", " 0.368,\n", " 0.467],\n", " [0.245,\n", " 0.203,\n", " 0.183,\n", " 0.255,\n", " 0.272,\n", " 0.323,\n", " 0.31,\n", " 0.288,\n", " 0.301,\n", " 0.302,\n", " 1.0,\n", " 0.304,\n", " 0.392],\n", " [0.101,\n", " 0.088,\n", " 0.074,\n", " 0.139,\n", " 0.279,\n", " 0.367,\n", " 0.232,\n", " 0.32,\n", " 0.204,\n", " 0.368,\n", " 0.304,\n", " 1.0,\n", " 0.511],\n", " [0.245,\n", " 0.199,\n", " 0.184,\n", " 0.293,\n", " 0.278,\n", " 0.545,\n", " 0.232,\n", " 0.314,\n", " 0.394,\n", " 0.467,\n", " 0.392,\n", " 0.511,\n", " 1.0]]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "R" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([4.37950771, 2.04056592, 0.95143481, 0.81458276, 0.76828587,\n", " 0.36018552, 0.37471813, 0.40310222, 0.39240901, 0.69368066,\n", " 0.5703302 , 0.62088719, 0.63030999]),\n", " array([[ 0.2785956 , -0.27915038, -0.05146505, -0.01073321, 0.33746729,\n", " 0.23060635, -0.18204095, -0.1506686 , -0.13847683, -0.39202283,\n", " -0.64328589, -0.12551078, -0.12792532],\n", " [ 0.28642413, -0.39618604, 0.12022106, -0.1088684 , -0.19108664,\n", " 0.4093466 , 0.70169366, -0.04047289, -0.05508532, 0.14219592,\n", " 0.05540328, -0.02205357, 0.09895279],\n", " [ 0.26628103, -0.39124376, 0.20128247, -0.15208159, -0.31886983,\n", " -0.52914243, -0.20507939, -0.46177149, 0.19889674, 0.14483419,\n", " -0.0762602 , 0.07944937, 0.05248299],\n", " [ 0.31819142, -0.32406998, 0.04536744, -0.06956013, -0.18579444,\n", " 0.18947654, -0.50192103, 0.6061766 , -0.15415181, 0.12395599,\n", " 0.17358025, 0.16639939, -0.00967491],\n", " [ 0.20813234, 0.29028226, 0.067506 , -0.57291186, 0.43275724,\n", " -0.00136202, 0.0205114 , 0.08524309, 0.16170004, 0.42989224,\n", " -0.21090744, 0.20758639, 0.21479289],\n", " [ 0.29281564, 0.26184009, -0.16929966, -0.07601164, -0.11073311,\n", " -0.15056866, 0.16580275, -0.10876499, -0.42230918, -0.04771326,\n", " 0.03159159, 0.48712322, -0.56400076],\n", " [ 0.17679712, 0.18941354, 0.72645486, 0.37531186, 0.15542622,\n", " 0.06063694, -0.0378962 , -0.008079 , 0.00112939, 0.27841122,\n", " -0.01700342, -0.19927213, -0.34266824],\n", " [ 0.20142516, 0.31781071, 0.14998306, -0.53830398, -0.29088741,\n", " 0.05610753, -0.05337749, 0.01829898, 0.04498234, -0.38161153,\n", " 0.17300833, -0.51058135, -0.1301332 ],\n", " [ 0.33995935, -0.1611473 , -0.21443834, 0.13138444, 0.36898737,\n", " -0.5202717 , 0.28689531, 0.37372016, 0.19890291, -0.10666709,\n", " 0.17008027, -0.26345922, -0.13086339],\n", " [ 0.32949938, 0.0507261 , -0.34731516, 0.12648637, 0.23212172,\n", " 0.19416453, -0.23598363, -0.44643419, -0.23475314, 0.2639969 ,\n", " 0.427404 , -0.28332814, 0.13381283],\n", " [ 0.27385877, 0.1625199 , 0.33300062, 0.16118113, 0.14472644,\n", " -0.05762312, 0.03047161, -0.05158461, -0.09597501, -0.50707816,\n", " 0.23112699, 0.35538565, 0.53647564],\n", " [ 0.2455858 , 0.32752121, -0.14873856, 0.25960891, -0.38931496,\n", " -0.18899108, 0.07838416, 0.17880428, -0.2857182 , 0.19624985,\n", " -0.45019854, -0.2367015 , 0.37234862],\n", " [ 0.3284079 , 0.23471055, -0.23927013, 0.26228284, -0.20626847,\n", " 0.29401491, -0.05690767, -0.04335229, 0.72279524, -0.0530833 ,\n", " -0.06137722, 0.19225958, -0.10452593]]))" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Autovalores\n", "\n", "np.linalg.eig(R)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0.2785956 , -0.27915038, -0.05146505, -0.01073321, 0.33746729,\n", " 0.23060635, -0.18204095, -0.1506686 , -0.13847683, -0.39202283,\n", " -0.64328589, -0.12551078, -0.12792532],\n", " [ 0.28642413, -0.39618604, 0.12022106, -0.1088684 , -0.19108664,\n", " 0.4093466 , 0.70169366, -0.04047289, -0.05508532, 0.14219592,\n", " 0.05540328, -0.02205357, 0.09895279],\n", " [ 0.26628103, -0.39124376, 0.20128247, -0.15208159, -0.31886983,\n", " -0.52914243, -0.20507939, -0.46177149, 0.19889674, 0.14483419,\n", " -0.0762602 , 0.07944937, 0.05248299],\n", " [ 0.31819142, -0.32406998, 0.04536744, -0.06956013, -0.18579444,\n", " 0.18947654, -0.50192103, 0.6061766 , -0.15415181, 0.12395599,\n", " 0.17358025, 0.16639939, -0.00967491],\n", " [ 0.20813234, 0.29028226, 0.067506 , -0.57291186, 0.43275724,\n", " -0.00136202, 0.0205114 , 0.08524309, 0.16170004, 0.42989224,\n", " -0.21090744, 0.20758639, 0.21479289],\n", " [ 0.29281564, 0.26184009, -0.16929966, -0.07601164, -0.11073311,\n", " -0.15056866, 0.16580275, -0.10876499, -0.42230918, -0.04771326,\n", " 0.03159159, 0.48712322, -0.56400076],\n", " [ 0.17679712, 0.18941354, 0.72645486, 0.37531186, 0.15542622,\n", " 0.06063694, -0.0378962 , -0.008079 , 0.00112939, 0.27841122,\n", " -0.01700342, -0.19927213, -0.34266824],\n", " [ 0.20142516, 0.31781071, 0.14998306, -0.53830398, -0.29088741,\n", " 0.05610753, -0.05337749, 0.01829898, 0.04498234, -0.38161153,\n", " 0.17300833, -0.51058135, -0.1301332 ],\n", " [ 0.33995935, -0.1611473 , -0.21443834, 0.13138444, 0.36898737,\n", " -0.5202717 , 0.28689531, 0.37372016, 0.19890291, -0.10666709,\n", " 0.17008027, -0.26345922, -0.13086339],\n", " [ 0.32949938, 0.0507261 , -0.34731516, 0.12648637, 0.23212172,\n", " 0.19416453, -0.23598363, -0.44643419, -0.23475314, 0.2639969 ,\n", " 0.427404 , -0.28332814, 0.13381283],\n", " [ 0.27385877, 0.1625199 , 0.33300062, 0.16118113, 0.14472644,\n", " -0.05762312, 0.03047161, -0.05158461, -0.09597501, -0.50707816,\n", " 0.23112699, 0.35538565, 0.53647564],\n", " [ 0.2455858 , 0.32752121, -0.14873856, 0.25960891, -0.38931496,\n", " -0.18899108, 0.07838416, 0.17880428, -0.2857182 , 0.19624985,\n", " -0.45019854, -0.2367015 , 0.37234862],\n", " [ 0.3284079 , 0.23471055, -0.23927013, 0.26228284, -0.20626847,\n", " 0.29401491, -0.05690767, -0.04335229, 0.72279524, -0.0530833 ,\n", " -0.06137722, 0.19225958, -0.10452593]])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Autovetores\n", "\n", "np.linalg.eig(R)[1]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.2785956 , -0.27915038, -0.05146505, -0.01073321, 0.33746729,\n", " 0.23060635, -0.18204095, -0.1506686 , -0.13847683, -0.39202283,\n", " -0.64328589, -0.12551078, -0.12792532])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.eig(R)[1][0,:]" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "# Exercício: verifique se a matrix O de autovetores é ortogonal." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.28, -0.28, -0.05, -0.01, 0.34, 0.23, -0.18, -0.15, -0.14,\n", " -0.39, -0.64, -0.13, -0.13])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.round(np.linalg.eig(R)[1][0,:],2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Índice de utilização de substâncias:\n", "\n", "Índice = 0.28 * cigarro -0.28 * cerveja -0.05 * vinho -0.01 * licor + 0.34 * cocaína + 0.23 * tranquilizantes -0.18 * medicamentos- 0.15 * heroína -0.14 * maconha - 0.39 * haxixe -0.64* inalantes -0.13* alucinógenos -0.13 * anfetaminas \n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }