Nesta parte do módulo, há conceitos não explicados.
"Para fazermos essa distribuição, criaremos três variáveis. A primeira delas é total_matriculas, que será inicializada como um array vazio. Em seguida, criaremos uma variável x que receberá a chamada de np.random.rand(20), uma maneira de calcularmos randomicamente os 20 cursos que temos no dataframe. Por fim, teremos uma variável prob (de probabilidade) que receberá a divisão de x por sum(x) (a soma de x).
todas_matriculas = [] x = np.random.rand(20) prob = x / sum(x)"
Quero adiantar, a título de antecipação, que já olhei todo o histórico do Fórum, neste módulo aqui. Percebi que várias pessoas tiveram a mesma dúvida, e apontaram a falta de explicações suficientes no vídeo. Também li todas as respostas aos tópicos, incusive a de um rapaz que pede que seja explicado como se fosse para uma criança. Mesmo assim, continuei sem entender. Então vou precisar de uma explicação mais detalhada, com exemplos.
Tudo bem, entendi a linha: todas_matriculas = [] No entanto, nas variáveis seguintes, voei. Então eu executei passo a passo pra ver se fazia sentido. O np.random.rand eu sabia o que faz. Retorna uma lista de 20 números entre 0 e 1.
x = np.random.rand(20)
array([0.57134844, 0.88137217, 0.38360506, 0.09179092, 0.94089174, 0.64386469, 0.71917051, 0.63825275, 0.22069572, 0.54751514, 0.38125112, 0.58614196, 0.55084518, 0.89566256, 0.37223224, 0.75574899, 0.36789709, 0.13191856, 0.66759442, 0.34187834])
E quando eu fiz:
prob = x / sum(x) prob
O resultado foi este:
array([0.05344861, 0.08245077, 0.03588556, 0.00858687, 0.08801872, 0.06023238, 0.0672771 , 0.05970739, 0.02064569, 0.05121905, 0.03566535, 0.05483252, 0.05153057, 0.08378761, 0.03482165, 0.07069895, 0.03441611, 0.01234074, 0.06245225, 0.0319821 ])
Busquei a sintaxe de sum() e sua função:
sum (iterable, start)iterable: iterable pode ser qualquer lista, tuplas ou dicionários, mas o mais importante, devem ser números. início : este início é adicionado à soma de números no iterável. Se start não for fornecido na sintaxe, será considerado 0.
Em nosso exemplo, start é 0, então (x / sum(x)) é uma lista, onde os itens da lista são divididos pela soma dos itens da lista, que é igual a 10,6896776634. Mas não sei qual o sentido disso? Pra que dividir cada item da lista pela soma dos itens?
Esta parte do vídeo ficou meio "jogada", sem explicar o motivo de estar criando estas variáveis x e prob. Por gentileza, explicar porque usar o comando np.random.rand(20), gerando a lista de números entre 0 e 1? Por gentileza, explicar para que serve a fórmula "prob = x/sum(x)", e porque foi utilizada aqui? Tem fundamentos de estatística que eu deva saber antes de estudar esse módulo? Muito obrigada pela paciência.