Home › Forums › Fórum Estatística para Ciência de Dados e Machine Learning › Correção do Exercício
- This topic has 1 reply, 2 voices, and was last updated 3 years ago by Denny Ceccon. 
- AuthorPosts
- 14 de outubro de 2022 at 16:47 #37558Olá, pessoal! Acredito que a execução do código 
 np.var(X[0]), np.var(X[1]), np.var(X[2])
 a fim de se obter a Variância dos atributos está errado, pois ao executar o código X[1], por exemplo, encontra-se o seguinte resultado: [0.28812165, 0.86378597, 0.47682695].
 Ou seja, são os valores da segunda linha do array criado com a transformação de X (X = scaler.fit_transform(X)).Para encontrarmos a Variância correta das 3 colunas, a solução que encontrei foi criar um Data Frame: 
 X_df = pd.DataFrame(X)Após a criação de X_df, entrei com o código: 
 np.var(X_df[0]), np.var(X_df[1]), np.var(X_df[2])Desta forma, o 0, o 1 e o 2 são realmente as colunas 0, 1 e 2, selecionando assim todos os valores de cada coluna e calculando sua Variância. O resultado foi: 
 (0.08210439343522112, 0.013694697910033598, 0.04897070767524544)Onde 0.08210439343522112 é a Variância do atributo Income, 0.013694697910033598 do atributo Age e 0.04897070767524544 do atributo Loan. Diferente do resultado apresentado na aula, que é a Variância entre os dados Income, Age e Loan da linha informada. Para ter a certeza, fiz o seguinte teste: 
 test = [0.28812165, 0.86378597, 0.47682695] # (Valor retirado quando escrevemos o código X[1])
 np.var(test)E obtive o resultado: 0.057415153636501425, praticamente o mesmo da aula. Por fim, para chegar ao threshold “ideal” eu peguei a média entre as 3 Variâncias, ficando de fora o atributo Age, e não o atributo Income. O resultado final é o mesmo, mas talvez esse detalhe na execução poderia comprometer o resultado caso houvesse mais atributos. Por favor, corrijam-me se eu estiver errado. 17 de outubro de 2022 at 15:19 #37582Olá Daniel, Você está certo, o código apresentado na aula retorna a variância das 3 primeiras instâncias (linhas de X), não dos 3 atributos. O resultado correto poderia ser obtido também comnp.var(X[:, 0]), np.var(X[:, 1]), np.var(X[:, 2]), ou ainda comnp.var(X, axis=1), que calcula a variância ao longo das colunas do array.Obrigado pela correção! 
- AuthorPosts
- You must be logged in to reply to this topic.