{0.7: 48000.0,
1.9: 48000.0,
2.5: 60000.0,
4.2: 63000.0,
6: 76000.0,
6.5: 69000.0,
7.5: 76000.0,
8.1: 88000.0,
8.7: 83000.0,
10: 83000.0}
Talvez fosse mais proveitoso agrupar os casos:
def tenure_bucket(tenure):
if tenure < 2:
return "less than two"
elif tenure < 5:
return "between two and five"
else:
return "more than five"
Então, o grupo junta os salários correspondentes para cada agrupamento:
# as chaves são agrupamentos dos casos, os valores são as listas
# dos salários para aquele agrupamento
salary_by_tenure_bucket = defaultdict(list)
for salary, tenure in salaries_and_tenures:
bucket = tenure_bucket(tenure)
salary_by_tenure_bucket[bucket].append(salary)
E,
finalmente, computar a média salarial para cada grupo:
# as chaves são agrupamentos dos casos, os valores são
# a média salarial para aquele agrupamento
average_salary_by_bucket = {
tenure_bucket : sum(salaries) / len(salaries)
for tenure_bucket, salaries in salary_by_tenure_bucket.iteritems()
}
que é mais interessante:
{'between two and five': 61500.0,
'less than two': 48000.0,
'more than five': 79166.66666666667}
E você tem um clichê: “os cientistas de dados
com mais de cinco anos de
experiência recebem 65% a mais do que os que possuem pouca ou nenhuma
experiência!”
No entanto, nós escolhemos os casos de forma aleatória. O que realmente
queríamos fazer era organizar um tipo de afirmação sobre o efeito do salário —
em média — de ter um ano adicional de experiência. Além
de tornar o fato mais
intrigante, ainda permite que
façamos previsões sobre salários que não
conhecemos. Exploraremos mais essa ideia no Capítulo 14.
Contas Pagas
Ao voltar para a sua mesa, a vice-presidente da Receita está esperando por você.
Ela quer entender melhor quais são os usuários
que pagam por contas e quais
que não pagam (ela sabe seus nomes, mas essa informação não é essencial).
Você percebe que parece haver uma correspondência entre os anos de
experiência e as contas pagas:
0.7 paid
1.9 unpaid
2.5 paid
4.2 unpaid
6 unpaid
6.5 unpaid
7.5 unpaid
8.1 unpaid
8.7 paid
10 paid
Os usuários com poucos e muitos anos de experiência
tendem a pagar; os
usuários com uma quantidade mediana de experiência não.
Logo, se você quisesse criar um modelo — apesar de não haver dados o
suficiente para servir de base para um — você talvez tentasse prever “paid” para
os usuários com poucos e muitos anos de experiência, e “unpaid” para os
usuários com quantidade mediana de experiência:
Compartilhe com seus amigos: