Menu
CoddyTech

Correlação

Parte da seção Estatística para ML do Journey de Machine Learning da Coddy. Lição 30 de 64.

Uma característica que se move junto com o alvo ajuda um modelo a prevê-lo. A correlação r mede o quanto duas colunas seguem uma linha reta, de -1 a 1:

Seis pequenos gráficos de dispersão identificados com seus valores de r: -0.9 e -0.5 descem, 0.0 é uma nuvem sem forma, 0.5 e 0.9 sobem, e 1.0 é uma linha ascendente perfeita

Seis semanas de anúncios e vendas de uma loja: np.corrcoef retorna uma tabela 2 por 2, cada array em relação ao outro, com r em [0, 1]. O .corr de uma coluna retorna esse valor diretamente:

ads = np.array([100, 200, 150, 300, 250, 50])
sales = np.array([430, 520, 560, 760, 610, 410])
print(np.round(np.corrcoef(ads, sales), 2))
shop = pd.DataFrame({"ads": ads, "sales": sales})
print(np.round(shop["ads"].corr(shop["sales"]), 2))

Isso imprime:

[[1.   0.94]
 [0.94 1.  ]]
0.94

Com 0,94, as semanas com mais anúncios claramente venderam mais.

challenge icon

Desafio

Médio

Uma academia acompanhou 20 membros durante três meses em gym.csv, com as colunas visits, classes, minutes_per_visit, age e weight_change_kg. O programa lê dois nomes de colunas.

  1. Imprima os dois nomes e seus valores de r, arredondados para 2 casas decimais, como abaixo.
  2. Imprima Direction: positive quando r for maior que 0.3, negative quando for menor que -0.3 e none nos demais casos.

Para as laps e os minutes de um clube de natação:

laps and minutes: r = 0.95
Direction: positive

Experimente você mesmo

import numpy as np
import pandas as pd

gym = pd.read_csv("gym.csv")
first = input()
second = input()

# Escreva seu código abaixo
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Estatística para ML

Pratique por conta própria: Compilador de Python online